我正在尝试根据动态范围计算滚动平均值。举个例子,我的数据集如下所示。我正在尝试根据范围“框号”计算参数“用户数”的滚动平均值。 (12、13、14 ...)。通常,可以通过计算前N行的平均值然后将其向下拖动来计算滚动平均值。但是,这里的问题不是。的用户数。列各不相同,因此我不能使用传统的滚动平均法。
数据集 (请考虑“框号和用户”列下不同行中的所有值)
框号= 12、12、12、13、13、14、14、14、14、14
用户= 5、5、8、6、8、10、8、3、5、1
所以,我正在寻找这样的结果。
结果 (请考虑“框号”和“用户滚动平均值”列下不同行中的所有值)
框号= 12、13、14
(用户数)滚动平均值= 6、7、5.4
任何帮助将不胜感激。
答案 0 :(得分:0)
当您说移动平均线时,您是说一种正在滚动的“平均”吗?您的示例仅显示了条件平均值,而不是滚动平均值。
似乎可以使用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 :(得分:0)
有两个部分。
PART 1
要解决动态范围,建议您使用表格。如果您的数据集是这样:
然后单击数据集,然后从Table
命令选项卡中选择Insert
。确保已选择My table has headers
。
结果应如下所示:
颜色可能会因您的版本和设置而异。
PART 2
要获取基于此表的平均值,请单击表,然后从Pivot Table
命令选项卡中选择Insert
。接受默认值,您将最终在空白页数据透视表的新表上。
将Box No.
字段拖到Rows
块,将Users
字段拖到Values
块。单击User
块中Values
名称右侧的箭头,然后选择Value Field Settings...
,然后在Average
中选择Summarize Values By
。您还可以在Custom Name:
中重命名显示的字段名称。
注意:添加数据后,右键单击数据透视表并选择Refresh
以查看新数据。