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、問題描述
如下圖:是一張集團公司的升職加薪表。
現在需要將集團公司中部分人員的崗位工資、薪級工資、崗位補貼和合計等內容引用到一張新表中。
正常情況下,我們會這樣寫公式:
【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)
公式解析:
這個函數也有四個參數,與 vlookup 完全相同。
語法如下:
第❶參數是 lookup_value 查找值,
第❷參數是 table_array 查找區域,
第❸參數是 row_index_num 返回對應的行值。
第❹參數是 range_lookup 為精確查找。
查找值為:【L1】單元格的內容【崗位工資】,
查找區域為:$B$2:$H$14,即首列,必須包含查找值。
返回對應的行值,用了一個 Match 來配合下,
MATCH($K2,$B$2:$B$14,0)
第一參數查找值【K2】單元格中的值「武勝」。
第二參數查找區域【$B$2:$B$14】,這個姓名所在的單元格區域中查找,並返回在這個區域中是排到第幾個單元格。比如排到第 4,就返回數字 4。
第三參數為 0,表示精確查找。
因為 MATCH 函數也是返回第一查找到的值所對應的數字,所以讓它的返回值 + 1,就返回了升職加薪之後的所在行的數字了。即 4+1=5。
於是 Hlookup 函數的結果如下:
=HLOOKUP ("崗位工資",$B$2:$H$14,5,0)
如下圖所示:
備註:Match 函數也將其中合併單元格中的空白單元格算在內。
3、知識擴展
某些小夥伴可能很好奇,是否一定不能用 Vlookup 函數解決這個問題,
或者有的小夥伴會很痴迷於用 Vlookup 函數,一定要用其解決。這倒也不是不行。
但是,這裡需要結合 IF 函數,並進行數據區域重新構造。只有滿足 Vlookup 的查找要求才能讓其正確返回值。如下圖:
=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 函數返回第一個查找值的要求。
另外:IF 的第三參數是:返回的區域,即:E$4:E$14,是一個行絕對引用,列相對引用,這樣在向右拖動公式的時候,可以返回正確的列。
因為這個公式是數組公式,所以還需要按三鍵【Ctrl+Shift+Enter】結束(PS.Office 365 按【Enter】即可)。
上面的問題到此就解決了。
But,領導們的想法是會隨時變化的。
比如,現在的領導的要求是:
不僅需要看升職加薪之後的明細數據,也需要同時查看升職加薪之前的數據。那該怎麼辦呢?就像下圖這樣:
這種情況下,如果要用函數的話,還真是要豬哥上場了。
而且原來的公式基本不用改動,只需要增加一個求余函數 + 返回行號的函數就行。
公式如下:
公式解析:
第三參數那裡增加 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-tw/n/163816.html