我有:
=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 中显示在它们周围的 {}
中。 )
关于excel - 带有月份标准的 SUMIF,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10493224/