SUM・AVERAGE・MAX など集計関数の練習問題を10問用意しました。合計(SUM)・平均(AVERAGE)・最高点と最低点(MAX・MIN)・人数を数える(COUNT・COUNTA)・順位(RANK.EQ)・n番目に大きい値(LARGE)・最高点の人の名前まで、成績表を使って順番に練習できます。
問題・解答と、問題で使う成績表が入った練習用のファイルを無料でダウンロードできます。答えはすべて実際の Excel で計算して確かめています。エクセルの関数をこれから覚える人の最初の練習にも向いています。
練習用ファイルの使い方
- 練習用のファイルをダウンロードして開き、「問題」シートを表示します。
- 黄色のセル(E4:E13)に、問題に合う式を入れます。データは「成績」シートの A2:D9 です。右の列にヒントがあります。
- 「解答」シートで、答えと式を確かめます(F列に式を文字で書いてあります)。

問題で使う成績表です。数学には、文字の「欠席」と空欄が1つずつ入っています。COUNT と COUNTA、AVERAGE の違いを確かめるためです。

問題の一覧
| No. | 問題 | 入力1 |
|---|---|---|
| 1 | 国語の点数の合計を出してください。 | |
| 2 | 国語の平均点を、小数第1位までに四捨五入して出してください。 | |
| 3 | 国語の最高点を出してください。 | |
| 4 | 国語の最低点を出してください。 | |
| 5 | 数学を受けた人数(点数が入っている人数)を数えてください。 | |
| 6 | 数学の欄に何か入っている人数(「欠席」も含む)を数えてください。 | |
| 7 | 数学の平均点を出してください(「欠席」と空欄の人は除く)。 | |
| 8 | 国語の点数(C列)が、高い順で何位かを出してください。 | 83 |
| 9 | 国語で、高いほうから数えて n 番目(n は C列)の点数を出してください。 | 2 |
| 10 | 国語の最高点の人の名前を出してください。 |
まずは自分で解いてみてから、下の解答と解説を見てください。
問題1の解答と解説
問題:国語の点数の合計を出してください。
=SUM(成績!$C$2:$C$9)
答え:587 ヒント:SUM(範囲) で合計します。
国語は 72・64・88・55・91・70・83・64 で、合計は 587 です。範囲は「成績」シートの C2:C9 なので、式では 成績!$C$2:$C$9 とシート名を付けます(SUM関数の使い方)。
問題2の解答と解説
問題:国語の平均点を、小数第1位までに四捨五入して出してください。
=ROUND(AVERAGE(成績!$C$2:$C$9),1)
答え:73.4 ヒント:AVERAGE で平均を出して、ROUND で囲みます。
587÷8 で平均は 73.375 です。ROUND(…,1) で小数第1位までに四捨五入して 73.4 になります(平均を四捨五入する方法)。
問題3の解答と解説
問題:国語の最高点を出してください。
=MAX(成績!$C$2:$C$9)
答え:91 ヒント:いちばん大きい値は MAX です。
いちばん高いのは小川さんの 91 です。条件を付けたいときは MAXIFS を使います。試したところ、=MAXIFS(成績!$C$2:$C$9,成績!$B$2:$B$9,"A") で A クラスの最高点 91 が出ました(MAX関数の使い方)。
問題4の解答と解説
問題:国語の最低点を出してください。
=MIN(成績!$C$2:$C$9)
答え:55 ヒント:いちばん小さい値は MIN です。
いちばん低いのは江口さんの 55 です。2番目に低い点数なら SMALL を使い、=SMALL(成績!$C$2:$C$9,2) で 64 になりました(MIN関数の使い方)。
問題5の解答と解説
問題:数学を受けた人数(点数が入っている人数)を数えてください。
=COUNT(成績!$D$2:$D$9)
答え:6 ヒント:COUNT は数値のセルだけを数えます。
数学の欄には「欠席」(文字)と空欄が1つずつあります。COUNT は数値のセルだけを数えるので、6 人です。
問題6の解答と解説
問題:数学の欄に何か入っている人数(「欠席」も含む)を数えてください。
=COUNTA(成績!$D$2:$D$9)
答え:7 ヒント:COUNTA は空欄以外のセルを数えます。
COUNTA は空欄以外のセルを数えるので、文字の「欠席」も数えて 7 人です。空欄は数えません。試したところ、空欄の数を数える COUNTBLANK では 1 になりました(COUNT・COUNTAの違い)。
問題7の解答と解説
問題:数学の平均点を出してください(「欠席」と空欄の人は除く)。
=AVERAGE(成績!$D$2:$D$9)
答え:74.2 ヒント:AVERAGE は文字と空欄を飛ばして平均します。
AVERAGE は文字(欠席)と空欄を飛ばして、6人の点数(合計 445)で平均します。445÷6=74.166… で、答えのセルの表示形式を「0.0」にしているので 74.2 と表示されます(AVERAGE関数の使い方)。

