Excel较小的函数不能按预期工作

时间:2016-06-15 10:00:05

标签: excel excel-formula

我最近遇到了一个与使用<>的公式相关的奇怪问题。运营商。假设我有以下单元格:

A2我有公式=TODAY()

B2我有一个字母数字字符串,比如QWRSTY-11。最后两个数字代表日历周

C2我有以下公式 =IF(ISOWEEKNUM(A2)<RIGHT(B2,2),"X","0")

由于今天是2016年6月15日,周数是24,公式应该返回"0"。相反,它返回"X"

要仔细检查我的公式,请在D2中输入以下内容: =ISOWEEKNUM(A2)-RIGHT(B2,2) 这个公式返回"13",这是正确的!!

我不明白这里发生了什么。我使用了Evaluate公式,但它没有提供任何线索。谷歌也没有帮助。 任何建议将不胜感激。

修改

我的不好,我没有完全测试乔丹提出的解决方案。添加N功能不起作用。例如,如果B2中的字符串使用QWRSTY-88之类的内容进行更改,则C2中的公式将返回“0”。我使用Evaluate公式来了解发生了什么。似乎“88”被视为文本,因此N(“88”)返回“0”。 提前感谢任何建议。

2 个答案:

答案 0 :(得分:0)

可能是因为您正在将文本值与数值进行比较。尝试使用Right转换使用N函数提取的文本:

=IF(ISOWEEKNUM(A2)<N(RIGHT(B2,2)),"X","0")

答案 1 :(得分:0)

我找到了答案:使用VALUE函数转换用Right函数提取的文本。