close

2399

VLOOKUP的多項式尋找

VLOOKUP一般情況下只能尋找一個,那麼多項該怎麼尋找呢?

例:要求把如圖表中所有關羽的消費金額全列出來

image

分析:經過前面的學習,我們也有這樣一個思路,我們在實現複雜的尋找時,努力的方向是怎麼重構一個尋找內容和尋找的範圍。要想實現多項尋找,我們可以對尋找的內容進行編號,第一個出現的是後面連接1,第二個出現的連接2。。。

公式剖析:

要想生成編號,就需要生成一個不斷擴充的範圍(INDIRECT("b2:b" &ROW($2:$9))

image

然後在這個逐列擴充的範圍內統計關羽的個數,在連接上$B$2:$B$9後就可以對所有的人進行編號了。

框選F2:F9儲存格輸入公式

=$B$2:$B$9&COUNTIF(INDIRECT("b2:b"&ROW($2:$9)),E$2)

再按CTRL+SHIFT+ENTER鍵完成陣列公式輸入。

公式變為:

{=$B$2:$B$9&COUNTIF(INDIRECT("b2:b"&ROW($2:$9)),E$2)}

image

VLOOKUP函數搜尋關羽的各筆資料,透過IF({10}把編號後的B欄和C欄重組構成一個兩欄陣列,傳回其消費額。

F2儲存格輸入公式:

=VLOOKUP(E$2&ROW(A1),IF({1,0},$B$2:$B$9&COUNTIF(INDIRECT("b2
:b"&ROW($2:$9)),E$2),$C$2:$C$9),2,)

再按CTRL+SHIFT+ENTER鍵完成陣列公式輸入。

向下複製到F3:F9儲存格。

image

由於沒有資料的儲存格會顯示#N/A錯誤訊息,故再加上IFERROR函數將錯誤訊息儲存格變為空白。

最後在F2儲存格輸入公式:=IFERROR(VLOOKUP(E$2&ROW(A1),IF({1,0},$B$2:$B$9&COUNTIF(INDIRECT("b2
:b"&ROW($2:$9)),E$2),$C$2:$C$9),2,),"")

再按CTRL+SHIFT+ENTER鍵完成陣列公式輸入。

向下複製到F3:F9儲存格。

image

通過以上的講解,需要知道,VLOOKUP函數的基本用法是固定的,要實現高級尋找,就需要借助其他函數來重構尋找內容和尋找陣列。

部落格相關範例

2017.04.06

334Excel中實現多條件查找的15種方法

2019.07.04

Q19Vlookup抓數值不抓單位()

2018.12.02

1065EXCEL 注塑機問題統計表製作-機台BY日期

2017.07.15

308使用Excel公式標示出表格中人員年齡段區間的方法

2017.04.07

370LOOKUP函數:一個比VLOOKUP好用10倍的查找函數

2019.05.12

Q112請問Excel高手,要怎麼用公式自動算出運費?

2019.10.28

831Excel 函數模糊比對應用-VLOOKUP函數

2021.01.21

2152VLOOKUP函數應用-房地產行業

2017.09.26

3938類最需要掌握的Excel函數

2017.04.22

407學會十個常用Excel函數,助你成為辦公高手

 


arrow
arrow
    創作者介紹

    錦子老師 發表在 痞客邦 留言(0) 人氣()