正确(text; 5)与5个字符的文本不一样
我有一个匹配function,我无法工作。 我把它解释为无法find合适的匹配,因为值显然不一样。
单元格D59中的值为21337。 在单元格S59中,我有这样的函数:右($ d59; 5),它显示21337.然而,当我input一个单元格:= D59 = S59我得到返回FALSE。
我使用Right()函数,因为D列中的单元格包含连续的值,最后5个值是重要的。 例如D60包含21337 – 21448,其中21448是我想要匹配的值。
任何人都有可能是什么问题的线索?
没有格式化,你会看到21337是正确的alignment – 显示这是一个数字,并被视为Excel的数字。
另一方面, Right($d59;5)
将显示左alignment的数字,表示返回的值被Excel视为文本。
如果您尝试Right($d59;5)*1
Excel将隐式地将该值转换回数字(由于执行了计算),并且两个值将相等。
正如Brian所指出的,要明确转换,使用VALUE(Right($d59;5))
。
如果使用“公式”>“评估公式”,是否显示倒数第二个评估为21337="21337"
LEFT(..)函数将数字转换为一个string,而string和数字不会相等。 尝试使用=TEXT(D59,"#")=S59
或=D59=N(Left(S59))
来进行比较转换,或将S59中的代码更改为=N(Right($D59,5))
S59显示一个数字
(N(..)函数将string转换为数字,如果不是数字则返回0)