tft每日頭條

 > 生活

 > vlookup函數最為經典的5個

vlookup函數最為經典的5個

生活 更新时间:2025-01-16 06:32:38

vlookup函數最為經典的5個(你以為的Vlookup函數很簡單)1

Hi,

今天我們聊一下EXCEL基礎必備函數vlookup。或許很多人很不屑,這個函數不是很簡單嗎,我已經會了。不用再了解。

當然,Vlookup函數是一個查找引用函數,也是很多入門EXCEL的人必須要學的一個函數。其實,我想說的是,除去基本功能,vlookup還是很多使用方法,可以幫助我們快速處理數據。

一、什麼是Vlookup

Vlookup本意是垂直查找引用,可以允許我們在給定的一個矩陣中,在矩陣中的第幾列查找你需要查找的值。如果一旦從上往下找到,可以返回找到所在行的第幾列值。

如何深入理解或者記憶這個函數呢?

V指的是vertical,垂直的意思

Look up 指的就是查找

因此這個函數的本意就是垂直查找引用第幾列的值。

二、基本語法與功能

基本語法:Vlookup(查找值,查找的矩陣,返回第幾列,匹配模式),

VLOOKUP (lookup_value, table_array,col_index_num, [range_lookup])

vlookup函數最為經典的5個(你以為的Vlookup函數很簡單)2

Vlookup會拿着第一個參數需要查找的值到查找的矩陣中去查詢,查找值隻會在查找矩陣中的第一列進行查找,即查找值和矩陣的第一列數據類型、數據定義是一緻的。

比如我們查找值是姓名,那麼被查找列這一列的值肯定是姓名,這個我們在選擇查找範圍的時候一定要注意。

找到後,我們就要決定返回被找到行的第幾列值,然後最終确定是否近似匹配。關于匹配方式,後續再說。一般而言,選擇false 或0,即精确匹配。

我們舉個例子,我們有個人員薪酬表,我們需要通過員工編号找到其對應的姓名,工資等信息。

先上數據:

vlookup函數最為經典的5個(你以為的Vlookup函數很簡單)3

我們先用工号查找對應的姓名:

K5單元格公式:

=VLOOKUP(J5,$B$3:$C$27,2,0)

vlookup函數最為經典的5個(你以為的Vlookup函數很簡單)4

這個要注意如果查找區域不是整列,需要固定選擇區域,即絕對引用地址。返回值“#N/A”,表示查不到相關數據。

這個是基本語法。

三、進階用法

1.結合if函數進行反向查找

現在要通過員工号查找所在部門。

因為部門在員工号的前面,這樣就不能選擇矩陣,因為員工号無法在矩陣的第一列了。

當然,一種解決方案是将部門調整到表格的最後一列。這裡我們暫時不考慮更改表格的内容。我們用if函數來将工号和部門兩列進行互換。

語法如下:

if({1,0},$B$3:$B$27,$A$3:$A$27)

這裡有個巧妙的用法,if函數的第一個産生是一個舉證{1,0},if先判斷是1,執行$B$3:$B$27,然後判斷0,執行$A$3:$A$27,這樣就實現了兩列互換。

其實這是一個數組公式。

然後我們在vlookup中的查找範圍就用上面那個互換的範圍,L5公式如下:

=VLOOKUP(J5,IF({1,0},$B$3:$B$27,$A$3:$A$27),2,0)

vlookup函數最為經典的5個(你以為的Vlookup函數很簡單)5

2.模糊查找,實現數據分檔

當我們需要對一組數據按一定規則進行分檔時,我們可以用if來逐層判斷,但更好的方式是用vlookup進行模糊匹配判斷。這種解決方案更好理解,也更容易。同時,可以不受條件有多複雜的限制。

例如,我們需要對工資範圍進行分檔,規則如下:

這個時候我們需要構建一個判斷矩陣:

我們在工資區間列進行數據分檔判斷,G3單元格公式如下:

= VLOOKUP(F3,$J$13:$K$17,2,1)

和基本功能用法唯一的區别就是最後一個參數的值是模糊匹配,值可寫1或true。

例如第一個值20215,vlookup會拿這個值去判斷矩陣裡進行模糊匹配

  • 20215>=0,結果是true,程序繼續往下判斷
  • 20215 >=10000,結果是true,程序繼續往下判斷
  • 20215 >=20000,結果是true,程序繼續往下判斷
  • 20215 >=25000,結果是false,程序停止,返回前一步20000對應的範圍”2-2.5W”

因此,可以看出當進行模糊匹配的情況下,查找值最多隻能大于等于查找範圍裡面的第一列值。這裡面還隐含另外一個條件,就是查找範圍的第一列值必須是升序排列。

vlookup函數最為經典的5個(你以為的Vlookup函數很簡單)6

3.Vlookup iferror進行去除錯誤值

當遇到#/A錯誤時,我們可能需要先判斷錯誤,然後以0或者其它值替代。這個時候我們可以用iferror嵌套vlookup來進行處理:

例如單元格N5公式:

=IFERROR(VLOOKUP(J5,$B$3:$G$27,6,0),"")

函數先判斷vlookup是否找不到值,找不到就返回空值,找到返回vlookup找到的值。

可以看到Y00026、Y00027兩個不存在的員工号,查找值未出現#N/A的錯誤。

vlookup函數最為經典的5個(你以為的Vlookup函數很簡單)7

4.vlookup的替代函數

當用vlookup 返回值的值是數值,且不存在重複的記錄。我們可以用sumif,sumifs來彙總數值。因為沒有重複的數據,實際的彙總就隻有一行。另外遇到不存在的,會直接返回0,省去處理#N/A的錯誤。

單位格M5的公式:

=SUMIF($B$3:$B$27,J5,$F$3:$F$27)

vlookup函數最為經典的5個(你以為的Vlookup函數很簡單)8

四、其它注意事項

如果vlookup查找的數據較多,計算速度會比較慢,可以采取一些先按查找字段進行排序。同時,另外可以采取一些動态引用需要的查找區域,例如用indirect函數結合其它函數進行處理。這部分提供一種思路,後續我們有時間再去專題處理,即如何提供vlookup的查找效率。

好了,今日分享到這裡。

我們學習基礎的函數,一定需要全方位了解其基本功能,了解其運行機制,這樣才能舉一反三,并與其它函數進行配合使用,從而提高我們的使用效率。

了解一項新知,必須了解其基本概念,即本質。否則,一切都是表象或者幻象。一旦我們面臨新的環境下,我們又會變得無所适從。

我是華哥。每日精進,不負光陰韶華。

贈人玫瑰,手留餘香。歡迎評論、點贊、關注,轉發。

,

更多精彩资讯请关注tft每日頭條,我们将持续为您更新最新资讯!

查看全部

相关生活资讯推荐

热门生活资讯推荐

网友关注

Copyright 2023-2025 - www.tftnews.com All Rights Reserved