如何仅获取表中某些行的平均值

时间:2015-03-06 01:54:17

标签: excel excel-formula

我有一个包含5列和N行的表。团队更改大小时会添加一行。

A栏是“开始时的团队规模”
B列是“团队规模在最后” C列是“Sprint N中的速度” D列是“Sprint N + 1中的速度”
E列是“Sprint N + 2中的速度”

Row | A | B  | C  | D  | E (end row)
1   | 5 | 6  | 20 | 15 | 25 (end row)
2   | 4 | 7  | 10 | 8  | 15 (end row)
3   | 5 | 6  | 20 | 15 | 25 (end row)
4   | 4 | 7  | 15 | 12 | 18 (end row)
5   | 9 | 11 | 25 | 20 | 30 (end row)

我正在寻找一种方法来计算C列的AVERAGE,D列的AVERAGE和E列的AVERAGE,但仅限于A列和B列的值在一行中匹配。

例如,我想要:

第1行和第3行的C,D和E的平均值,因为Col A = Col B. 第2行和第4行的C,D和E的平均值,因为Col A = Col B. 第5行的C,D和E的平均值,因为没有其他行与Col A和B匹配。

3 个答案:

答案 0 :(得分:1)

如果可以合理地假设您拥有Excel版本2007或更高版本,这似乎是AVERAGEIFS function的相当简单的实现。

AVERAGEIFS two column match

G1中的公式是,

=IF(AND(COUNTIF($A$1:$A1, $A1)=COUNTIF($A:$A, $A1), COUNTIF($B$1:$B1, $B1)=COUNTIF($B:$B, $B1)), AVERAGEIFS(C:C,$A:$A, $A1,$B:$B, $B1), "")

向右和向下填充。我添加了一个条件,其中只有最后一次匹配显示平均值。删除它的一部分不符合您的需要。

答案 1 :(得分:1)

如果:

  

列F成为C列的平均值,

     

列G成为D列的平均值,

     

列H成为E列的平均值,

将此公式粘贴到F1中,然后将其复制到F,G,H

中的所有行
=AVERAGEIFS(C:C,$A:$A,"="&$A1,$B:$B,"="&$B1)

答案 2 :(得分:0)

创建一个数据透视表,其中列A和B作为行标题,其余列作为值聚合为平均值。您可能希望为数据透视表选择经典视图。