提示: 請嘗試使用新的 XLOOKUP 函數,這是改良的 HLOOKUP 版本,可朝任何方向運作,並預設會傳回完全符合的相符專案,讓使用方式比其前置函數更輕鬆、更方便。
本文將說明 Microsoft Excel 中 HLOOKUP 函數的公式語法及使用方式。
描述
在表格或數值陣列的第一列尋找值,然後傳回表格或陣列之指定列中同一欄的值。 當比較值位於資料表的第一列中,而且您想要在指定列數下方尋找時,請使用 HLOOKUP。 當比較值位於您要尋找之資料左方的某一欄時,請使用 VLOOKUP。
H 在 HLOOKUP 中表示「水平」。
語法
HLOOKUP(lookup_value, table_array, row_index_num, [range_lookup])
HLOOKUP 函數語法具有下列引數:
-
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中傳回相符值的列號。 1 的row_index_num會傳回 table_array 中的第一列值,2 的row_index_num會傳回 table_array 中的第二列值,依此類此類。 如果 row_index_num 小於 1,HLOOKUP 會傳回 #VALUE! 錯誤值;如果 row_index_num 大於 table_array 上的列數,HLOOKUP 會傳回 #REF! 錯誤值。
-
Range_lookup 選擇性。 指定要 HLOOKUP 尋找完全符合或大約符合的邏輯值。 如果為 TRUE 或省略,則會傳回大約符合的專案。 換句話說,如果找不到完全符合的專案,則會傳回小於lookup_value的下一個最大值。 如果為 FALSE,HLOOKUP 會找到完全相符的專案。 如果找不到,則會傳回錯誤值 #N/A。
註解
-
如果 HLOOKUP 找不到 lookup_value,且 range_lookup 為 TRUE 時,則使用僅次於 lookup_value 的最大值。
-
如果 lookup_value 比 table_array 第一列中的最小值還小,則 HLOOKUP 會傳回錯誤值 #N/A。
-
如果 range_lookup 為 FALSE 且 lookup_value 為文字,則您可以在 lookup_value 中使用萬用字元、問號 (?) 和星號 (*)。 問號可比對任一字元;星號可比對任一連續的字元。 若要尋找實際的問號或星號,請在該字元前輸入波狀符號 (~)。
範例
請在下列表格中複製範例資料,再將之貼到新 Excel 工作表中的儲存格 A1。 若要讓公式顯示結果,請選取公式,按 F2,然後再按 Enter。 如有需要,您可以調整欄寬來查看所有資料。
輪軸 |
軸承 |
螺栓 |
4 |
4 |
9 |
5 |
7 |
10 |
6 |
8 |
11 |
公式 |
描述 |
結果 |
=HLOOKUP("輪軸", A1:C4, 2, TRUE) |
在列 1 中查詢 "輪軸",從同一欄 (欄 A) 的列 2 傳回值。 |
4 |
=HLOOKUP("軸承", A1:C4, 3, FALSE) |
在列 1 中查詢 "軸承",從同一欄 (欄 B) 的列 3 傳回值。 |
7 |
=HLOOKUP("B", A1:C4, 3, TRUE) |
在列 1 中查詢 "B",從同一欄的列 3 傳回值。 由於找不到與 "B" 完全相符的項目,因此使用列 1 中小於 "B" 的最大值:欄 A 中的 "輪軸"。 |
5 |
=HLOOKUP("螺栓", A1:C4, 4) |
在列 1 中查詢 "螺栓",從同一欄 (欄 C) 的列 4 傳回值。 |
11 |
=HLOOKUP(3, {1,2,3;"a","b","c";"d","e","f"}, 2, TRUE) |
在三列的常數陣列中查詢數字 3,並從同一欄 (在此案例中為第三欄) 的列 2 傳回值。 常數陣列中有三列的值,每一列均以分號 (;) 區隔。 由於在列 2 找到 "c",而在同一欄是 3,因此會傳回 "c"。 |
c |