【发布时间】:2016-12-12 21:09:15
【问题描述】:
这源于我之前的两个问题:Excel Match multiple criteria 和 Excel 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