WorksheetFunction.HLookup Method

Searches for a value in the top row of a table or an array of values, and then returns a value in the same column from a row you specify in the table or array. Use HLookup when your comparison values are located in a row across the top of a table of data, and you want to look down a specified number of rows. Use VLookup(Object, Object, Object, Object) when your comparison values are located in a column to the left of the data you want to find.

Namespace:  Microsoft.Office.Interop.Excel
Assembly:  Microsoft.Office.Interop.Excel (in Microsoft.Office.Interop.Excel.dll)

Syntax

'Declaration
Function HLookup ( _
    Arg1 As Object, _
    Arg2 As Object, _
    Arg3 As Object, _
    Arg4 As Object _
) As Object
'Usage
Dim instance As WorksheetFunction
Dim Arg1 As Object
Dim Arg2 As Object
Dim Arg3 As Object
Dim Arg4 As Object
Dim returnValue As Object

returnValue = instance.HLookup(Arg1, Arg2, _
    Arg3, Arg4)
Object HLookup(
    Object Arg1,
    Object Arg2,
    Object Arg3,
    Object Arg4
)

Parameters

  • Arg1
    Type: System.Object

    Lookup_value - the value to be found in the first row of the table. Lookup_value can be a value, a reference, or a text string.

  • Arg2
    Type: System.Object

    Table_array - a table of information in which data is looked up. Use a reference to a range or a range name.

  • Arg3
    Type: System.Object

    Row_index_num - 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.

  • Arg4
    Type: System.Object

    Range_lookup - 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.

Return Value

Type: System.Object

Remarks

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.

See Also

Reference

WorksheetFunction Interface

WorksheetFunction Members

Microsoft.Office.Interop.Excel Namespace