2014-10-17 67 views
-1

我使用下面的公式作爲多重結果查找功能的一部分。我將這些公式中的幾個貼到另一個下面,因此如果我在表1上鍵入catering到單元格K22中,我的公式將在表2上的列b中查找匹配的單詞,並在列a中生成名稱。

該公式還包括重複此查找幾次以從其他列中獲取具有相同匹配結果的其他值。添加通配符查找公式?

所以比如我在表列2的樣子:

Name  Description  Location  Number 
Amy  hotel    london  1 
Dave  hotels   manchester 2 
Mike  catering   Birmingham 3 

我想要做的是使用通配符在我的細胞K22這個公式表明,如果descripion字我輸入像酒店;即酒店,酒店等等,然後找到結果? ... 我知道這可以使用索引匹配來完成,但我可以使用它們以下面的代碼:此刻這是一個數組公式,但當我嘗試這樣做時,我沒有得到任何結果。有人可以告訴我在哪裏,我錯了,坦克

=IF(ISERROR(INDEX(Sheet2!$A$1:$D$7,SMALL(IF(Sheet2!$B$1:$B$7="*"&Sheet1!$K$22&"*",ROW($B$1:$B$7)),ROW(1:1)),1)),"",INDEX(Sheet2!$A$1:$D$7,SMALL(IF(Sheet2!$B$1:$B$7="*"&Sheet1!$K$22&"*",ROW($B$1:$B$7)),ROW(1:1)),1)) & " - " &IF(ISERROR(INDEX(Sheet2!$A$1:$D$7,SMALL(IF(Sheet2!$B$1:$B$7="*"&Sheet1!$K$22&"*",ROW($B$1:$B$7)),ROW(1:1)),3)),"",INDEX(Sheet2!$A$1:$D$7,SMALL(IF(Sheet2!$B$1:$B$7="*"&Sheet1!$K$22&"*",ROW($B$1:$B$7)),ROW(1:1)),3)) & " - " &IF(ISERROR(INDEX(Sheet2!$A$1:$D$7,SMALL(IF(Sheet2!$B$1:$B$7="*"&Sheet1!$K$22&"*",ROW($B$1:$B$7)),ROW(1:1)),4)),"",INDEX(Sheet2!$A$1:$D$7,SMALL(IF(Sheet2!$B$1:$B$7="*"&Sheet1!$K$22&"*",ROW($B$1:$B$7)),ROW(1:1)),4 
+0

[在索引匹配公式中使用通配符用於excel mac?]的可能重複(http://stackoverflow.com/questions/26430552/using-wildcards-in-index-match-for穆拉換Excel的MAC) – pnuts 2014-10-18 00:40:53

回答

2

雖然你可以一個MATCH功能(在其他環境中)內查找值使用通配符,你不能在這裏使用它們。當使用通配符與=就像你有一個直接的比較,即

Sheet2!$B$1:$B$7="*"&Sheet1!$K$22&"*"

的*被解釋爲字面星號不是通配符

替換上述的所有實例與此

ISNUMBER(SEARCH(Sheet1!$K$22,Sheet2!$B$1:$B$7))