我在列中有一些数据,第一列和数据列中有时间戳.
A B C D
+++++++++++++++++++++++++++++++++++
20.5.2011 1 2 5
18.5.2011 3 5 4
12.5.2013 4 7 5
Run Code Online (Sandbox Code Playgroud)
我可以使用此Google电子表格公式根据时间戳成功过滤columndata.如果存在相应的2011时间戳,则下面返回B列中所有整数的总和.
=ArrayFormula(SUMIF(TEXT($A:$A;"yyyy");year(today())-1;$B:$B))
Run Code Online (Sandbox Code Playgroud)
以上总结了b列中的值1和3并返回4
问题是,如何计算上述值1和3的平均值,得出2?我目前的方法是将上述公式除以与日期标准匹配的项目的count(),但我无法使其工作.
=ArrayFormula(SUMIF(TEXT($A:$A;"yyyy");year(today())-1;$B:$B))/WFORMULA FOR THE DIVISOR
Run Code Online (Sandbox Code Playgroud)
有任何想法吗?
您可以使用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) ''")
归档时间: |
|
查看次数: |
5609 次 |
最近记录: |