亞寵展、全球寵物產業風向標——亞洲寵物展覽會深度解析
1105
2025-03-31
關于VLOOKUP,你必須知道的23件事(上)
在Excel中,VLOOKUP函數應該是最受關注的函數之一了。關于VLOOKUP函數,在網上有數不清的討論和文章。我對其進行了一些整理,供大家進一步理解和運用VLOOKUP函數時參考。
當你想從表中提取信息時,Excel的VLOOKUP函數是一個很好的解決方案。從表中動態查找和獲取信息的能力給許多用戶帶來了全新的改變,你到處都可以發現VLOOKUP。
盡管VLOOKUP相對容易使用,但也容易出錯。其中一個原因是VLOOKUP有一個主要的設計缺陷,默認情況下,假定你認為的是近似匹配,但這可能并不是你的本意。因此,會導致看起來結果正常但實際上是錯誤的。
1.VLOOKUP是如何運行的
VLOOKUP是一個查找函數,可以獲取表中的數據。在VLOOKUP中的“V”代表垂直,意味著表中的數據必須垂直地排列,即數據在行中。
如果你有一個結構良好的表,信息垂直排列,左邊有一列可以用來匹配查找的數據,那么可以使用VLOOKUP。
VLOOKUP要求表結構化,在左側列中顯示查找值,在右側任意列中顯示想要獲取的數據(結果值)。當使用VLOOKUP時,假設表中的每列都從左側(查找列)列始編號。要從特定列中獲取值,簡單地提供合適的數字作為“列索引”即可。在下面的例子中,查找電子郵件地址,因此使用數字4作為列索引:
圖1
在圖1所示的表中,員工ID位于左側第1列,電子郵件地址在右側的第4列。
要使用VLOOKUP,要提供4個參數:
要查找的值(lookup_value)
組成表的單元格區域(table_array)
要獲取的結果所在的列編號(column_index)
匹配模式(range_lookup,TRUE=近似匹配,FALSE=精確匹配)
2.VLOOKUP僅向右查找
可能VLOOKUP最大的局限是僅能向右查找來獲取數據。這意味著VLOOKUP僅能獲取表中第一列右側列的數據。當查找值在第一列(最左側列)時,這個限制沒有多大意義,因為所有其他列已經在右側。但是,如果查找列在表里的某個位置,則只能從該列右側的列中查找值。還必須為VLOOKUP提供一個以查找列開始的更小的表。
圖2
使用INDEX和MATCH代替VLOOKUP可以克服這個局限。
3.VLOOKUP總是查找第一個匹配值
如果查找列包含重復值,那么VLOOKUP將僅匹配找到的第1個值。如果表中的第1列沒有重復值,這顯然不是問題。但是,如果第1列包含重復值,那么VLOOKUP將僅匹配第1個值。例如,使用VLOOKUP查找名字,雖然表中有兩個“Janet”,但VLOOKUP僅匹配第1個:
圖3
4.VLOOKUP不區分大小寫
查找值時,VLOOKUP不會處理大寫和小寫文本差異。對于VLOOKUP,產品代碼“PQRF”與“pqrf”相同。下面的示例中,查找大寫的“JANET”,但VLOOKUP不會區分大小寫,因此簡單地匹配“Janet”,因為這是找到的第1個匹配:
圖4
5.VLOOKUP有兩種匹配模式
VLOOKUP有兩種操作模式:完全匹配和近似匹配。大多數情況下,可能想使用VLOOKUP的完全匹配模式。當你想要基于某種唯一鍵(例如,基于產品代碼的產品信息或者基于電影名稱的電影數據)查找信息時,這是有意義的:
圖5
在單元格H6中的公式基于完全匹配電影名稱來查找年:
=VLOOKUP(H4,B5:E9,2,FALSE)
但是,如果不匹配唯一ID,而是查找“最佳匹配”或者“最佳類別”,則需要使用近似匹配。例如,可能要根據重量查找郵資,根據收入查找稅率,根據每月銷售額查找傭金率。在這些情況下,可能無法在表中找到精確的查找值,相反,想要VLOOKUP來為提供的查找值獲得最佳匹配。
圖6
在單元格D5中的公式使用近似匹配獲取正確的傭金率:
=VLOOKUP(C5,$G$5:$H$10,2,TRUE)
6.注意:VLOOKUP默認情形下使用近似匹配
第4個參數,稱之為“range_ lookup”控制著VLOOKUP的完全和近似匹配。
對于完全匹配,使用FALSE或者0。對于近似匹配,設置range_lookup為TRUE或1:
=VLOOKUP(value,table,column,TRUE) //近似匹配
=VLOOKUP(value,table,column,FALSE) //完全匹配
然而,第4個參數range_lookup是可選的,默認值是TRUE,這意味著VLOOKUP默認情形下進行近似匹配。當進行近似匹配時,VLOOKUP假定表已排序并執行二分查找。在二分查找時,如果VLOOKUP找到完全匹配的值,則從該行返回一個值。但是,如果VLOOKUP遇到大于查找值的值,將從前一行返回一個值。
這種默認設置非常危險,因為許多人無意中將VLOOKUP保留在默認模式下,當表未排序時可能導致錯誤的結果。
為了避免這個問題,確保在想要完全匹配時使用FALSE或0作為第4個參數。
(未完待續……)
版權聲明:本文內容由網絡用戶投稿,版權歸原作者所有,本站不擁有其著作權,亦不承擔相應法律責任。如果您發現本站中有涉嫌抄襲或描述失實的內容,請聯系我們jiasou666@gmail.com 處理,核實后本網站將在24小時內刪除侵權內容。
版權聲明:本文內容由網絡用戶投稿,版權歸原作者所有,本站不擁有其著作權,亦不承擔相應法律責任。如果您發現本站中有涉嫌抄襲或描述失實的內容,請聯系我們jiasou666@gmail.com 處理,核實后本網站將在24小時內刪除侵權內容。