Google sheets Google Sheets SUMIF标准-如何引用正在评估的单元格?

Google sheets Google Sheets SUMIF标准-如何引用正在评估的单元格?,google-sheets,sumifs,Google Sheets,Sumifs,参见上表。在E列中,我需要7月18日当月的“库存盘点”总和。该公式应查看B列(EventDate)中的所有日期,仅当事件与A列中的月份相同时,才对库存计数求和 我用不同的方法尝试SumIf,但也许这不是正确的函数。请注意,我不想在工作表中添加额外的列 基本上,我希望类似于“正在评估的单元格”-单元格A0,然后添加一个库存计数 如果列A包含的日期是每个月的第一天,则可以使用单元格E3中填写的日期: =ArrayFormula(if(A3<>"",sumif(date(year(B$3:

参见上表。在E列中,我需要7月18日当月的“库存盘点”总和。该公式应查看B列(EventDate)中的所有日期,仅当事件与A列中的月份相同时,才对库存计数求和

我用不同的方法尝试SumIf,但也许这不是正确的函数。请注意,我不想在工作表中添加额外的列


基本上,我希望类似于“正在评估的单元格”-单元格A<31且>0,然后添加一个库存计数

如果列A包含的日期是每个月的第一天,则可以使用单元格E3中填写的日期:

=ArrayFormula(if(A3<>"",sumif(date(year(B$3:B),month(B$3:B),1),A3,C$3:C),""))
=ArrayFormula(if(A3)”,sumif(日期(年(B$3:B),月(B$3:B),1),A3,C$3:C),“”)
(必须作为数组公式输入,才能将整个B列转换为日期)

或者更好

=if(A3<>"",sumifs(C$3:C,B$3:B, ">="&A3,B$3:B,"<="&eomonth(A3,0)),"")

=if(A3“”,sumifs(C$3:C,B$3:B,“>=”&A3,B$3:B,“如果列A包含的日期是每个月的第一天,您可以使用单元格E3中填写的日期:

=ArrayFormula(if(A3<>"",sumif(date(year(B$3:B),month(B$3:B),1),A3,C$3:C),""))
=ArrayFormula(if(A3)”,sumif(日期(年(B$3:B),月(B$3:B),1),A3,C$3:C),“”)
(必须作为数组公式输入,才能将整个B列转换为日期)

或者更好

=if(A3<>"",sumifs(C$3:C,B$3:B, ">="&A3,B$3:B,"<="&eomonth(A3,0)),"")

=if(A3'',sumifs(C$3:C,B$3:B,“>=”&A3,B$3:B,“将此粘贴到E3单元格中:

=ARRAYFORMULA(IF(A3:A<>"", SUMIF(DATE(YEAR(B3:B), MONTH(B3:B), 1), 
 DATE(20&RIGHT(A3:A, 2), TEXT(A3:A, "MM"), 1), C3:C), ))
={"sum per A column"; 
 ARRAYFORMULA(IF(A3:A<>"", SUMIF(DATE(YEAR(B3:B), MONTH(B3:B), 1), 
 DATE(20&RIGHT(A3:A, 2), TEXT(A3:A, "MM"), 1), C3:C), ))}
=ARRAYFORMULA(如果(A3:A)”,SUMIF(日期(年(B3:B)),月(B3:B),1),
日期(20和右侧(A3:A,2),文本(A3:A,“MM”),1),C3:C)
或者在E2细胞中:

=ARRAYFORMULA(IF(A3:A<>"", SUMIF(DATE(YEAR(B3:B), MONTH(B3:B), 1), 
 DATE(20&RIGHT(A3:A, 2), TEXT(A3:A, "MM"), 1), C3:C), ))
={"sum per A column"; 
 ARRAYFORMULA(IF(A3:A<>"", SUMIF(DATE(YEAR(B3:B), MONTH(B3:B), 1), 
 DATE(20&RIGHT(A3:A, 2), TEXT(A3:A, "MM"), 1), C3:C), ))}
={“每列总和”;
阵列公式(如果(A3:A),SUMIF(日期(年)(B3:B),月份(B3:B),1),
日期(20和右侧(A3:A,2),文本(A3:A,“MM”),1),C3:C),)

将其粘贴到E3单元格中:

=ARRAYFORMULA(IF(A3:A<>"", SUMIF(DATE(YEAR(B3:B), MONTH(B3:B), 1), 
 DATE(20&RIGHT(A3:A, 2), TEXT(A3:A, "MM"), 1), C3:C), ))
={"sum per A column"; 
 ARRAYFORMULA(IF(A3:A<>"", SUMIF(DATE(YEAR(B3:B), MONTH(B3:B), 1), 
 DATE(20&RIGHT(A3:A, 2), TEXT(A3:A, "MM"), 1), C3:C), ))}
=ARRAYFORMULA(如果(A3:A)”,SUMIF(日期(年(B3:B)),月(B3:B),1),
日期(20和右侧(A3:A,2),文本(A3:A,“MM”),1),C3:C)
或者在E2细胞中:

=ARRAYFORMULA(IF(A3:A<>"", SUMIF(DATE(YEAR(B3:B), MONTH(B3:B), 1), 
 DATE(20&RIGHT(A3:A, 2), TEXT(A3:A, "MM"), 1), C3:C), ))
={"sum per A column"; 
 ARRAYFORMULA(IF(A3:A<>"", SUMIF(DATE(YEAR(B3:B), MONTH(B3:B), 1), 
 DATE(20&RIGHT(A3:A, 2), TEXT(A3:A, "MM"), 1), C3:C), ))}
={“每列总和”;
阵列公式(如果(A3:A),SUMIF(日期(年)(B3:B),月份(B3:B),1),
日期(20和右侧(A3:A,2),文本(A3:A,“MM”),1),C3:C),)

这个答案和上面的答案对我来说都很有用(当然两者都很相似),但我把它标记了出来,因为我发现它更有用,因为提供了一些选项。不过我仍然不完全理解数组公式。那=数组公式(if(A3:A“”,sumif(日期(年(B3:B)),月份(B3:B),1),A3:A,C3:C),“”)是怎么回事使公式自扩展?是因为我们将标准表示为一个范围吗?我理解这是因为我们添加了A3:a,但它如何知道它应该使用每个后续单元格中的“标准”,但仍然使用整个“范围”来测试每个标准?在SUMIF(范围,标准,[总和范围])中,范围和[sum_range]始终是范围。使用单个条件,SUMIF会根据条件向下检查范围中的每个单元格,并在匹配时添加sum_范围,从而产生单个结果(虽然范围也可以是数组,但其工作方式仍然相同)。当条件是数组时,它执行前一个“内循环”为第一个数组元素提供单个结果,但现在有一个“外循环”,因此它为条件数组中的第二个元素重复该过程。返回多个结果。这和上面的答案对我有效(当然两者都相似)但是我标记了它,因为我发现它更有用,因为提供了选项。但是我仍然不完全理解数组公式。它是如何=数组公式的(如果(A3:A),sumif(日期(年(B3:B),月(B3:B),1),A3:A,C3:C),“”)使公式自扩展?是因为我们将标准表示为一个范围吗?我理解这是因为我们添加了A3:a,但它如何知道它应该使用每个后续单元格中的“标准”,但仍然使用整个“范围”来测试每个标准?在SUMIF(范围,标准,[总和范围])中,范围和[sum_range]始终是范围。使用单个条件,SUMIF会根据条件向下检查范围中的每个单元格,并在匹配时添加sum_范围,从而产生单个结果(虽然范围也可以是数组,但其工作方式仍然相同)。当条件是数组时,它执行前一个“内循环”为第一个数组元素提供单个结果,但现在有一个“外循环”,因此它对条件数组中的第二个元素重复该过程。返回多个结果。