返回基于多个条件的列总和,SUMIFS用法?

时间:2019-08-29 03:38:51

标签: google-sheets

在验证N4:N22的值的月和年与B2和A2中的值匹配之后,我试图得出E4:E22的总和。如果两个都返回true,则将E中的值加到总和中。

感谢您的帮助!

我尝试了诸如SUMIF =(SUMIF($E$4:$E, $N$4:$N, TEXT(N4, "MMM") = B2, $N$4:$N, TEXT(N4, "YYYY"))之类的公式以及其他各种选择,但我认为我可能正在解决这个错误。

1 个答案:

答案 0 :(得分:0)

如果您不必修改条件列中的值,则

SUMIFSSUMIF都可以很好地工作,但是在要与一个转换后的值进行比较的情况下,并非总是理想的或更多列。

相反,这非常适合FILTERSUMIFERROR

  1. 使用FILTER选择要添加的值。
  2. 使用常规的旧SUM进行添加。
  3. IFERROR未返回任何匹配项时,将FILTER换为默认值0。

我注意到的另一个问题是,您试图将TEXT返回的 string 年值与$A$2中的整数年值进行比较。您可以通过将TEXT包装在INT中以将字符串转换为整数(即​​INT(TEXT($N$4:$N, "YYYY")))来解决此问题,但是我选择使用YEAR(即YEAR($N$4:$N) ),因为它比较干净。

试一下:

=IFERROR(SUM(FILTER($E$4:$E, TEXT($N$4:$N, "MMM")=$B$2, YEAR($N$4:$N)=$A$2)), 0)