當前位置: 妍妍網 > 辦公

再見 Vlookup+Match,全自動尋找公式來了!

2024-04-16辦公

最近幾天蘭色和多列尋找公式杠上了。這本是一個很常見的問題,有很多種解法。

如下圖所示,需要在右表中根據 姓名 從左表中尋找對應的資訊。

看到這種問題,很多同學第一時間會想到用Vlookup+Match的組合,Match尋找列數作為Vlookup的第3個參數,可有兩個問題很難搞定:

  • 根據多列尋找 (如本例中如果部門中有重名的)

  • 反向尋找 (如本例根據姓名尋找)

  • 所以這個老掉牙組合已經過時了,讓同學們看看蘭色用了一天寫的智慧公式:

    =FILTER(CHOOSECOLS(A2:E8,MATCH(TOCOL(H1:P1,1),1:1,0)),COUNTIF(G2:G11,C2:C8)>0)

    蘭色,為了一個多列尋找,有必要寫這麽復雜的公式嗎?嘿嘿,讓你看看它的功能,估計就會有很多同學想學習了。

    1、它只需要一個公式就可以查詢全部。

    2、列的順序隨意,當然反向尋找更不是問題。

    最厲害的來了!

    3、你可以隨意增減尋找的列數和行數,公式可以自動擴充。( 如果你想做一個動態查詢表格,這個自動擴充的公式肯定會用上的

    嘿嘿,有沒有引起你的學習興趣?如果有,蘭色就把這個公式的原理和運算過程分析一下。

    要實作一個公式返回所有行列結查詢結果,filter函式是必選。而解決列的順序則由CHooseCols函式( wps和office365新增函式, 返回一個表格的指定列 )完成。

    =CHOOSECOLS(A2:E8, MATCH ( TOCOL(H1:P1,1) ,1:1,0) )

    公式說明:

  • TOCOL(H1:P1,1) H1:P1可以改為更多列區域,為了除去空白,需要用tocol函式,參數1時可以忽略空白。如果你的版本不支持tocol,可以安裝一個免費版的WPS

  • MATCH ( TOCOL(H1:P1,1) ,1:1,0): 從左表中尋找列數,作為ChooseCols的第二個參數,從而篩選出結果列。

  • 最難的區域搞定了!再結Filter加一個條件就OK了

    =FILTER(CHOOSECOLS(A2:E8,MATCH(TOCOL(H1:P1,1),1:1,0)), COUNTIF(G2:G11,C2:C8)>0 )

    公式說明:

    這裏用 Countifs 統計G列的姓名在C列是否存在,為了讓行數自適應, G2:G11 可以設定更多行

    蘭色說 :在實際工作中,常需要很多函式配合才能解決復雜的難題,為什麽高手會你卻不會,因為 !遇到難一些的公式就寧肯手工也不想學,久而久之,你就拉開了和高手的距離。( 當然也可能沒遇到更好書或課程 ),本文蘭色寫了兩個多小時,覺得有用的同學別忘了點右下角的 大拇指 在看 哦。

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