Welcome toExcel.Tips.Net
Tips.Net Home
ExcelTips Home
Ask an Excel Question
Make a Comment
ExcelTips FAQ
ExcelTips Premium
Learn Access Now
Free Printable Forms
Beauty Tips
Car Tips
Cleaning Tips
College Tips
Cooking Tips
Excel2007 Tips
ExcelTips
Family Tips
Gardening Tips
Health Tips
Home Tips
Legal Tips
Money Tips
Organizing Tips
Pest Tips
Pet Tips
Wedding Tips
Word2007 Tips
WordTips
Advertise on the
ExcelTips Site
Adding a Little Animation to Your Life
Converting a Range of URLs to Hyperlinks
Making the Formula Bar Persistent
Blair has a worksheet divided into two areas: data entry and data verification. The data verification area consists of formulas that check entries using IF statements. If a problem is located, a text message is displayed in a cell in the verification area, otherwise the formula returns a blank. The following is a typical verification formula:
=IF(A1<>5,"Value in A1 is not 5")
The problem is that the data verification area can be quite large, which means it is easy to miss one of the text messages. Blair wondered if there was a way to create a formula that examined the data verification area and returned a single message if there were any other messages in the area.
There are a number of different ways that this problem can be approached. If the data verification area is contiguous, then a simple array formula will do the trick. Enter the following in any empty cell on the worksheet:
=SUM((LEN(ValRange)>0)*1)
Make sure that ValRange is replaced with the range of cells in the data validation area. Also, make sure you enter the formula by pressing Shift+Ctrl+Enter (to denote it is an array formula). The formula returns a value that indicates how many cells in the range have a length that is greater than 0. In other words, it counts the number of cells that have messages visible.
If you prefer to not use an array formula, you can accomplish the same result by using the following regular formula:
=SUMPRODUCT((LEN(ValRange)>0)*1)
The result, again, is the number of cells that have a length greater than 0. Another approach is to use some of the COUNT functions provided by Excel:
=COUNTA(ValRange) - COUNTBLANK(ValRange)
This formula counts the number of cells in the range, and then subtracts the number of blank cells in the range. The result is the number of cells that are non-blank, or those that are displaying messages. A different formulaic approach can be used to determine a simple yes/no response:
=IF(COUNTIF(ValRange,"?*"),"","No ") & "Verification Messages"
If there are no messages in the ValRange, the formula returns "No Verification Messages." If there are messages, it strips the "No" and simply returns "Verification Messages."
It would also be a good idea to apply conditional formatting to your data verification area. While the formulas discussed so far will tell you if there are messages, it won't highlight where those messages are—conditional formatting can pinpoint each message. Select all the cells in the area that contain formulas, and then use conditional formatting to check the length of those cells. If the length is greater than 0, the cell could be formatted to show a red background. This will make any messages in the data verification area much harder to miss when scrolling through the worksheet.
If you are in the mood to completely redesign your worksheet, a more powerful approach would be to do away with the data verification area. You can achieve the same results (checking what is in the data entry area) by using data validation for each of the entry cells. Set up properly, data validation would make sure that the user entered acceptable values into each cell, removing the need for much of the data validation area.
ExcelTips is your source for cost-effective Microsoft Excel training. This tip (2772) applies to Microsoft Excel versions: 97 2000 2002 2003 2007
Make Home Buying Less Stressful! Why make home buying harder than it needs to be? Put your mind at ease—discover all the questions you need to ask to make the best buying decision.