“n”个最新数据点的平均值

时间:2017-11-03 23:04:41

标签: excel excel-formula aggregate

我有一个大型电子表格,其中包含本赛季所有球员所有篮球比赛的统计数据。我试图找到前5场比赛的平均上场时间。

以下是下载工作表的链接: https://drive.google.com/file/d/1sHsOoIGpqjv08UKIeu476U8jKx633s8A/view?usp=sharing

在“RAW”标签中显示从网站加载的所有原始数据。在“数据”选项卡中,我正在合并我想要的数据。

在B列:E栏中,我根据玩家名称收集了一些我想要的数据。挑战是我不知道如何根据玩家的名字和5个最新的数据点收集数据。

有人有什么想法吗?

4 个答案:

答案 0 :(得分:0)

在Data!F2中,

=AVERAGE(INDEX(RAW!I:I, AGGREGATE(14, 6, ROW(INDEX(RAW!C:C, MATCH(A2, RAW!C:C, 0)):INDEX(RAW!C:C, MATCH("zzz", RAW!C:C)))/(INDEX(RAW!C:C, MATCH(A2, RAW!C:C, 0)):INDEX(RAW!C:C, MATCH("zzz", RAW!C:C))=A2), MIN(5, COUNTIF(RAW!C:C, A2)))):INDEX(RAW!I:I, AGGREGATE(14, 6, ROW(INDEX(RAW!C:C, MATCH(A2, RAW!C:C, 0)):INDEX(RAW!C:C, MATCH("zzz", RAW!C:C)))/(INDEX(RAW!C:C, MATCH(A2, RAW!C:C, 0)):INDEX(RAW!C:C, MATCH("zzz", RAW!C:C))=A2), 1)))

填写。请注意' Josh Smith'只有四个条目,所以我使用MIN和COUNTIF将五个条目调整为四个。

enter image description here

此解决方案依赖于Raw!C:C中的 First Last 名称。

答案 1 :(得分:0)

您可以尝试使用此公式,它可以按原样处理您的数据,并且记录不需要按任何特定顺序排列。

=SUMPRODUCT(--((RAW!$M$2:$M$4388)*(RAW!$C$2:$C$4388=DATA!A2)*(RAW!$D$2:$D$4388>=LARGE((RAW!$C$2:$C$4388=DATA!A2)*(RAW!$D$2:$D$4388),5))))/MIN(COUNTIF(RAW!$C$2:$C$4388,DATA!A2),5)

编辑给出平均值而不是总和。另外,请注意这会从@Jeeped的解决方案返回不同的值 - 我认为这是因为他排除0,而我的包括它们。

Screenshot of result

答案 2 :(得分:0)

这是另一个公式。

假设

  • 名称已排序

  • 在每个名称中,日期按您显示的顺序降序排列,因此我们只需要查看前五个(或更少)条目。

=AVERAGE(N(OFFSET(RAW!$M$1,-1+AGGREGATE(15,6,  1/1/(A2=First__Last)*ROW(First__Last),ROW(INDIRECT("1:"&MIN(5,COUNTIF(First__Last,A2))))),0)))

这是一个数组公式,必须通过按住 ctrl + shift 然后按输入

来确认

不确定您希望数据指向哪一列。我选择了M并注意了Raw!$M$1条目,以便做出决定。

答案 3 :(得分:0)

在我看来,制作一个可以完成我所要求的所有事情的单一公式会很棘手而且有点混乱,所以我只是制作了一个额外的专栏,为玩家计算#游戏。然后,我创建了另一个等于" playerName"&" game#。"然后,我有一个唯一的单元格值,我可以索引/匹配" n"游戏数量。

感谢您的帮助!