當前位置: 妍妍網 > 辦公

Vlookup函式的使用方法(入門+進階+高級+最高級+最新用法)

2024-05-11辦公

N年前,蘭色曾寫過一篇 Vlookup 從入門到高級的全系列教程,被無數網站轉載和抄襲。過 了這麽多年,Vlookup函式的新用法又陸續發現了不少,所以蘭色覺得有必要再次整理一下這個工作中最常用函式用法。包含以下內容:

一、基本語法

1、參數詳解

二、入門篇

1、單條件尋找

2、遮蔽尋找返回的錯誤值

三、進階篇

1、反向尋找

2、包含尋找

3、區間尋找

4、含通配符尋找

5、多列尋找

6、多區域尋找

四、高級篇

1、多條件尋找

2、合並單元格尋找

3、帶合並單元格的多條件尋找

4、一對多尋找

5、尋找所有值放在一個單元格裏

6、尋找最後一個

7、跨多表尋找

五、新版本中的最新用法

1、批次尋找

2、多列批次尋找

一、基本語法

=Vlookup( 尋找的值 尋找區域或陣列 , 返回值所在的列數 , 精確or匹配尋找 )

語法說明:

  • 尋找的值 :要尋找的值

  • 尋找區域或陣列 :包含尋找值欄位和返回值的單元格區域或陣列

  • 返回值的在列數 :返回值在尋找區域的列數

  • 精確or匹配尋找 :值為0或False為精確尋找,值為1或true時匹配尋找。

  • 二、入門篇

    1、單條件尋找

    【例1】根據姓名尋找基本薪資

    =VLOOKUP( G2 , B:E ,4, 0 )

    註:

  • G2 :是要尋找的值

  • B:E :是尋找區域。因為要尋找的姓名在第2列,所以區域也要從B列開始。

  • 4 :是基本薪資在B:E區域中的第4列

  • 0 :是精確尋找

  • 2、尋找不到時返回空

    【例1】根據姓名尋找基本薪資

    =IFERROR(VLOOKUP(G2,B:E,4,0),"")

    註:IFERROR函式可以把錯誤值轉換為指定的值,本例公式中轉換為空

    三、進階篇

    1、反向尋找

    【例】根據姓名查部門

    =VLOOKUP(G2,IF({1,0},B1:B8,A1:A8),2,0)

    註:公式中用IF({1,0} 把B列和A列組合在一起,並把 B列放在A列前面。

    2、包含尋找

    【例】尋找含「一」的姓名對應的基本薪資

    =VLOOKUP( "*" &G2& "*" ,B:E,4,0)

    註:尋找值兩邊連線通配符*號可以實作包含尋找

    3、區間尋找

    【例】根據銷量尋找對應區間的提成

    =VLOOKUP(D2,A:B,2, 1 )

    註:當最後一個參數為1或省略時,可以實作匹配或區間尋找。規則是尋找比被尋找值小且最接近的值,並返回對應N列(第3個參數)的結果。如下圖所示尋找180,在A列尋找比180且最接近的值是100,返回100對應的提成3%。

    4、含通配符的尋找

    【例】型號尋找單價

    錯誤公式:

    =VLOOKUP(D2,A:B,2, 0 )

    正確公式:

    =VLOOKUP(SUBSTITUTE(D2,"*","~*"),A:B,2,0)

    註:把*用函式替換為~*後就可以正常尋找了

    5、橫向多列尋找

    【例】根據姓名尋找性別、年齡和基本薪資

    =VLOOKUP($G2,$B:$E, COLUMN(B1) ,0)

    註:用Column()函式生成動態數位,作為Vlookup第3個參數,一個公式向右復制即可尋找全部

    6、多區域尋找

    【例9】根據不同的表從不同的區域查詢

    =VLOOKUP(B2,IF(A2="銷售一部",A5:B9,D5:E9),2,0)

    四、高級篇

    1、多條件尋找

    【例】根據部門和姓名查薪資

    =VLOOKUP(E2&F2, IF({1,0},A2:A8&B2:B8,C2:C8) ,2,0)

    註:先把A列和B列連線在一起,再用IF({1,0} 把它和C列組合在一起構成8行2列的陣列,作為Vlookup的第2個參數

    2、合並單元格尋找

    【例】 尋找所在部門的獎金

    =VLOOKUP(VLOOKUP("座",D$2:D2,1),A:B,2,0)

    註: VLOOKUP("座",D$2:D2,1) 可以返回D列截止本行的最後一個非空值。

    3、合並單元格尋找

    【例】根據公司、產品尋找對應價格

    =VLOOKUP(F2, OFFSET(B$1, MATCH(E2,A:A,)-1 ,):C99 ,2,0)

    註:用Match尋找出部門所在行數,然後用offset函式向下偏移B1,進爾和C99構成一個動態的區域。更簡單的說就是部門在哪一行,我就用Vlookup從哪一行開始向下找。

    4、一對多尋找

    【例】尋找出人事部所有員工

    陣列公式輸入完成後按Ctrl+shift+enter結束後自動添加大括弧

    { =VLOOKUP(E$2&ROW(A1),IF({1,0},A$2:A$8&COUNTIF(INDIRECT("a2:a"&ROW($2:$8)),E$2),B$2:B$8),2,0) }

    註:

  • ROW($2:$8) ) :生成2,3,4,5,6,7,8

  • INDIRECT("a2:a"& row : 生成行數逐漸增多的7個區域

  • COUNTIF( INDIRECT : 在7個區域中分別計算部門的個數,相當於給人事部生成編號

  • IF({1,0} : 把帶編號的部門和B列構成7行兩列的新陣列

  • 5、尋找所有值放在一個單元格

    【例 】在G列設定公式,根據F列產品從左表中尋找所有符合條件的價格並用逗號隔開。

    公式:

  • E2=D2&","&IFERROR(VLOOKUP(C2,C3:E$12,3,),"")

  • G2=VLOOKUP(F2,C:E,3,)'

  • 6、尋找最後一個

    【例】尋找A產品最後一次進貨價格

    =VLOOKUP(1,IF({ 100, 0},0/(B2:B10="A"),C2:C10),2)

    註:Vlookup最後一個參數省略時,可以象lookup進行二分法尋找,用0/(條件)把不符合條件的變成錯誤值,符合條件的變成0,然後用一個足夠大的數尋找。 IF後蘭色故意把常見的1寫成100,想讓大家知道這個只 要是非0的數位都可以。

    7、跨多表尋找

    【例】從各部門中尋找員工的基本薪資,在哪一個表中不一定。

    方法1

    =IFERROR( VLOOKUP(A2,服務!A:G,7,0), IFERROR( VLOOKUP(A2,人事!A:G,7,0), IFERROR( VLOOKUP(A2,綜合!A:G,7,0), IFERROR( VLOOKUP(A2,財務!A:G,7,0), IFERROR( VLOOKUP(A2,銷售!A:G,7,0) ,"無此人資訊")))))

    方法2:

    =VLOOKUP( A2 ,INDIRECT(LOOKUP(1,0/COUNTIF(INDIRECT( {"銷售";"服務";"人事";"綜合";"財務"} &"! a:a "), A2 ), {"銷售";"服務";"人事";"綜合";"財務"} )&"! a:g "), 7 ,0)

    五、office365中的新用法

    1、批次尋找

    在最新的office365版本,尋找再多行只需要設定一個公式的

    E2單元格

    =Vlookup(d2:d12,A:B,2,0)

    2、多列尋找

    多查尋找也可以只設定一個公式

    =VLOOKUP(A11,A1:E7, {2,3,5} ,0)

    蘭色說 :這篇Vlookup教程整理 共耗時7個多小時。不敢說是全網最全的Vlookup函式教程,至少蘭色知道的Vlookup用法全在這兒了。

    蘭色根據多年經驗,錄制了一全套適合新手和初中級階段使用者學習的Excel教程。包括 Excel表格88個函式用法( 即將更新幾十個新函式,範例整理中 )、119個使用技巧、透視表從入門到精通50集、圖表從入門到精通186集 。( 綠卡會員 有效期內 免費 )詳情點選下方連結