答案1
您已接近获得所需的公式,但还没有完全获得。
提供的Output!B2
是表中的有效公司Source
,那么您的第一个条件IFS
Output!B2=INDEX(Source!$D$5:$D$685,MATCH(Output!B2,Source!$D$5:$D$685,0))
一直会TRUE
。
因此,您的公式将始终返回,OK
并且您的第二个条件IFS
永远不会被测试。
(IFS
函数包含一系列按顺序考虑的条件/值对。当函数遇到满足条件时,它会停止,TRUE
并提供相应的值作为其结果。实际上,后续的条件/值对将被忽略。)
如果您从公式中删除第一个条件/值对并将 更改为 ,IFS
那么IF
您将测试 中的值是否与 给出的年份的列和 给出的公司行 中的值Output!C2
相匹配。Source
Output!A2
Output!B2
例如:
=IF(Output!C2=INDEX(Source!$E$5:$Y$685,MATCH(Output!B2,Source!$D$5:$D$685,0),MATCH(Output!A2,Source!$E$4:$Y$4,0)),"FINE","MISMATCH")
此公式有 3 种可能的结果
FINE
Output!A2
- 、Output!B2
和中的值与表格Output!C2
一致Source
MISMATCH
-年份列和公司行的值与工作表中的值Output!C2
不一致Source
Output!A2
Output!B2
#N/A
- 不是工作表Output!A2
中的有效年份Source
,或Output!B2
不是工作表中的有效公司Source
(或可能两者兼而有之)。
该公式只是从原始公式中获取第二个条件,并将其用作函数的条件部分IF
。如果所有条件都不成立,则IFS
返回,在这种情况下最好是,因为它可以将无效年份或公司(在或)导致的错误与中的不一致值区分开来。#N/A
TRUE
IF
IFS
Output!A2
Output!B2
Output!C2