Excel 教學:HLOOKUP 函數
1. HLOOKUP 函數的用途
HLOOKUP(Horizontal Lookup)是水平查找函數,用來在表格的第一列中搜尋關鍵字,並回傳同欄中指定列的值。適合用於橫向排列的資料查找,例如年度銷售表、產品價格表等。
2. HLOOKUP 函數的語法
HLOOKUP(lookup_value, table_array, row_index_num, [range_lookup])
| 參數 | 說明 |
|---|---|
lookup_value | 必填,要搜尋的值(例如 "2024")。 |
table_array | 必填,搜尋範圍(例如 A1:D3)。 |
row_index_num | 必填,指定回傳值的列數(第 1 列為 1)。 |
[range_lookup] | 選填,TRUE(模糊比對,預設)或 FALSE(精確比對)。 |
3. HLOOKUP 函數範例
? 範例 1:查找年度銷售額(精確比對)
假設 A1:D3 內有以下資料:
| 年度 | 2022 | 2023 | 2024 |
|---|---|---|---|
| 銷售額 | 500 | 700 | 900 |
? 查找 2023 年的銷售額:
=HLOOKUP(2023, A1:D2, 2, FALSE)
? 結果:700
? 範例 2:查找產品價格(模糊比對)
假設 A1:D3 內有以下產品價格表(價格由小到大排序):
| 價格級別 | 1000 | 2000 | 3000 | 4000 |
|---|---|---|---|---|
| 折扣% | 5% | 10% | 15% | 20% |
? 查找 2500 對應的折扣(模糊比對):
=HLOOKUP(2500, A1:D2, 2, TRUE)
? 結果:10%(因為 2500 介於 2000 和 3000 之間,會回傳 2000 所對應的 10%)。
? 範例 3:搭配 IFERROR 處理錯誤
如果找不到 lookup_value,會回傳 #N/A 錯誤,為了避免錯誤訊息,可以使用:
=IFERROR(HLOOKUP(2025, A1:D2, 2, FALSE), "查無資料")
? 如果 2025 不在表格內,則顯示 "查無資料"。
4. HLOOKUP 函數的應用
✅ 查找不同年度的銷售額、產品價格等。
✅ 配合 IFERROR 處理錯誤,避免 #N/A 顯示。
✅ 與 MATCH 搭配,讓 row_index_num 動態變化(見範例 4)。
? 範例 4:HLOOKUP + MATCH(動態查找列數)
假設表格如下:
| 項目 | 2022 | 2023 | 2024 |
|---|---|---|---|
| 銷售額 | 500 | 700 | 900 |
| 成本 | 200 | 250 | 300 |
目標:根據使用者輸入查找 “銷售額” 或 “成本”
=HLOOKUP(2023, A1:D3, MATCH("成本", A1:A3, 0), FALSE)
? 結果:250(查找 2023 年的 “成本” 值)。
5. HLOOKUP vs. VLOOKUP
| 函數 | 查找方向 | 主要用途 |
|---|---|---|
HLOOKUP | 水平(橫向) | 適合查找年度銷售、價格、折扣等橫向資料。 |
VLOOKUP | 垂直(直向) | 適合查找姓名、產品、員工資訊等直向資料。 |
6. 總結
HLOOKUP水平查找,回傳指定列的值。range_lookup選擇TRUE(模糊比對)或FALSE(精確比對)。- 可與
IFERROR、MATCH搭配,提升靈活性與穩定性。 - 如果表格是縱向排列,請使用
VLOOKUP。