Applies ToExcel for Microsoft 365 Excel for Microsoft 365 for Mac Excel for the web Excel 2024 Excel 2024 for Mac Excel 2021 Excel 2021 for Mac 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中傳回相符值的列號。 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

Need more help?

Want more options?

探索訂閱權益、瀏覽訓練課程、瞭解如何保護您的裝置等等。

社群可協助您詢問並回答問題、提供意見反應,以及聆聽來自具有豐富知識的專家意見。