每个任意分组计数平均值
我在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))))