在Office 365 Excel中,我有一个包含各种列的电子表格,例如,其中带时间的列:
00:01:39
00:00:32
00:00:44
00:03:10
我已检查它们是否为“时间”格式。我可以使用+
添加它们。例如,使用公式=M1 + M2 + M3 + M4
,但是如果我使用SUM
,例如=SUM(M1:M4)
,则总和为零(以时间格式)。
我不确定我为什么两个公式应该给出不同的答案。我想构造一个SUMIF
,因此希望能够在这里使用SUM
,而不仅仅是手动添加它们。怎么了?
答案 0 :(得分:6)
您正在处理看起来像时间值¹(数字)的文本。
如果您在数学运算中包含看起来像数字的文本,则可以通过Excel的开销来转换为真数字。
工作表的SUM函数被设计为跳过文本值,以便可以对带数字和文本的列进行总计,而不会引起文本错误。因此,不会隐式转换为真数字。
下面可以很容易地证明这一点。
="1"+"2"+"3"+"4" 'equals 10
=SUM("1", "2", "3", "4") 'equals zero
要将长的类似时间的文本列转换为真实时间,请将列的格式更改为“常规”,然后使用“数据”,“文本到列”,“固定宽度”,“完成”。您可能必须恢复时间格式(Ctrl + 1)。
您还可以使用不具有SUM跳过文本值功能的功能来强制进行转换。
=SUMPRODUCT(--M1:M4)
`--``被称为双一元制,通过翻转符号(从正到负或从负到正)然后再返回来对范围内的每个单元格进行数学运算。
¹ a)默认情况下,时间,日期和数字将在单元格中右对齐。文本将左对齐。 b)如果在单元格中显示00:01:39
,则12:01:39 AM
将在编辑栏中显示正确的
时间。看起来像时间的文本看起来是相同的。
c)更改真实时间的数字格式将改变时间在单元格中的显示方式。
时间不会改变。