Solved

Checking & Validating Excel Formulas

Posted on 2012-03-15
9
256 Views
Last Modified: 2012-03-15
Hello Experts,

I need to establish some validation and checking rules for formulas in an Excel sheet.

Specifically, I need to check that the row number in a given formula is the same as the actual row of the cell containing the formula, and be able to raise a flag if not.

So what I really need is a way (or perhaps a function) for reading the row refered to in the formula

For example, applying this function on below formula will give me 16

=SUM(Sheet2!H16:J16)

Assuming the function is called GetRowNumber() and the formula is in Cell B16, I need to place a checking formula on the same row like this:

=If(GetRowNumber(B16) <> ActiveCell.Row(), "Mismatch Row in formula", "Formula is OK")

The above is my suggested way for validating my formulas, please feel free to offer a better approach or best practice (if you will)

Thank you,
Hani
0
Comment
Question by:Mehawitchi
  • 5
  • 4
9 Comments
 
LVL 24

Expert Comment

by:StephenJR
ID: 37724323
Do your formulas vary? Or are all they of the form SUM(A1:B1)?
0
 

Author Comment

by:Mehawitchi
ID: 37724415
Thank you Stephen for your query.

Below are 3 samples of the actual formulas:
=SUM(Corporate:Panorama!D57)
=SUM(Corporate:Panorama!E57)
=SUM(Corporate:Panorama!F65)

As you can see, only the column and row references vary, but the part "SUM(Corporate:Panorama!" is fixed.

Hope this helps.

Thanks again,
Hani
0
 
LVL 24

Expert Comment

by:StephenJR
ID: 37724442
Hani - try this:
Function GetRowNumber(rIn As Range) As String

Dim s As String

s = rIn.Formula

With CreateObject("VBScript.RegExp")
    .Global = True
    .IgnoreCase = False
    .Pattern = "([A-Z]+)(\d+)"
    If CLng(.Execute(s)(0).Submatches(1)) = Application.Caller.Row Then
        GetRowNumber = "OK"
    Else
        GetRowNumber = "Wrong"
    End If
End With

End Function

Open in new window

So you would type =GetRowNumber(B16) in a cell etc.
0
Netscaler Common Configuration How To guides

If you use NetScaler you will want to see these guides. The NetScaler How To Guides show administrators how to get NetScaler up and configured by providing instructions for common scenarios and some not so common ones.

 

Author Comment

by:Mehawitchi
ID: 37724573
Hi Stephen,

I don't think the function is working properly. The result is always "Wrong"  whether or not the formula is right.

I tried executing the "CLng(.Execute(s)(0).Submatches(1))" statement in the debugger's Immediate window but I'm getting a compilers error

Did it work at your end?
0
 
LVL 24

Expert Comment

by:StephenJR
ID: 37724592
Yes worked for me. Can you post a small workbook?
0
 

Author Comment

by:Mehawitchi
ID: 37724638
Please check column "P" in "Total" sheet
Sample-File.xlsm
0
 
LVL 24

Accepted Solution

by:
StephenJR earned 500 total points
ID: 37724669
Try just changing line 10 to
.Pattern = "(\![A-Z]+)(\d+)"

Open in new window

0
 

Author Closing Comment

by:Mehawitchi
ID: 37724740
Thank you Stephan - It worked perfectly
0
 
LVL 24

Expert Comment

by:StephenJR
ID: 37724747
My pleasure.
0

Featured Post

PRTG Network Monitor: Intuitive Network Monitoring

Network Monitoring is essential to ensure that computer systems and network devices are running. Use PRTG to monitor LANs, servers, websites, applications and devices, bandwidth, virtual environments, remote systems, IoT, and many more. PRTG is easy to set up & use.

Question has a verified solution.

If you are experiencing a similar issue, please ask a related question

Introduction While answering a recent question (http:/Q_27311462.html), I created an alternative function to the Excel Concatenate() function that you might find useful.  I tested several solutions and share the results in this article as well as t…
How to quickly and accurately populate Word documents with Excel data, charts and images (including Automated Bookmark generation) David Miller (dlmille) Synopsis In this article you’ll learn how to use ExcelToWord! to copy data,charts, shapes …
This Micro Tutorial demonstrates how to create Excel charts: column, area, line, bar, and scatter charts. Formatting tips are provided as well.
Many functions in Excel can make decisions. The most simple of these is the IF function: it returns a value depending on whether a condition you describe is true or false. Once you get the hang of using the IF function, you will find it easier to us…

803 members asked questions and received personalized solutions in the past 7 days.

Join the community of 500,000 technology professionals and ask your questions.

Join & Ask a Question