0

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

数据集(考虑 Box No. 和 Users 列下不同行中的所有值)

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

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

所以,我正在寻找这样的结果。

结果(考虑“Box No.”和“No. Users”列下的不同行中的所有值)

箱号 = 12、13、14

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

任何帮助,将不胜感激。

4

2 回答 2

0

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

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

假设您在 B1:K14 中有 Box 数据,在 B2:K14 中有用户数据。您将获得 Box 12 的结果:

{=平均(IF(B1:K1=12,B2:K2,""))}

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

当然,条件可以在相邻的单元格中,以便可以轻松地扩展到不同的 Box 甚至用户。

于 2018-08-22T22:46:03.823 回答
0

这有两个部分。

第1部分

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

数据集

然后单击数据集并TableInsert命令选项卡中选择。确保您已My table has headers选择。

结果应如下所示:

桌子

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

第2部分

要根据此表获取平均值,请单击表并Pivot TableInsert命令选项卡中进行选择。接受默认值,您最终将在新工作表上显示一个空白数据透视表。

Box No.字段向下拖动到Rows块中,然后将Users字段向下拖动到Values块中。单击块中User名称右侧的箭头,然后选择 Then select in 。您还可以在 中重命名显示的字段名称。ValuesValue Field Settings...AverageSummarize Values ByCustom Name:

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

在此处输入图像描述

于 2018-08-22T22:55:14.147 回答