年齢と特定の値をペアにする Excel の 2 列があります。
34 107.8
22 5
22 97
45 76.5
46 16
任意のグループごとに平均値を表示するテーブル/チャート/ピボットを作成する必要があります。まあ言ってみれば:
BRACKET VALUE AVG
0-39 ...
40 ...
41 ...
42-60 ...
年齢と特定の値をペアにする Excel の 2 列があります。
34 107.8
22 5
22 97
45 76.5
46 16
任意のグループごとに平均値を表示するテーブル/チャート/ピボットを作成する必要があります。まあ言ってみれば:
BRACKET VALUE AVG
0-39 ...
40 ...
41 ...
42-60 ...
列 A に年齢が格納され、列 B に値が格納されているとします (2 ~ 19 行に を配置し、それに応じて調整すると仮定します)。
各バケットの最小年齢 (0、40、41、42、60) を列 D に格納し、最後の値の下に非常に高い値 (例: 150) を追加します。
Excel 2003 のソリューション: E2 に次の数式を入力し、コピーします。
=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 以降のソリューション: E2 に次の数式を入力し、コピーします。
=IFERROR(AVERAGEIFS($B:$B,$A:$A,">="&D2,$A:$A,"<"&D3),"No values")
Peterが示唆するように、D2:D10に「下限リスト」がある場合、E2のこの「配列式」も機能します。
=AVERAGE(IF(LOOKUP($A$2:$A$19,D$2:D$10)=D2,B$2:B$19))
CTRL+ SHIFT+で確認してENTER、{ や } のような中かっこが数式バーの数式の周りに表示されるようにします...そして列を下にコピーします
#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))))