为什么两个看似具有相同值的 Excel 单元格测试结果却不匹配?

为什么两个看似具有相同值的 Excel 单元格测试结果却不匹配?

我正在为工作表创建验证列。我已附上正在发生的情况的图片。

  • A 列包含索引函数,并且正常工作。公式显示在图像底部。
  • B 列使用索引值进行硬编码(无函数),从外部文件 #2 剪切粘贴。此列将用作查找列,以将其他数据引入原始文档。
  • C 列比较 A/B 中的值并有条件地格式化单元格。如果两个文件中的某行可能缺失,我们可以快速直观地了解列表不同步的位置,以便纠正错误。
  • 正如您在附图中所看到的,D 列返回了意外结果。

以下是我已经验证过的事情:

  • 工作表大约有 3000 行和 40 列。我以前处理过更大的文件,没有发生过任何意外。
  • Cols ABDF 已格式化Number>Special>0000.00
  • AB 公式中注明的 CC 列包含数字 2 或数字 3。我尝试将数字格式从general改为Number>Special>0000.00
  • Cols ABDF 已扩展到大约小数点后 20 位,并且我没有在任何值中发现孤独的 .000000000001。
  • 我已刷新了我的数据,因此所有内容均重新计算为最新内容。
  • 创建 D 和 F 列只是为了测试是否可以获取值并进行比较并获得不同的结果。我没有得到不同的结果;我的测试出现在上传的图像上。
  • 是的,我进行了冷重启并重新启动了 Excel。:)

在此处输入图片描述

有什么想法或提示发生了什么事或在哪里寻找如何纠正它?

答案1

您可以尝试将值作为文本字符串进行比较:

=IF(TEXT(E364,"0000.00")=TEXT(F364,"0000.00"),"OK","Danger Will Robinson!")

或者,从外部文件导入的数据可能存在精度问题。在这种情况下,您可以更改测试:

=IF(Abs(E364-F364)<0.00001,"OK","Danger Will Robinson!")

第二种选择假设您可以安全地将相差 0.00001 的数字视为“相等”。如果不是,只需将该等式中的小数位数增加到我认为最多 15 位即可。

相关内容