HLOOKUP functions are powerful tools in Excel, they limit their search to the first column or row of a range. This post shows you how to leverage the
COUNTIFS function to perform an inclusive between search against the first two columns or rows of a range.
VLOOKUP function searches the first column of a range and looks for an approximate or exact match. The approximate match search throws an exception when the lookup key’s value precedes the first item in the range, and picks up the row immediately less than the lookup key. This type of search requires two condition. The data must be presorted into an ascending order for the sort column, the range must be contiguous, and two matching keys shouldn’t exist. That means that each search column or row cell points to the row of interest for any search key greater than it and less than the next. An exact match search finds the row that matches the lookup key and throws an error when there isn’t an exact match.
Neither of these allow for range searches between non-contiguous sets, like the one below. The date ranges where a value should be found are from the 16th of a month to the end of a month rather than the range between the 16th of one month to the 15th of the next. While this could be done by structuring a row with zeros the gap periods, a more effective solution is possible by using the
COUNTIFS. At least, this is true from Excel 2007 forward.
The solution to this problem starts with recognizing how a
COUNTIFS works. The
COUNTIF provides the opportunity to compare a range of values against a single value, and the
COUNTIFS allows multiple comparisons of values against ranges of values. The
COUNTIFS function returns the number of matches that meet all conditions. Therefore, when a value is found in only one of the ranges the
COUNTIFS function returns a 1, and when a value is found n times it returns n as a number.
The formula in cell
F2 checks for the number of times the value in
If you evaluate when the foregoing function returns 1 before performing a
VLOOKUP function, you can guarantee a match within a non-contiguous range of values. That formula is:
Hope this helps some folks, as always …