如果某列的数字位于第一行包含日期的列中,那么使用 Excel 公式在一行中添加数字时,会出现什么问题?

如果某列的数字位于第一行包含日期的列中,那么使用 Excel 公式在一行中添加数字时,会出现什么问题?

我有一张表格,其中的行如下(日期格式为 Excel 日期、实际值、差异),一年中的每一周有一组 3 列。

第一列中的值代表与特定客户签订的一周合同工作时间。

第二列代表这项工作实际花费了多少小时。

第三是区别。

在最后一列中,我需要计算所有合同工时的总和 - 即以日期为标题的列中的工时。

这是我尝试过的: =SUMIF(J1:FO1, ISNUMBER(J1), J2:FO2)

其中 J1:FO1 是标题(例如 1/5/18、实际、差异),当 J1 是日期(解析为数字)时,ISNUMBER 语句解析为 True,而 J2:FO2 是客户端数据的第一行。

虽然这不会引发错误,但它实际上也没有添加 J2:FO2 中的数字。

有任何想法吗?

答案1

这是因为ISNUMBER(J1)解析为TRUEFALSE基于中的内容J1。然后 SUMIF() 尝试查找数字J1:FO1在哪里TRUE或不在哪里。FALSE

SUMIF 不能以这种方式使用。它经过优化,需要的是字符串而不是公式。

您将需要使用类似以下内容的东西:

=SUMPRODUCT(--ISNUMBER(J1:FO1),J2:FO2)

或以下数组公式:

=SUM(IF(ISNUMBER(J1:FO1),J2:FO2))

作为数组公式,需要使用 Ctrl-Shift-Enter 而不是 Enter 来确认。

ISNUMBER两者都将迭代范围并添加返回的值TRUE

相关内容