我有数据集 - 自 1995 年以来的 5000 个日期以及每个日期的商品价格。我想计算这些日期的年平均值。我基本上想告诉 excel 计算 xxxx 年的所有单元格的平均值,计算 xxxy 年的所有单元格的平均值,等等。我一直在新表中使用 if(、left(、average(,包含我想要计算平均值的所有年份。我不是 excel 专家。这就是现在的数据集。我很想知道如何做到这一点,因为我需要一直做这种事情。
答案1
使用“3D 公式”...
=SUM(IF(YEAR(A:A)=$D$1,B:B,0))/SUM(IF(YEAR(A:A)=$D$1,1,0))
输入后按住 和 键CTRL并SHIFT按下ENTER (适用于 Excel 和 LibreOffice Calc)
{...}
如果操作正确, 公式末尾会有花括号。
现在,在 D1 中输入要平均的年份
如何:
A:A
并B:B
获取整个列中的值,如果您有的话,则更改为更有限的范围。
由于这些是单元格范围,因此需要CTRL+ SHIFT ENTER,使公式循环遍历范围内的所有单元格。
由于 D1 中的年份值应用于所有比较,因此需要$
's。
第一个IF(...)
挑选出相关的行,并返回 B 列中相应的值,然后将其输入到SUM()
。
同样,第二个IF(...)
再次选择相同的行,但1
对每一行返回一个,构成行数,就像SUM(...)
完成它的工作一样。
答案2
这很简单,只需AVEAGEIFS
部署如下函数即可:
在 D2 中列出所有年份,然后在 E2 中使用此公式
=AVERAGEIFS(B:B,A:A,">="&DATE(D2,1,1),A:A,"<"&DATE(D2+1,1,1))
将所有年份的公式都抄下来