【问题标题】:Excel Match Multiple Criteria plus SearchExcel 匹配多个条件加搜索
【发布时间】:2016-12-12 21:09:15
【问题描述】:

这源于我之前的两个问题:Excel Match multiple criteriaExcel find cells from range where search value is within the cell。抱歉,如果我张贴过多,但我认为每个问题都略有不同,如果我不能将他们的答案标记为正确,那么为后续问题打扰人们似乎是不公平的。

我有这段工作代码,它检查 3 列数据,如果满足所有条件,则从 range1 返回一个值:

=INDEX(range1,MATCH(1,(A2=range2)*(B2=range3)*(SEARCH(range4,J2)),0))

但是,如果在 range4 OR range5 中找到匹配项,我需要 SEARCH 选项才能工作,感谢本网站的 John Bustos 和 Barry Houdini,我知道如何在 MATCH 函数中使用 OR 命令:

=INDEX(range1,MATCH(1,(A2=range2)*(B2=range3)*(((C2 = range4)+(D2 = range5))>0),0))

上面的代码适用于完全匹配,但是 C2 和 D2 的值是包含在单个单元格中的数字列表,并且 range4 和 range5 是每个单元格中的单个年份,因此必须使用 SEARCH 函数来检查单个年份是否出现在年份列表中。所以,从上面的两段代码来看,我认为这会起作用:

=INDEX(range1,MATCH(1,(A2=range2)*(B2=range3)*(((SEARCH(range4,J2))+(SEARCH(range5,J2))>0)),0))

但是,它没有,也没有:

=INDEX(range1,MATCH(1,(A2=range2)*(B2=range3)*(((SEARCH(range4,J2))+(SEARCH(range5,J2)))),0))

我记得按 CTRL+SHIFT+ENTER,它总是返回 #N/A。我知道它应该返回值,因为第一个示例在我尝试将其转换为 OR 命令之前有效。

我希望有人能对此有所了解。提前致谢,

最好的祝愿,

【问题讨论】:

    标签: excel search excel-2007 match


    【解决方案1】:

    您在更改为 SEARCH 时遇到的问题是,在以前版本的公式中,C2=range4 的结果是 TRUE 或 FALSE,而 SEARCH(range4,J2) 返回一个数字(J2 中范围 4 值的位置)或价值!如果它不在 J2 中,则会出错

    ...所以如果只有一个 SEARCH 找到了一个值而另一个没有找到,你仍然会得到那个没有找到的错误,而 MATCH 不会得到匹配,所以“OR”不会't work........要解决这个问题,您需要添加一些东西以使 SEARCH 返回 TRUE 或 FALSE - 您可以使用 ISNUMBER 来做到这一点,即

    =INDEX(range1,MATCH(1,(A2=range2)*(B2=range3)*(ISNUMBER(SEARCH(range4,J2))+ISNUMBER(SEARCH(range5,J2))>0),0))

    还要注意你引用的第一个公式:

    =INDEX(range1,MATCH(1,(A2=range2)*(B2=range3)*(SEARCH(range4,J2)),0))

    可能无法按预期工作,因为 SEARCH 可能返回 1 以外的数字,因此您还需要 ISNUMBER,即

    =INDEX(range1,MATCH(1,(A2=range2)*(B2=range3)*ISNUMBER(SEARCH(range4,J2)),0))

    【讨论】:

    • 就是这个!我以为会是这样,但是我冗长的解决方法导致了内存问题。我正在添加 (IF(SEARCH(range4,J2))>0,1,0)+(IF(SEARCH(range5,J2))>0,1,0) 但我什至无法评估。谢谢巴里,你在我目前的工作中帮助了我很多,我非常感谢你的帮助和非常简洁的解释。
    【解决方案2】:

    对于数组公式不是“Ctrl + Shift + Enter”。试试看它是否有任何作用。

    【讨论】:

    • 糟糕,是的,这也是我在自动驾驶上一直在做的事情,只是输入了 DEL。
    • 用户安全登录...完全明白!干杯!
    猜你喜欢
    • 1970-01-01
    • 2019-10-22
    • 1970-01-01
    • 2023-04-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2018-10-07
    • 2016-05-04
    相关资源
    最近更新 更多