Excel/Calc 给出错误的比较结果(发送文件后)

问题描述 投票:0回答:1

在 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 excel-formula spreadsheet libreoffice-calc
1个回答
0
投票

问题是 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
功能将数字转换为文本)。

© www.soinside.com 2019 - 2024. All rights reserved.