减去日期时出现 Excel #VALUE 错误

减去日期时出现 Excel #VALUE 错误

如果第二个日期尚未发生,则尝试使用 IF 函数计算日期之间经过的天数以忽略空白单元格。我的公式适用于整个电子表格,除了我得到 #VALUE 的一行。日期单元格中没有空格,并且两者的格式与电子表格的其余部分相同。

查看计算步骤时,一个单元格的日期看起来好像是“常规”格式而不是日期,但它 100% 被格式化为日期。我尝试更改两个单元格的格式,但仍然出现 #VALUE 错误。

答案1

单元格格式并不控制单元格的内容,它只控制单元格的显示方式。这一点非常重要,尤其是对于日期。将单元格格式化为日期不会使内容成为日期。内容保持不变。但是,Excel 会将内容转换为我们更习惯的格式。

Excel 将日期存储为整数,将时间存储为小数(或一天的分数)。如果您在具有常规格式的单元格中输入 0.5,它将显示为 0.5 但是,如果您随后将格式更改为时间,则将显示为 12:00 或您设置的本地时间格式。如果您转身并将格式改回常规,则显示应为 0.5。日期存储为自 1900/1/1 以来的天数,该日期为 1。您可以再次通过在单元格中输入 1 然后将其格式化为日期来测试这一点。如果您使用的是 Mac,我相信年份会略有不同。

您在评论中指出您的公式是:

=IF((AND(ISNUMBER(N108))), N108-G108, "")

这很棒,因为您正在测试 N108 中的日期以查看它是数字还是字符串。如果它是数字,您正在对其执行数学运算,如果它不是数字,则返回空白。您还没有做的一件事是测试 G108 中的值以查看它是否也是数字。

附注:公式中的 AND 目前没有任何用处,因为 AND 函数中只有 1 个项。当比较 2 个或更多项并且需要它们全部为 TRUE 或至少有一个为 FALSE 时,应使用 AND 函数。

在不知道你的工作表在做什么的情况下,我猜你想让你的公式看起来像这样:

=IF(AND(ISNUMBER(N108),ISNUMBER(G108)), N108-G108, "")

上述公式将在尝试进行数学运算之前测试 N 和 G 中的值是否都是数字。如果其中一个不是数字,它将返回空白。

相关内容