Excel;计算每组内的平均值?

Excel;计算每组内的平均值?

考虑一个玩具数据集,形式如下

 A    B
ID values
 1    5
 1    4
 1    3
 2    2
 2    1
 2    2
 3    8
 3    9
 3    7

因此那里有三组 ID:1,2,3 我感兴趣的是计算每个组内的平均值,并得到如下结果

A       B
ID      averaged
1       6
2       2.5
3       12

因此组数(唯一 ID)会很大,并且每个组内的数据量也很大。有没有有效的计算方法?谢谢

答案1

在此处输入图片描述

怎么运行的:

  • 在单元格中输入此数组(CSE)公式J11

    {=IFERROR(INDEX($H$11:$H$24, MATCH(0,COUNTIF($J$10:J10, $H$11:$H$24), 0)),"")}
    

注意:完成配方Ctrl+Shift+Enter并向下填充。

  • 单元格中的公式K11

    =IFERROR(AVERAGEIF(H$11:H$24,$J11,I$11:I$24),"")

根据需要调整公式中的单元格引用。

答案2

使用数据透视表:

将 ID 放在行中,将值放在值中,然后更改为平均值:

在此处输入图片描述


使用动态数组公式(目前仅适用于 Office 365 内部人员)

在 D2 中输入:

=UNIQUE(A2:A10)

在 E2 中:

=AVERAGEIFS(B:B,A:A,D2#)

Excel 将自动溢出值:

在此处输入图片描述

相关内容