在Excel中根據條件查找匹配多個值

在Excel中根據條件查找匹配多個值(vlookup只能匹配第一個值)
以前在深圳的時候就被問過這個問題,今天又遇到同事在問,索性記錄在此。

 以下圖,根據E列的值,在A列中查找對應的數據,輸出匹配行上B列的值,依次填入到F\G\H...列


 公式拆解
首先,它是一個數組公式
COLUMN(A$1) 
從F列往右,返回值爲1,2,3,4,5,6……序列數,表示匹配到的第幾個值

ROW($1:$2000)
返回1:2000 各行的行號

IF($A$1:$A$2000=$E1,ROW($1:$2000),4^8) 
A列數據和E列當前行數據進行匹配,相等,則返回行號,不相等,返回一個常數4^8,即65536,在Excel2003中,它是表格的最後一行

SMALL(IF(xxx),COLUMN())
返回第COLUMN()個最小值,即依次返回A列上匹配到的值對應的行號
 
INDEX($B:$B,SMALL())
在B列返回SMALL指定行號的值

INDEX()&""
將結果轉換爲文本 

 {}
括弧表示這是一個數組公式 
相關文章
相關標籤/搜索