首页 文章

如何计算与特定日期范围匹配的Google电子表格中的元素

提问于
浏览
1

我在列中有一些数据,第一列和数据列中有时间戳 .

A             B         C         D
+++++++++++++++++++++++++++++++++++
20.5.2011     1         2         5
18.5.2011     3         5         4
12.5.2013     4         7         5

我可以使用此Google电子表格公式根据时间戳成功过滤columndata . 如果存在相应的2011时间戳,则下面返回列B中所有整数的总和 .

=ArrayFormula(SUMIF(TEXT($A:$A;"yyyy");year(today())-1;$B:$B))

以上总结了b列中的值1和3并返回4

问题是,如何计算上述值1和3的平均值,得出2?我目前的方法是将上述公式除以与日期标准匹配的项目的count(),但我无法使其工作 .

=ArrayFormula(SUMIF(TEXT($A:$A;"yyyy");year(today())-1;$B:$B))/WFORMULA FOR THE DIVISOR

有任何想法吗?

1 回答

  • 5

    您可以使用COUNTIF,方法与使用SUMIF的方式大致相同:

    =ArrayFormula(SUMIF(TEXT($A:$A;"yyyy");YEAR(TODAY())-1;$B:$B)/COUNTIF(TEXT($A:$A;"yyyy");YEAR(TODAY())-1))

    (这将返回2012年所有参赛作品的平均值) .

    您可以使用比较数组中的YEAR函数来简化此操作:

    =ArrayFormula(SUMIF(YEAR($A:$A);YEAR(TODAY())-1;$B:$B)/COUNTIF(YEAR($A:$A);YEAR(TODAY())-1))

    您还可以使用QUERY轻松生成总和,平均值或计数表:

    =QUERY(A:B;"select year(A), avg(B) where A is not null group by year(A) label year(A) 'Year', avg(B) 'Average'")

    如果您只想将2012年的平均值作为单一值:

    =QUERY(A:B;"select avg(B) where year(A) = "&(YEAR(TODAY())-1)&" group by year(A) label avg(B) ''")

相关问题