問題8の解答と解説
問題:国語の点数(C列)が、高い順で何位かを出してください。(入力値は C11)
=RANK.EQ(C11,成績!$C$2:$C$9,0)
答え:3 ヒント:RANK.EQ(数値,範囲,0) で高い順の順位です。
国語を高い順に並べると 91・88・83… なので、83 は 3 位です。同じ点数は同じ順位になります。試したところ、64 の2人はどちらも 6 位で、次の 55 は 8 位になりました(RANK.EQ関数の使い方)。
問題9の解答と解説
問題:国語で、高いほうから数えて n 番目(n は C列)の点数を出してください。(入力値は C12)
=LARGE(成績!$C$2:$C$9,C12)
答え:88 ヒント:LARGE(範囲,n) で n 番目に大きい値です。
高いほうから 91・88… なので、2番目は 88 です。C12 を 3 にすると 3番目の 83 になります(LARGE関数の使い方)。
問題10の解答と解説
問題:国語の最高点の人の名前を出してください。
=INDEX(成績!$A$2:$A$9,MATCH(MAX(成績!$C$2:$C$9),成績!$C$2:$C$9,0))
答え:小川 ヒント:MAX で最高点を出し、MATCH で位置を調べて INDEX で名前を取り出します。
MAX で最高点(91)を出し、MATCH で国語の列の何番目にあるか(5番目)を調べ、INDEX で名前の列の5番目「小川」を取り出します。Microsoft 365 なら =XLOOKUP(MAX(成績!$C$2:$C$9),成績!$C$2:$C$9,成績!$A$2:$A$9) でも小川になりました(INDEX・MATCHの練習問題)。

よくある間違い

実際に試した、よくある間違いの例です。上(問題7)は合計を全員の人数 8 で割ったため、欠席と空欄の人まで 0 点として数えたことになり 55.6 になりました。下(問題8)は RANK.EQ の3つ目を 1 にしたため低い順の順位になり、6 位と出ました。
| 症状 | 考えられる原因 | 対処 |
|---|---|---|
| 平均が低すぎる | 受けていない人まで含めた人数で割った | AVERAGE を使う(問題7)。 |
| 空欄に 0 を入れたら平均が変わった | 0 は数値なので平均に入る | 受けていない人は空欄か「欠席」にする。試したところ、加藤さんの空欄を 0 にすると、平均は 63.57… になりました。 |
| 人数が合わない | COUNT と COUNTA の使い分け | 点数だけなら COUNT、文字も含めるなら COUNTA(問題5・6)。 |
| 順位が逆になる | RANK.EQ の3つ目が 1 | 高い順は 0(省略しても同じ)、低い順は 1(問題8)。 |
よくある質問
クラスごとの平均を出したいときは?
AVERAGEIF を使います。試したところ、=AVERAGEIF(成績!$B$2:$B$9,"B",成績!$C$2:$C$9) で B クラスの国語の平均 63.25 が出ました(COUNTIF・SUMIFの練習問題)。
平均と真ん中の値(中央値)はどう違いますか?
中央値は MEDIAN で出します。この成績表の国語は、平均 73.375 に対して中央値は 71 でした。とび抜けて高い・低い点数があるときは、中央値も見ると全体の様子がわかります(MEDIAN関数の使い方)。
ほかの関数の練習問題もありますか?
IF関数・COUNTIF・SUMIF・ROUND など数値の計算・日付関数・文字列関数・VLOOKUP・XLOOKUP・INDEX・MATCHの練習問題があります。

コメント