带有月份标准的 SUMIF

Fin*_*ist 4 excel date excel-formula

我有:

=SUMIF('Log'!A2:A139,MONTH('Log'!A2:A139)=1,'Log'!M2:M139)
Run Code Online (Sandbox Code Playgroud)

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

当前的表情不断出现0,我做错了什么吗?

ric*_*ent 6

在第二个参数中,条件必须与第一个参数中的每个单元格相关。因此,给出MONTH()一个范围不会有任何好处,它只是不断地比较 A xMONTH(A2)得到 FALSE。

有两个简单的解决方案:

  1. 创建一个临时列,例如NMONTH(A2),然后使用列:

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

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

(数组公式的输入不带有文字{},而是使用 Shift-Enter 键输入,并且仅与{}周围的文字一起出现在 Excel 中。)