Excel函数作为SUMIFS标准

时间:2019-07-15 13:23:44

标签: excel excel-formula

我有一系列日期和值:

8.12.2018  12
5.2.2019   32 
15.7.2019  89

我想使用类似(SUMIFS(YEAR(A1:A3);2018)之类的东西,但这是不允许的。

我知道,我可以在单独的列中提取年份,但是在这里我想问一下sumifs函数内部是否可能?

3 个答案:

答案 0 :(得分:1)

尽管我认为您不能这样做,但已通过@forwardEd证明,您可以通过使用SUMIFS的方式更改标准,但是,您也可以在SUMPRODUCT中进行此练习:

=SUMPRODUCT(--(YEAR(A1:A3)=2018),B1:B3)

enter image description here

答案 1 :(得分:1)

假设您的日期是有效的excel日期,而不是日期的字符串/文本,那么您可以使用SUMIFS公式计算年份,如下所示:

=SUMIFS(B1:B3,A1:A3,">="&date(2018,01,01),A1:A3,"<="&date(2018,12,31))

基本上,该公式是将B1:B3中的所有值相加,其中A1:A3中的日期大于或等于该年的第一天,并且小于或等于该年的最后一天。我选择使用date函数编写日期,因为它比日期的整数格式更容易识别。如果您只想在单元格c2中写年作为标准,则将上面公式中的2018替换为c2。

更新

我尚未对其进行测试,但是由于默认的无时间日期默认为00:00:00,因此这意味着上述公式将在12月31日之前终止几乎所有与之相关的时间。因此,较好的截止日期应小于第二年的1月1日,而不是小于或等于12月31日。因此,您可以将上述公式修改为:

=SUMIFS(B1:B3,A1:A3,">="&date(2018,01,01),A1:A3,"<"&date(2019,01,01))

or

Where C2 is the year as an integer
=SUMIFS(B1:B3,A1:A3,">="&date(C2,01,01),A1:A3,"<"&date(C2+1,01,01))

答案 2 :(得分:0)

替代方法(稍微不太优雅的解决方案,但对于不太高级的用户可能更清楚):

=SUMIFS(B1:B4,A1:A4,">="&"01/01/2018",A1:A4,"<="&"31/12/2018")

enter image description here