了解Excel中的HLOOKUP

Microsoft Excel 是數據管理和分析的首選應用程序,提供大量功能來簡化各種任務。在這些函數中,HLOOKUP是一個強大的工具,可以讓用戶進行水平查找。在這篇文章中,我將深入探討 HLOOKUP 的概念、它的語法以及它的實際應用。

Excel 中的 HLOOKUP 是什麼?

HLOOKUP 是“水平查找”的縮寫,是一種 Excel 函數,允許用戶在表或區域的第一行中搜索值,並從另一個指定行中檢索相關值。就像其對應的 VLOOKUP(垂直查找)一樣,HLOOKUP 旨在簡化從大型數據集中查找和提取特定信息的過程。在處理水平組織的數據表時,它尤其有價值。

HLOOKUP 函數的語法

HLOOKUP函數的語法如下:

=HLOOKUP(lookup_value, table_array, row_index_num, [range_lookup])

  • lookup_value:要在表或範圍的第一行中搜索的值。
  • table_array:包含查找值和要檢索的數據的單元格範圍。它必須包括包含查找值的行和包含相應數據的行。
  • row_index_num:要檢索的數據相對於行的行號(從1開始)
  • [range_lookup]:可選參數,用於確定您想要精確匹配還是近似匹配。如果設置為 TRUE 或省略,Excel 將執行近似匹配(默認行為)。如果設置為 FALSE,Excel 將執行精確匹配。

1、問題描述

如下圖:是一張集團公司的升職加薪表。

了解Excel中的HLOOKUP

現在需要將集團公司中部分人員的崗位工資、薪級工資、崗位補貼和合計等內容引用到一張新表中。

正常情況下,我們會這樣寫公式:

了解Excel中的HLOOKUP

【L2】單元格輸入如下公式:

=VLOOKUP($K2,$B:$H,COLUMN(D1),0)

公式解析:

以【K2】單元格的內容:「武勝」 作為查找值,在數據源區域 B 到 H 列中進行查找,如果查找到就返回第 4 列對應的值。

公式向右拖動一個單元格,COLUMN (D1)(即數字 4)會變成 COLUMN (E1)(即數字 5),以此類推。

但是,大家有沒有發現,他只返回了每個人員第一次出現的值,如果,我們現在只需要返回升職加薪之後的數據,那該怎麼辦呢?

這個時候,就輪到它的二師弟豬哥(Hlookup)上場了。

那我們一起來看看它的表演吧。

2、解決問題

Hlookup 這個函數與 Vlookup 函數是一對孿生兄弟,

Vlookup 是垂直方向查找,返回列對應的值。

而 Hlookup 是水平方向查找,返回行對應的值。

我們在【L2】單元格輸入如下公式:

=HLOOKUP(L$1,$B$2:$H$14,MATCH($K2,$B$2:$B$14,0)+1,0)

了解Excel中的HLOOKUP

公式解析:

這個函數也有四個參數,與 vlookup 完全相同。

語法如下:

了解Excel中的HLOOKUP

第❶參數是 lookup_value 查找值,

第❷參數是 table_array 查找區域,

第❸參數是 row_index_num 返回對應的行值。

第❹參數是 range_lookup 為精確查找。

查找值為:【L1】單元格的內容【崗位工資】,

查找區域為:$B$2:$H$14,即首列,必須包含查找值。

返回對應的行值,用了一個 Match 來配合下,

MATCH($K2,$B$2:$B$14,0)

了解Excel中的HLOOKUP

第一參數查找值【K2】單元格中的值「武勝」。

第二參數查找區域【$B$2:$B$14】,這個姓名所在的單元格區域中查找,並返回在這個區域中是排到第幾個單元格。比如排到第 4,就返回數字 4。

第三參數為 0,表示精確查找。

因為 MATCH 函數也是返回第一查找到的值所對應的數字,所以讓它的返回值 + 1,就返回了升職加薪之後的所在行的數字了。即 4+1=5。

於是 Hlookup 函數的結果如下:

=HLOOKUP ("崗位工資",$B$2:$H$14,5,0)

如下圖所示:

了解Excel中的HLOOKUP

備註:Match 函數也將其中合併單元格中的空白單元格算在內。

3、知識擴展

某些小夥伴可能很好奇,是否一定不能用 Vlookup 函數解決這個問題,

或者有的小夥伴會很痴迷於用 Vlookup 函數,一定要用其解決。這倒也不是不行。

但是,這裡需要結合 IF 函數,並進行數據區域重新構造。只有滿足 Vlookup 的查找要求才能讓其正確返回值。如下圖:

了解Excel中的HLOOKUP

