【问题标题】:Index Match with Multiple Criteria while looking for a certain string在查找某个字符串时使用多个条件进行索引匹配
【发布时间】:2022-01-04 22:28:18
【问题描述】:
   A          B          C
1  Name       Last Name  ID
2  Ben        Dafflin    ID1001
3  Yu         Yiin       ID1002
5  Max        Gray       ID1003
6  John Carl  Flit       ID1004
Situation 1 : Index Match with wildcards "*" (Working Fine!)
Formula    : =INDEX($C:$C,MATCH("*John*",$A:$A,0))
Result      : ID1004


Situation 2 : Index Match with multiple criteria (Working Fine!)
Formula     : =IFERROR(INDEX(D:D,MATCH(1,(B:B="Flit")*(C:C="John Carl"),0)),"")
Result      : ID1004

问题: 在情况 2 中,如果它只查找带有 "Carl""*Carl*" 的单元格,则它不起作用。任何建议我将如何使用索引与多个条件匹配但仍然可以查找包含此类特定字符串的单元格的情况 2。

【问题讨论】:

  • 你有 Office 365 吗?

标签: excel indexing match


【解决方案1】:

要让您的第二个公式返回一个值,您只需引用正确的列:=IFERROR(INDEX(C:C,MATCH(1,(B:B="Flit")*(A:A="John Carl"),0)),"")

如果您想在有多个条件的情况下使用带有MATCH 的通配符,您可以尝试:

=INDEX(C:C,MATCH(1,1/(ISNUMBER(SEARCH("*Carl*",A:A))*(B:B="Flit")),0))

如果你有 Office 365

=FILTER(C:C,ISNUMBER(SEARCH("*Carl*",A:A))*(B:B="Flit"))

【讨论】:

  • 如果Carl 不在A:AFlit 不在B:B 中,则第一种情况(非365)返回#N/A。当然,如果 OP 1st 公式失败(即使在您修复它之后),也会发生这种情况。所以也许没关系(很难说)。
  • @Spinner 我以为他想同时匹配两者,所以我希望得到这样的结果。
  • 正如我所说,很难说。他们的第二个公式(他们想要进一步调整的那个)如果找不到则返回“”(而他们的第一个没有)。无论哪种方式,如果他们想要的话,我相信他们可以适应它。
【解决方案2】:

匹配多列时的查找
还有另一种方法可以解决这个问题,它更简单,可能更合适:

{=INDEX(C:C,MATCH("*CarlFlit",A:A&B:B,0))}

上面当然是一个数组公式(因此打开{和关闭}
a) 匹配的数组是列AB 连接成单个字符串的行
b) 这个具体的例子当然是找(*wild-carded)*CarlFlit
c) 当然,可以是任何值的组合和有效的MATCHwildcards

如果要查找的值在单元格中(而不是硬编码到公式中),只需引用这些单元格:

{=INDEX(C:C,MATCH(E2&F2,A:A&B:B,0))}

添加不匹配检查(使用上面的第一个示例):

{=IF(ISNUMBER(MATCH("*CarlFlit",A:A&B:B,0)),INDEX(C:C,MATCH("*CarlFlit",A:A&B:B,0)),"Not Found")}

其他信息
上面的公式可以扩展以适应任意数量的列的匹配。
o 只需在每个附加列中添加&(以适合您目的的任何顺序)。

出于性能的原因,让查找函数查看整个列并不是一个好主意。
a) 更好地使用(例如){=INDEX($C$1:$C$1000,MATCH("*CarlFlit",$A$1:$A$1000&$B$1:$B$1000,0))}.
b) 其中1000 当然是您查找范围内的示例last row

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2020-06-26
    • 2020-08-02
    • 1970-01-01
    • 2019-12-28
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多