2017-07-27 208 views
0

我試圖使用INDEX搜索而不是VLOOKUP,因爲我想在單元格中顯示一個字符串的所有關聯單元格。例如,如果我的字符串是「Bob」,我希望能夠在列B中搜索「Bob」的所有實例,然後生成列C中的所有相關值。這將在其他列中垂直顯示。使用通配符(「*」)的Excel索引搜索

下面是一個website的公式,我目前使用要做到這一點:

=IFERROR(INDEX($B$1:$C$1188,SMALL(IF((D$2=$B$1:$B$1188),ROW($B$1:$B$1188)-MIN(ROW($B$1:$B$1188))+1,""),ROW(A1)),2),"") 

但是,我的數據是不完美的和非常大的,所以我希望能夠使用通配符「',因此我搜索'Bo'&「」並返回列B中以「Bo」開頭的所有值。該公式將被修改爲:

=IFERROR(INDEX($B$1:$C$1188,SMALL(IF((D$2 & "*"=$B$1:$B$1188),ROW($B$1:$B$1188)-MIN(ROW($B$1:$B$1188))+1,""),ROW(A1)),2),"") 

不幸的是,這似乎並不奏效。我已經嘗試過這麼小的規模,但它仍然無法正常工作。

回答

0

使用此:

=IFERROR(INDEX(C:C,AGGREGATE(15,6,ROW($B$1:$B$1188)/(LEFT($B$1:$B$1188,LEN($D$2))=$D$2),ROW(1:1))),"") 

enter image description here

+0

我這個玩周圍,它似乎並不奏效。但是,我確實意識到核心問題是'D $ 2 = $ B $ 1:$ B $ 1188'部分。返回一個數組,如{TRUE,FALSE,FALSE,TRUE等}。但由於某種原因,如果您執行了「D $ 2&」*「= $ B $ 1:$ B $ 1188',它將返回全部FALSE。 – sach2000

+0

我剛剛重新編輯了使用LEFT的答案。 –

+0

This Works!非常感謝 – sach2000