=VLOOKUP($K2,IF({1,0},$B$3:$B$13,E$4:E$14),2,0)

公式解析:

與常規的 Vlookup 函數的第二參數不同的是,

這裡用 IF 函數進行了兩個區域的重新構造

IF 的第二參數是:查找的區域,即:$B$3:$B$13

IF 的第三參數是:返回的區域,即:E$4:E$14

而且是錯行排列的。正好符合 Vlookup 函數返回第一個查找值的要求。

了解Excel中的HLOOKUP

另外:IF 的第三參數是:返回的區域,即:E$4:E$14,是一個行絕對引用,列相對引用,這樣在向右拖動公式的時候,可以返回正確的列。

因為這個公式是數組公式,所以還需要按三鍵【Ctrl+Shift+Enter】結束(PS.Office 365 按【Enter】即可)。

上面的問題到此就解決了。

But,領導們的想法是會隨時變化的。

比如,現在的領導的要求是:

不僅需要看升職加薪之後的明細數據,也需要同時查看升職加薪之前的數據。那該怎麼辦呢?就像下圖這樣:

了解Excel中的HLOOKUP

這種情況下,如果要用函數的話,還真是要豬哥上場了。

而且原來的公式基本不用改動,只需要增加一個求余函數 + 返回行號的函數就行。

了解Excel中的HLOOKUP

公式如下:

了解Excel中的HLOOKUP

公式解析:

第三參數那裡增加 MOD (ROW (A2),2)。其中:

ROW (A2),返回行號 2(即:ROW (A2)=2),作為 MOD 的函數參數。

MOD (2,2),然後對 2 求餘額數即為:0。(即:MOD (2,2)=0)

然後 MATCH 查找到的值再加上 0 值,還是返回 MATCH 的值。

公式向下拖動即返回:MOD (ROW (A3),2)。其中:ROW (A3),返回行號 3(即:ROW (A3)=3),作為 MOD 的函數參數。

MOD (3,2), 然後對 3 求餘額數即為:1。(即:MOD (3,2)=1)

最終 MATCH 的返回值 + 1。

這裡的關鍵點是:

用 MOD 函數來代替原來公式中的 + 1 這個值,調節返回 0 和 1 兩個數字。

4、寫在最後

今天我們分享了 Vlookup 函數二師弟,豬哥 Hlookup 函數的用法

在大部分情況下,Vlookup 的查找還是非常方便實用的,但是在某些情況下,真不如它的師弟 Hlookup 函數。

另外在上面的例子中,雖然 Vlookup 函數結合 IF 函數進行數據區域重新構造也能解決問題,但是在實際工作中,不建議使用。

因為,它是一個數組公式,在數據比較多的情況下,會導致表格很卡

所以,盡量不使用數組公式,只使用簡單公式的組合,而且組合越少越好,計算次數越少越好,這才是工作中需要實現的目標。

好了,今天我們就分享到這裡,如果喜歡此篇文章,歡迎點贊 & 轉發

除了上面介紹的 Hlookup 函數,Excel 里還有很多的函數,比如 Lookup、Xlookup、Sumif 等等。

使用 HLOOKUP 函數時的常見錯誤

在 Excel 中使用 HLOOKUP 函數時,您可能會遇到一些常見錯誤。以下是最常見的問題以及解決方法:

1. #N/A 錯誤

原因:當 HLOOKUP 函數無法在 table_array 的第一行中找到查找值的匹配項時,會發生 #N/A 錯誤。當查找值不存在於頂行時,就會發生這種情況。

解決方案:仔細檢查查找值和 table_array 第一行中的數據以確保它們匹配。如有必要,請檢查可能導致不匹配的前導/尾隨空格。

2.#參考!錯誤

原因:#REF!當 HLOOKUP 公式中的 table_array 引用無效或已被刪除時,會發生錯誤。

解決方案:檢查 table_array 引用以確保其有效並涵蓋查找所需的數據範圍。如果您意外刪除了 table_array 或其一部分,請恢復引用。

3.#VALUE!錯誤

原因:#VALUE!當 row_index_num 參數不是有效數字或公式包含不正確的數據類型時,通常會發生錯誤。

解決方案:確保 row_index_num 參數是一個正整數,表示要返回結果的行號。另外,檢查公式中使用的數據類型是否存在不一致。

