在表格或數值數組的首行查找指定的數值,并在表格或數組中指定行的同一列中返回一個數值。當比較值位于數據表的首行,并且要查找下面給定行中的數據時,請使用函數HLOOKUP。當比較值位于要查找的數據左邊的一列時,請使用函數VLOOKUP。HLOOKUP函數語法為:
HLOOKUP(lookup_value, table_array, row_index_num, [range_lookup])
▲Lookup_value:必需。需要在表的第一行中進行查找的數值。Lookup_value可以為數值、引用或文本字符串。
▲Table_array:必需。需要在其中查找數據的信息表。使用對區域或區域名稱的引用。
●Table_array 的第一行的數值可以為文本、數字或邏輯值。
●如果 range_lookup 為 TRUE,則 table_array 的第一行的數值必須按升序排列:…-2、-1、0、1、2、…、A-Z、FALSE、TRUE;否則,函數 HLOOKUP 將不能給出正確的數值。如果 range_lookup 為 FALSE,則 table_array 不必進行排序。
●文本不區分大小寫。
●將數值按升序排列(從左至右)。
▲Row_index_num:必需。table_array中待返回的匹配值的行序號。Row_index_num為1時,返回table_array第一行的數值,當row_index_num為2時,返回table_array第二行的數值,以此類推。如果row_index_num小于1,則HLOOKUP返回錯誤值#VALUE!;如果 row_index_num大于table_array的行數,則HLOOKUP返回錯誤值 #REF!。
▲Range_lookup:可選。一邏輯值,指明函數HLOOKUP查找時是精確匹配,還是近似匹配。如果為TRUE或省略,則返回近似匹配值。也就是說,如果找不到精確匹配值,則返回小于lookup_value的最大數值。如果Range_lookup為FALSE,函數HLOOKUP將查找精確匹配值,如果找不到,則返回錯誤值#N/A。
提示:
●如果函數HLOOKUP找不到lookup_value,且range_lookup為 TRUE,則使用小于lookup_value的最大值。
●如果函數HLOOKUP小于table_array第一行中的最小數值,函數HLOOKUP返回錯誤值#N/A。
●如果range_lookup為FALSE且lookup_value為文本,則可以在lookup_value中使用通配符、問號(?)和星號(*)。問號匹配任意單個字符;星號匹配任意字符序列。如果要查找實際的問號或星號,請在該字符前鍵入波形符(~)。
示例:
基礎數據如圖表格的A1:C4區域,以下公式的含義為:
●=HLOOKUP("Axles", A1:C4, 2, TRUE):在首行查找Axles,并返回同列中第2行的值。
●=HLOOKUP("Bearings", A1:C4, 3, FALSE):在首行查找 Bearings,并返回同列中第3行的值。
●=HLOOKUP("B", A1:C4, 3, TRUE):在首行查找B,并返回同列中第3行的值。由于B不是精確匹配,因此將使用小于B的最大值Axles。
●=HLOOKUP("Bolts", A1:C4, 4):在首行查找Bolts,并返回同列中第4行的值。
HLOOKUP函數的使用基礎教程