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