有效使用 HLOOKUP 函數的專家提示

  • 以表格形式組織數據:HLOOKUP 設計用於處理水平排列的數據。確保您的數據以表格格式組織良好,標題位於頂行。
  • 對數據進行排序:與 VLOOKUP 類似,根據 table_array 第一行中的值按升序對數據進行排序將提高 HLOOKUP 的性能,尤其是對於近似匹配。
  • 使用精確匹配:要獲得準確的結果,請將 range_lookup 參數設置為 FALSE 以實現精確匹配。這可確保您獲得所需的精確匹配,並避免任何潛在的錯誤結果。
  • 將 HLOOKUP 與 IFERROR 結合使用:與 VLOOKUP 一樣,使用 IFERROR 可以更優雅地處理錯誤。使用 IFERROR 包裝 HLOOKUP 函數允許您顯示自定義消息或在未找到查找值時返回默認值。
  • 鎖定 table_array 範圍:如果要將 HLOOKUP 公式複製到多個單元格,請對 table_array 參數使用絕對單元格引用 ($)。這可以防止在複製公式時 table_array 的引用發生更改。
  • 檢查前導/尾隨空格:確保數據乾淨且 table_array 第一行中沒有任何前導或尾隨空格。多餘的空格可能會導致 HLOOKUP 無法找到匹配項。
  • 最大限度地減少易失性函數:避免將 HLOOKUP 與易失性函數(例如 TODAY()、NOW() 或 RAND())一起使用,以保持最佳的電子表格性能。

以上就是Excel中Hlookup 函數的使用技巧,希望大家喜歡,請繼續關注。

原創文章,作者:簡單一點,如若轉載,請註明出處:https://www.506064.com/zh-hant/n/163816.html

(0)
打賞 微信掃一掃 微信掃一掃 支付寶掃一掃 支付寶掃一掃
簡單一點的頭像簡單一點
上一篇 2024-11-22 03:46
下一篇 2024-11-22 03:46

相關推薦

  • 為什麼不能用Microsoft Excel進行Python編程?

    Microsoft Excel是一個廣泛使用的數據分析工具,但是它不能直接用於Python編程。這是因為Microsoft Excel並不是一個編程工具,它的主要功能是進行數據處理…

    編程 2025-04-29
  • 基尼係數Excel計算模板

    這篇文章將介紹基尼係數Excel計算模板,為大家詳細闡述如何使用Excel進行基尼係數的計算。 一、模板下載及導入 首先需要下載基尼係數的Excel計算模板,可以在Excel中通過…

    編程 2025-04-28
  • 使用ReoGrid操作Excel的WPf應用

    本文將詳細闡述如何使用ReoGrid來操作Excel,重點介紹在WPF應用程序中使用ReoGrid的方法及注意點。 一、ReoGrid簡介 ReoGrid是一個基於.NET的開源組…

    編程 2025-04-27
  • Excel日期函數

    Excel是當前企業和個人使用非常廣泛的辦公軟件之一。其中的日期函數可以用於處理各種涉及日期和時間的任務。本文將從不同的方面介紹Excel日期函數,幫助讀者深入了解和熟練使用日期函…

    編程 2025-04-25
  • Java Excel導入導出詳解

    一、Excel文件簡介 Excel是微軟公司開發的一種電子表格程序,多用於商業、財務、科學等各種數據處理。 Excel文件通常以.xls或.xlsx格式存儲,其中.xls格式為Ex…

    編程 2025-04-25
  • Word轉Excel詳解

    一、使用Office插件 1、可以使用Office自帶的“將表格複製為Excel工作簿”插件。只需在Word中選中表格,點擊“插入”選項卡中的“對象”按鈕,在彈出的窗口中選擇“將表…

    編程 2025-04-25
  • Java Excel合併單元格

    一、介紹 Excel是微軟公司開發的一款非常流行的電子表格軟件,而Java是一門強大的編程語言。在項目中,我們可能會需要對Excel進行操作,比如合併單元格。Java提供了很多對E…

    編程 2025-04-24
  • PHP導出Excel文件

    一、PHP導出Excel文件列寬調整 當我們使用PHP導出Excel文件時,有時需要調整單元格的列寬。可以使用PHPExcel類庫中的setWidth方法來設置單元格的列寬。下面是…

    編程 2025-04-24
  • Excel 兩格內容合併一個探究

    一、合併單元格的操作方法 在Excel的操作中,我們需要對單元格進行操作。而合併單元格是其中一個常用的操作,它可以讓我們對一些數據進行整合和顯示。那麼,Excel 合併單元格的操作…

    編程 2025-04-23
  • 詳解如何讀取excel文件

    一、安裝支持庫 在Python中,我們可以使用openpyxl庫來讀取和操作Excel文件。打開終端或命令行窗口並執行以下命令安裝openpyxl庫: pip install op…

    編程 2025-04-23

發表回復

登錄後才能評論