HLOOKUP is an Excel function to lookup and retrieve data from a specific row in table. The “H” in HLOOKUP stands for “horizontal”, where lookup values appear in the first row of the table, moving horizontally to the right. HLOOKUP supports approximate and exact matching, and wildcards (* ?) for finding partial matches.
Syntax:= HLOOKUP (value, table, row_index, [range_lookup])
The HLOOKUP function syntax has the following arguments:
- Lookup_value Required. The value to be found in the first row of the table. Lookup_value can be a value, a reference, or a text string.
- Table_array Required. A table of information in which data is looked up. Use a reference to a range or a range name.
- The values in the first row of table_array can be text, numbers, or logical values.
- If range_lookup is TRUE, the values in the first row of table_array must be placed in ascending order: …-2, -1, 0, 1, 2,… , A-Z, FALSE, TRUE; otherwise, HLOOKUP may not give the correct value. If range_lookup is FALSE, table_array does not need to be sorted.
- Uppercase and lowercase text are equivalent.
- Sort the values in ascending order, left to right. For more information, see Sort data in a range or table.
- Row_index_num Required. The row number in table_array from which the matching value will be returned. A row_index_num of 1 returns the first row value in table_array, a row_index_num of 2 returns the second row value in table_array, and so on. If row_index_num is less than 1, HLOOKUP returns the #VALUE! error value; if row_index_num is greater than the number of rows on table_array, HLOOKUP returns the #REF! error value.
-
Range_lookup Optional. A logical value that specifies whether you want HLOOKUP to find an exact match or an approximate match. If TRUE or omitted, an approximate match is returned. In other words, if an exact match is not found, the next largest value that is less than lookup_value is returned. If FALSE, HLOOKUP will find an exact match. If one is not found, the error value #N/A is returned.
Example: Let’s look at some Excel HLOOKUP function examples and explore how to use the HLOOKUP function as a worksheet function in Microsoft Excel:
Syntax: =HLOOKUP(B2,$A$15:$I$16,2,FALSE)
Result:
Based on the Excel spreadsheet above, the following HLOOKUP examples would return:
Syntax: =HLOOKUP(B3,$A$15:$I$16,2,FALSE)
Result: 12000
Syntax: =HLOOKUP(B4,$A$15:$I$16,2,FALSE)
Result: 22000
Syntax: =HLOOKUP(B5,$A$15:$I$16,2,FALSE)
Result: 9000
Syntax: =HLOOKUP(B6,$A$15:$I$16,2,FALSE)
Result: 25000
Syntax: =HLOOKUP(B7,$A$15:$I$16,2,FALSE)
Result: 20000
Syntax: =HLOOKUP(B8,$A$15:$I$16,2,FALSE)
Result: 30000
Syntax: =HLOOKUP(B9,$A$15:$I$16,2,FALSE)
Result: 12000
Syntax: =HLOOKUP(B10,$A$15:$I$16,2,FALSE)
Result: 50000
Syntax: =HLOOKUP(B11,$A$15:$I$16,2,FALSE)
Result: 12000
Syntax: =HLOOKUP(B12,$A$15:$I$16,2,FALSE)
Result: 35000
Note:
- If HLOOKUP can’t find lookup_value, and range_lookup is TRUE, it uses the largest value that is less than lookup_value.
- If lookup_value is smaller than the smallest value in the first row of table_array, HLOOKUP returns the #N/A error value.
-
If range_lookup is FALSE and lookup_value is text, you can use the wildcard characters, question mark (?) and asterisk (*), in lookup_value. A question mark matches any single character; an asterisk matches any sequence of characters. If you want to find an actual question mark or asterisk, type a tilde (~) before the character.