Excel 公式用于检查/匹配不同方向的两张表之间的数据

Excel 公式用于检查/匹配不同方向的两张表之间的数据

我想检查此源数据(源表)数据为输出表。我尝试使用 IFS 的两个逻辑,但第二个逻辑被绕过了

源表

输出表

=IFS(Ouput!B2=INDEX('Source'!$D$5:$D$685,MATCH(Output!B2,'Source'!$D$5:$D$685,0)),"OK",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")

答案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相匹配。SourceOutput!A2Output!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 种可能的结果

  • FINEOutput!A2- 、Output!B2和中的值与表格Output!C2一致Source
  • MISMATCH-年份列和公司行的值与工作表中的值Output!C2不一致SourceOutput!A2Output!B2
  • #N/A- 不是工作表Output!A2中的有效年份Source,或Output!B2不是工作表中的有效公司Source(或可能两者兼而有之)。

该公式只是从原始公式中获取第二个条件,并将其用作函数的条件部分IF。如果所有条件都不成立,则IFS返回,在这种情况下最好是,因为它可以将无效年份或公司(在或)导致的错误与中的不一致值区分开来。#N/ATRUEIFIFSOutput!A2Output!B2Output!C2

相关内容