HLOOKUP 函數

套用到
Microsoft 365 Excel Mac 版 Microsoft 365 Excel Excel 2024 Mac 版 Excel 2024 Excel 2021 Mac 版 Excel 2021 Excel 2019 Excel 2016

秘訣

試試使用新的 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列號,將從中回傳匹配值。 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的值。 如果是 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