繁体   English   中英

Excel:基于动态范围计算滚动平均值

[英]Excel: Calculate a Rolling Average Based on Dynamic Range

我正在尝试根据动态范围计算滚动平均值。 举个例子,我的数据集如下所示。 我正在尝试根据范围“框号”计算参数“用户数”的滚动平均值。 (12、13、14 ...)。 通常,可以通过计算前N行的平均值然后将其向下拖动来计算滚动平均值。 但是,这里的问题不是。 的用户数。 列各不相同,因此我不能使用传统的滚动平均法。

数据集 (考虑“框号和用户”列下不同行中的所有值)

箱号= 12,12,12,13,13,13,14,14,14,14,14

用户= 5、5、8、6、8、10、8、3、5、1

因此,我正在寻找这样的结果。

结果 (考虑“箱号”和“用户滚动平均值”列下不同行中的所有值)

箱号= 12,13,14

(用户数)滚动平均值= 6、7、5.4

任何帮助,将不胜感激。

当您说移动平均线时,您是说一种正在滚动的“平均水平”吗? 您的示例仅显示了条件平均值,而不是滚动平均值。

看来您的问题可以使用averageif()解决。 对于更复杂的情况,可以将公式average()与内部的if()公式配合使用,该公式指定要匹配的条件,以便计算平均值。 这将成为一个数组公式,必须以Ctrl + Shift + Enter或等效形式输入。

假设您的Box数据位于B1:K14中,而Users数据位于B2:K14中。 您将同时获得方框12的结果:

{= AVERAGE(IF(B1:K1 = 12,B2:K2 “”))}

= AVERAGEIF(B1:K1,12,B2:K2)

当然,条件可以在相邻的单元格中,以便可以轻松地将其扩展到其他Box甚至User。

这有两个部分。

第1部分

为了解决动态范围,建议您使用表格。 如果您的数据集是这样的:

数据集

然后单击数据集,然后从“ Insert命令选项卡中选择“ Table ”。 确保您的“ My table has headers选择My table has headers

结果应如下所示:

表

颜色可能会因您的版本和设置而异。

第2部分

要获取基于此表的平均值,请单击表,然后从“ Insert命令选项卡中选择“ Pivot Table ”。 接受默认值,您将最终在空白页数据透视表的新表上。

Box No.字段向下拖动到Rows块,将Users字段向下拖动到Values块。 单击“ Values块中User名右侧的箭头,然后选择Value Field Settings...然后在“ Summarize Values By依据Value Field Settings...选择“ Average 您也可以在“ Custom Name:重命名显示的字段名称。

注意:添加数据后,右键单击数据透视表,然后选择“ Refresh以查看新数据。

在此处输入图片说明

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM