最近幾天蘭色和多列查找公式杠上了。這本是一個很常見的問題,有很多種解法。
如下圖所示,需要在右表中根據(jù)姓名從左表中查找對應(yīng)的信息。
看到這種問題,很多同學(xué)第一時間會想到用Vlookup Match的組合,Match查找列數(shù)作為Vlookup的第3個參數(shù),可有兩個問題很難搞定:
蘭色,為了一個多列查找,有必要寫這么復(fù)雜的公式嗎?嘿嘿,讓你看看它的功能,估計就會有很多同學(xué)想學(xué)習(xí)了。
1、它只需要一個公式就可以查詢?nèi)俊?br>
2、列的順序隨意,當(dāng)然反向查找更不是問題。
最厲害的來了!
3、你可以隨意增減查找的列數(shù)和行數(shù),公式可以自動擴(kuò)充。(如果你想做一個動態(tài)查詢表格,這個自動擴(kuò)充的公式肯定會用上的)
嘿嘿,有沒有引起你的學(xué)習(xí)興趣?如果有,蘭色就把這個公式的原理和運算過程分析一下。
要實現(xiàn)一個公式返回所有行列結(jié)查詢結(jié)果,filter函數(shù)是必選。而解決列的順序則由CHooseCols函數(shù)(wps和office365新增函數(shù),返回一個表格的指定列)完成。
=CHOOSECOLS(A2:E8,MATCH(TOCOL(H1:P1,1),1:1,0))
公式說明:
TOCOL(H1:P1,1): H1:P1可以改為更多列區(qū)域,為了除去空白,需要用tocol函數(shù),參數(shù)1時可以忽略空白。如果你的版本不支持tocol,可以安裝一個免費版的WPS
MATCH(TOCOL(H1:P1,1),1:1,0):從左表中查找列數(shù),作為ChooseCols的第二個參數(shù),從而篩選出結(jié)果列。
最難的區(qū)域搞定了!再結(jié)Filter加一個條件就OK了
=FILTER(CHOOSECOLS(A2:E8,MATCH(TOCOL(H1:P1,1),1:1,0)),COUNTIF(G2:G11,C2:C8)>0)
公式說明:
這里用Countifs統(tǒng)計G列的姓名在C列是否存在,為了讓行數(shù)自適應(yīng),G2:G11也可以設(shè)置更多行
蘭色說:在實際工作中,常需要很多函數(shù)配合才能解決復(fù)雜的難題,為什么高手會你卻不會,因為懶!遇到難一些的公式就寧肯手工也不想學(xué),久而久之,你就拉開了和高手的距離。(當(dāng)然也可能沒遇到更好書或課程),本文蘭色寫了兩個多小時,覺得有用的同學(xué)別忘了點右下角的大拇指和在看哦。
蘭色根據(jù)多年經(jīng)驗,錄制了一全套適合新手和初中級階段用戶學(xué)習(xí)的Excel教程。包括Excel表格88個函數(shù)用法(即將更新幾十個新函數(shù),示例整理中)、119個使用技巧、透視表從入門到精通50集、圖表從入門到精通186集。(綠卡會員有效期內(nèi)免費)詳情點擊下方鏈接