Microsoft Excel - 跳过滚动平均值

Microsoft Excel - 跳过滚动平均值

我有一张过去 x 年中几个不同地点的费用表。对于每个地点(A、B、C),我想找出过去三次访问的平均费用。不幸的是,地点经常被忽略。我如何才能制作一个可以正确计算此平均值的 Excel 公式?下面是计算的示例表。

谢谢你!

A C
2021 10 不适用 20
2020 不适用 15 20
2019 20 不适用 20
2018 三十 不适用 1000
2017 不适用 四十五 1000
2016 1000 75 1000
最近 3 次平均值 20 四十五 20

答案1

再会,

下面的例子可能会有所帮助,但是它是基于最新的最后排序的。

在此处输入图片描述

答案2

假设表格位于 A1:D7。在 B8 中:

=IFERROR(AVERAGE(IF(COUNTIF(B2:B4,"N/A")=0,B2:B4,IF(COUNTIF(B2:B5,"N/A")=1,B2:B5,IF(COUNTIF(B2:B6,"N/A")=2,B2:B6,IF(COUNTIF(B2:B7,"N/A")=3,B2:B7,ERROR.TYPE(1)))))),"notEnufData")

& 向右拖动。

想法: 的范围average()将根据遇到的范围内的“N/A”的数量而改变。如果“N/A”>3,则返回错误消息。

如果它有效/可理解/不可理解,请分享。

答案3

尝试:

=AVERAGE(INDEX(B$1:B$7,AGGREGATE(15,6,1/ISNUMBER(B$2:B$7)*ROW(B$2:B$7),{1;2;3})))
  • 如果值少于三个,公式将返回错误。
    • 如果你想的话,你可以用它IFERROR来返回一个有意义的消息
  • 假设最近的访问位于顶部

在此处输入图片描述

相关内容