Excel 公式:不认为两个单元格相等

Excel Formula: Not recognising two cells as equal

在我的 Excel 电子表格中,我有以下公式(在 Q 列中):

=IF(AND(I2=P2,I2<>""),"FUNC_FROM",(IF(AND(J2=P2,J2<>""),"PHYS_FROM",(IF(P2="","","NEW_FROM")))))

这是将 P 列中的内容与 I 列和 J 列中的内容进行比较。我的预期结果是:

  • If P=I AND I is not null, Q should show FUNC_FROM;
  • If P=J AND J is not null, Q should show PHYS_FROM;
  • If P is null, Q should be null
  • Else Q should show NEW_FROM

我的问题是,只有最后两个项目符号似乎有效,如果 P 不为空,我的 Q 列将填充 NEW_FROM,如果 P 为空,则保留为空。当值应该是 PHYS_FROM 或 FUNC_FROM 时,我得到的值是 NEW_FROM。

在调查该问题后,我确定 Excel 根本没有将单元格识别为相等,因此我从我的公式中得到了这些结果。

关于为什么会发生这种情况有什么想法吗?

注意:如果我手动将值输入到 P 中,那么它会识别单元格是否相等。

请记住,空白单元格不一定是空白单元格,单元格 xyzzy<space>xyzzy 可能 看起来 相同但是 Excel 知道得更多。

检查 单元格的实际内容,您可能必须开始使用类似 trim() 的东西在比较之前删除前导和尾随 space。

例如,这是一个示例,其中 I2 单元格的末尾有一个 space,这会导致第一个测试为假:

编辑 I2 单元格以 删除 最后 space 解决了问题: