单列中的多重平均值

时间:2014-10-07 12:03:18

标签: excel

我想帮助我的Excel电子表格。 在一列中,我在第二列中有产品编号,有执行时间:
A B C
1 0:17
1 0:18
1 0:19 0:18
2 1:12
2 1:12
2 1:13 1:12:6
3 0:45 0:45
我想对下一栏(C栏)中的每个产品做一个平均值。 我试过了:

=IF(A1=A2;0;AVERAGE(IF(A:A=A1;B:B)))

但它失败了。 所以我的问题是如何在A中自动选择具有相同数字的范围来制作平均值并在该产品的末尾显示它?

编辑:我使用excel 2003。

感谢您的帮助。

3 个答案:

答案 0 :(得分:0)

你的方式会起作用,但公式必须是"数组输入"。最好在C1中复制使用AVERAGEIF这样的函数

=IF(A1=A2;"";AVERAGEIF(A$1:A1;A1;B$1:B1))

对于Excel 2003或更早版本,您可以使用此"数组公式" (基本上就是你原来的)

=IF(A1=A2;"";AVERAGE(IF(A$1:A1=A1;B$1:B1)))

CTRL + SHIFT + ENTER 确认然后复制

....或使用此非数组版本

=IF(A1=A2;"";SUMIF(A$1:A1;A1;B$1:B1)/COUNTIF(A$1:A1;A1))

答案 1 :(得分:0)

公式:

=IF(COUNTIF($A2:$A$65535,$A1)=0,SUMIF($A$1:$A1,$A1,$B$1:$B1)/COUNTIF($A$1:$A1,$A1),"")

将此公式粘贴到C1中并填充或复制到数据的底部。

此公式还考虑了未分类的数据。

答案 2 :(得分:-1)

您可以使用AVERAGEIF或AVERAGEIFS在平均计算中包含条件或多个条件。

首先在新列(Exa,F列)中复制和粘贴A列,然后删除重复项。

= AVERAGEIF(" A:A",F1," B:B&#34)