2014-10-17 59 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))