在 Excel 中,我有小时和分钟,格式如
10:00
。
=LEFT(SEARCH(":";R1C1)-1)
有助于获得时间。
我使用
IF
并将输出与数字进行比较。
但我发现在上传和下载文件(例如从电子邮件)后,像
10<8
或10>20
这样的公式检查会给出错误的答案。 Excel 和 LibreOffice Calc 中仍然存在该问题。为什么会这样,以及要改变什么?
这是我使用的公式(检查时间是否在上午 8 点到晚上 8 点之间,并给出 CLOSED 或 时间):
=IF(LEFT(R1C1; SEARCH(":"; R1C1)-1)<8; "CLOSED"; IF(LEFT(R1C1; SEARCH(":"; R1C1)-1)>20; "CLOSED"; R1C1))
问题是 Excel/Calc 可能会将使用
LEFT
获得的输出解释为文本,而不是数字。因此,有一个调整。只需添加 +0
即可。然后10+0<8
或10+0>20
就会给出正确答案。
这是一个可能的公式
+0
:
=IF(LEFT(R1C1; SEARCH(":"; R1C1)-1)+0<8; "CLOSED"; IF(LEFT(R1C1; SEARCH(":"; R1C1)-1)+0>20; "CLOSED"; R1C1))
您不妨使用
VALUE
函数来 将文本值转换为数字值以进行数字比较,而不使用 +0
(仅供参考,类似地,无需将空字符串连接为 &""
等调整,您可以使用 TEXT
功能将数字转换为文本)。