![Microsoft Excel 中复杂的多条件查询](https://linux22.com/image/1541328/Microsoft%20Excel%20%E4%B8%AD%E5%A4%8D%E6%9D%82%E7%9A%84%E5%A4%9A%E6%9D%A1%E4%BB%B6%E6%9F%A5%E8%AF%A2.png)
我需要对如下配置的电子表格执行一个复杂的查询:
A B C D
a1 b1 c1 d1
a2 b2 c2 d2
.. .. .. ..
下列条件须同时满足:
A 是特定字符串富
B 必须是一个特定的字符串酒吧
C 必须为真
如果以上所有条件不能同时满足,则取值 3。如果以上条件都满足,但 D 不是所需的字符串福巴,则给出值 2。如果所有条件都满足(包括 D 条件),则返回 1。
我使用以下语法:
=IF(ISERROR(MATCH(1, (A2:A24="foo")*(B2:B24="bar")*(C2:C449=TRUE),0))=TRUE, 3, IF(ISERROR(MATCH(1, (A2:A24="foo")*(B2:B24="bar")*(C2:C449=TRUE)*(D2:D449="foobar"),0))=TRUE, 2, 1))
最后一个“ISERROR”似乎有问题。它本身也没有返回正确的值。
答案1
这有效:
=IF(ISERROR(MATCH(1,(A2:A24="foo")*(B2:B24="bar")*(C2:C449=TRUE),0)),3,IF(ISERROR(MATCH(1,1*(D2:D449="foobar"),0)),2,1))
您不需要第二次检查 A、B 和 C,因为只有在那里找到正确的值才能到达第二个 IF()。
编辑:您发布的公式也正确运行。但这两个公式都是大批公式必须用Ctrl++输入ShiftEnter