[Excel]只用一个函数,搞定表格比较问题

数据校验也是我们在工作中常会遇到的问题。火箭君也曾和大家一起讨论过如何使用条件格式进行数据校验([Excel]对比不同表格的数据差异,条件格式也能帮你搞定)。事实上,如果你只需要知道某两张表格是否完全一致,还有一个最简单的方法:SUMPRODUCT函数。

比较两个表格

假设这里有表1和表2两张表格,在工作表的任意位置键入:

=SUMPRODUCT((表1=表2)-1)=0

如果答案是TRUE(也就是正确的意思),就意味着表1和表2完全相同。而如果答案是FALSE(也就是错误的意思),也就证明表1和表2不完全一样。在以上案列中,由于D4的值与D12的值并不相等,因此显然两张表格并不完全相同。

解析公式

使用SUMPRODUCT函数,可以将表格转化成矩阵进行比较,再将比较的结果转化成矩阵的值。但是SUMPRODUCT函数还有一个特点,它会将非数值型的数组元素作为0处理。因此如果没有“-1”,你会得到这么一个类似的计算过程:

罗辑值显然是属于非数值型的数组元素,因此如果没有减1,那么无论两个表格的比较结果是什么,SUMPRODUCT函数的结果都是0。

如果公式中有了「-1」之后,整个比较结果会被强制转换为数字,再和「-1」进行计算。

因而:

  • 原先的TRUE,变成了0

  • 原先的FALSE,变成了-1

这样,所有的比较结果就不再是永远为0了。