每个任意分组计数平均值

我在Excel中有一个2列,将Age与一定的值相匹配:例如,

34 107.8 22 5 22 97 45 76.5 46 16 

我需要创build一个表/图表/数据透视表,显示每个任意组的平均值。 我们说:

 BRACKET VALUE AVG 0-39 ... 40 ... 41 ... 42-60 ... 

假设你的年龄存储在列A中,并且你的值在列B中(我假设你放置在第2-19行中,相应地调整)

将每个桶(0,40,41,42,60)的最小年龄存储在D列中,并在最后一个值(例如150)以下添加一个非常高的值。

Excel 2003解决scheme:在E2中input此公式,然后将其复制下来:

 =IF(SUMPRODUCT(($A2:$A19>=D2)*(A2:A19<D3)),SUMPRODUCT($B2:$B19*($A2:$A19>=D2)*(A2:A19<D3))/SUMPRODUCT(($A2:$A19>=D2)*(A2:A19<D3)),"No values") 

Excel 2007+解决scheme:在E2中input此公式并将其复制下来:

 =IFERROR(AVERAGEIFS($B:$B,$A:$A,">="&D2,$A:$A,"<"&D3),"No values") 

如果你在D2:D10中有“下界列表”,那么在E2中这个“数组公式”也可以完成这个工作:

=AVERAGE(IF(LOOKUP($A$2:$A$19,D$2:D$10)=D2,B$2:B$19))

CTRL + SHIFT + ENTER确认,这样像{和}这样的大括号出现在公式栏中的公式周围……并向下复制列

要取代#DIV/0!零位#DIV/0! 错误,如果没有值的支架更改为

=LOOKUP(10^10,IF({1,0},0,AVERAGE(IF(LOOKUP($A$2:$A$19,D$2:D$10)=D2,B$2:B$19))))