我有:
=SUMIF('Log'!A2:A139,MONTH('Log'!A2:A139)=1,'Log'!M2:M139)
“日志”表中的 A 列包含日期。如果月份是一月,我只想对日志表的 M 列中的值求和。
当前的表达式不断返回0
,我做错了吗?
我有:
=SUMIF('Log'!A2:A139,MONTH('Log'!A2:A139)=1,'Log'!M2:M139)
“日志”表中的 A 列包含日期。如果月份是一月,我只想对日志表的 M 列中的值求和。
当前的表达式不断返回0
,我做错了吗?
在第二个参数中,标准必须与第一个参数中的每个单元格相关联。所以,给出MONTH()
一个范围在那里没有任何好处,它只是不断地比较 A x并MONTH(A2)
得到一个 FALSE。
有两个简单的解决方案:
使用 MONTH(A2)创建一个暂存列,例如N
,然后使用该列:
=SUMIF('Log'!N2:N139,1,'Log'!M2:M139)
使用数组公式:
{=SUM('Log'!M2:M139 * IF(MONTH('Log'!A2:A139)=1,1,0))}
(数组公式不是{}
在它们周围输入文字,它们是使用 Shift-Enter 输入的,只是{}
在 Excel 中显示在它们周围。)
可能不会在询问此 Q 但SUMIFS现在可用并且通过接受多个条件时,一个 ( >
) 可以设置为 12 月底,一个 ( ) 可以设置为<
2 月初 - 因此选择没有帮助列的 1 月并且没有潜在的慢速数组公式。这不会结合不同年份的一月(但可以设置为这样做)。