这个问题似乎很受欢迎,但不知怎的,我无法做到。
我有这个
=SUMIF('Log'!A2:A139,MONTH('Log'!A2:A139)=1,'Log'!M2:M139)
“日志”表中的列号A包含日期,我只想将月份为1月份的日志表的M列中的值相加。
当前表达式继续返回0,我做错了吗?
谢谢,
答案 0 :(得分:4)
在第二个参数中,标准必须与第一个参数中的每个单元格相关联。因此,给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中显示{}
周围。)
答案 1 :(得分:0)
当问到这个Q时也许不会交出,但是SUMIFS现在可用,并且通过接受多个条件,可以将一个(>
)设置为12月底,一个(<
)作为2月的开始-因此选择1月时没有帮助者列,也没有潜在的慢数组公式。这不会合并来自不同年份的Januaries(但可以设置成这样做)。