2399 |
VLOOKUP的多項式尋找 |
VLOOKUP一般情況下只能尋找一個,那麼多項該怎麼尋找呢?
例:要求把如圖表中所有關羽的消費金額全列出來
分析:經過前面的學習,我們也有這樣一個思路,我們在實現複雜的尋找時,努力的方向是怎麼重構一個尋找內容和尋找的範圍。要想實現多項尋找,我們可以對尋找的內容進行編號,第一個出現的是後面連接1,第二個出現的連接2。。。
公式剖析:
要想生成編號,就需要生成一個不斷擴充的範圍(INDIRECT("b2:b" &ROW($2:$9))。
然後在這個逐列擴充的範圍內統計關羽的個數,在連接上$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)}
VLOOKUP函數搜尋關羽的各筆資料,透過IF({1,0}把編號後的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儲存格。
由於沒有資料的儲存格會顯示#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儲存格。
通過以上的講解,需要知道,VLOOKUP函數的基本用法是固定的,要實現高級尋找,就需要借助其他函數來重構尋找內容和尋找陣列。
部落格相關範例
2017.04.06 |
|
2019.07.04 |
|
2018.12.02 |
|
2017.07.15 |
|
2017.04.07 |
|
2019.05.12 |
|
2019.10.28 |
|
2021.01.21 |
|
2017.09.26 |
|
2017.04.22 |
留言列表