- 締切済み
エクセルで年代別の平均点の求め方について
エクセルでとある年代毎に得点平均を小数点第一まで求められる関数はどういったものがありますでしょうか。 例)40歳以下の得点の平均 A(名前) B(歳) C(点) 1佐藤 20 60 2鈴木 25 45 3加藤 45 90 4佐々木 80 62 5井上 54 65 6吉田 41 70 7岡田 49 20 8高橋 37 51 9 清水 33 88 10 田中 26 63 使用環境はoffice2007と2003です。
- みんなの回答 (2)
- 専門家の回答
みんなの回答
- tom04
- ベストアンサー率49% (2537/5117)
No.1です! たびたびごめんなさい。 投稿後に気になったコトがあります。 >年代毎に得点平均を・・・ とあるのでもしかした10代・20代・・・とそれぞれの平均を出したいのかな?って思いました。 もしそうであるならば、↓の画像で F2セルに =IF(SUMPRODUCT(($B$1:$B$100>=ROW(A1)*10)*($B$1:$B$100<ROW(A2)*10)),ROUND((SUMPRODUCT(($B$1:$B$100>=ROW(A1)*10)*($B$1:$B$100<ROW(A2)*10),$C$1:$C$100))/SUMPRODUCT(($B$1:$B$100>=ROW(A1)*10)*($B$1:$B$100<ROW(A2)*10)),1),"") という数式を入れオートフィルで下へコピーしています。 こんな感じをお望みだったのでしょうか? 外していたらごめんなさいね。m(_ _)m
- tom04
- ベストアンサー率49% (2537/5117)
こんばんは! 手元にExcel2007がないので、Excel2003での一例です。 1行目はタイトル行でデータは2行目~11行目にあるとすると、 質問のデータの場合は、表示したいセルに =ROUND(AVERAGE(IF(B2:B11<=40,C2:C11)),1) これは配列数式になりますので、Shift+Ctrl+Enterキーで確定してください。 ※ 空白セルは範囲指定しないでください。もし空白セルを範囲指定するとそのセルの点は「0」と判断されます。 配列数式を使用しない方法としては =ROUND(SUMIF(B:B,"<=40",C:C)/COUNTIF(B:B,"<=40"),1) (この数式の場合は見てのとおり、空白セルを範囲指定してもOKです。) としても同様の結果が得られると思います。 尚、Excel2007以降ではAVERAGEIFS関数が使用できるかと思います。 参考になりますかね?m(_ _)m
お礼
ズバリです。 分かりづらい質問なのに、分かりやすいご回答いただきありがとうございます。