大名鼎鼎的VLOOKUP函數(shù)是表親的好伙伴,遇到數(shù)據(jù)查詢的時(shí)候,總離不開她。 但是VLOOKUP函數(shù)也有一定的局限性,通常情況下,只能返回符合條件的單個(gè)結(jié)果,如果有多個(gè)符合條件的結(jié)果,如何用VLOOKUP提取呢? 先來(lái)看一段動(dòng)畫吧:
=COUNTIF(B$2:B2,F$1) =IFERROR(VLOOKUP(ROW(A1),A:C,3,0),'') 先簡(jiǎn)單說說輔助列中公式的意思。 用COUNTIF函數(shù)在B$2:B2這個(gè)區(qū)域內(nèi)統(tǒng)計(jì)查詢值(F1單元格)出現(xiàn)的次數(shù)。 這個(gè)B$2:B2是有講究的,第一個(gè)B2是行絕對(duì)引用,第二個(gè)B2是相對(duì)引用,這樣公式在向下復(fù)制時(shí),就依次變成了B$2:B3、B$2:B4、B$2:B5……。 也就是隨著公式向下復(fù)制,給COUNTIF函數(shù)指定一個(gè)逐行擴(kuò)展的引用區(qū)域。 COUNTIF函數(shù)能夠統(tǒng)計(jì)B列從B2單元格開始,到公式所在行這個(gè)范圍中,與查詢值相同的個(gè)數(shù)。 如果查詢值在B列是第一次出現(xiàn),結(jié)果就是1;如果是第二次出現(xiàn),結(jié)果就是2…… 假如只有兩個(gè)符合條件的結(jié)果,查詢值出現(xiàn)之后的其他內(nèi)容,結(jié)果仍然是2. 再來(lái)說說查詢用到的公式: =IFERROR(VLOOKUP(ROW(A1),A:C,3,0),'') 公式中的ROW(A1)部分,公式向下復(fù)制時(shí),依次變?yōu)?/span>ROW(A2)、ROW(A3)……,結(jié)果得到1、2、3……的遞增序列。 VLOOKUP函數(shù)使用這個(gè)遞增序列作為查詢值,在A:C列中,以精確匹配的方式返回與序號(hào)相對(duì)應(yīng)的姓名。 注意查找區(qū)域必須由輔助列A列開始哦,否則咱們的輔助列就白瞎了。 由于VLOOKUP函數(shù)默認(rèn)只能返回第一個(gè)滿足條件的記錄,因此得到序號(hào)第一次出現(xiàn)的對(duì)應(yīng)結(jié)果,也就是與F1單元格班級(jí)相同的對(duì)應(yīng)姓名。 當(dāng)ROW函數(shù)的結(jié)果大于A列中的最大的數(shù)字時(shí),VLOOKUP函數(shù)會(huì)因?yàn)椴樵儾坏浇Y(jié)果而返回錯(cuò)誤值#N/A,IFERROR函數(shù)用于屏蔽錯(cuò)誤值,使之返回空文本''。 怎么樣,你理解了嗎?還是那句話,光說不練假把式,動(dòng)手試試吧。
一大波免費(fèi)公開課,精彩即將開啟 點(diǎn)左下角【閱讀原文】立刻報(bào)名免費(fèi)公開課吧! |
|