3

我有:

=SUMIF('Log'!A2:A139,MONTH('Log'!A2:A139)=1,'Log'!M2:M139)

“日志”表中的 A 列包含日期。如果月份是一月,我只想对日志表的 M 列中的值求和。

当前的表达式不断返回0,我做错了吗?

4

2 回答 2

4

在第二个参数中,标准必须与第一个参数中的每个单元格相关联。所以,给出MONTH()一个范围在那里没有任何好处,它只是不断地比较 A xMONTH(A2)得到一个 FALSE。

有两个简单的解决方案:

  1. 使用 MONTH(A2)创建一个暂存列,例如N,然后使用列:

    =SUMIF('Log'!N2:N139,1,'Log'!M2:M139)
    
  2. 使用数组公式:

    {=SUM('Log'!M2:M139 * IF(MONTH('Log'!A2:A139)=1,1,0))}
    

(数组公式不是{}在它们周围输入文字,它们是使用 Shift-Enter 输入的,只是{}在 Excel 中显示在它们周围。)

于 2012-05-08T05:59:02.927 回答
0

可能不会在询问此 Q 但SUMIFS现在可用并且通过接受多个条件时,一个 ( >) 可以设置为 12 月底,一个 ( ) 可以设置为<2 月初 - 因此选择没有帮助列的 1 月并且没有潜在的慢速数组公式。这不会结合不同年份的一月(但可以设置为这样做)。

于 2019-07-16T11:16:31.430 回答