Menu

AVERAGE関数の使い方: Excelで平均を求める方法

=AVERAGE(B2:B7)はB2:B7の数値を合計し、その個数で割ります。空白と0で結果がどう変わるか、0を除いて平均する方法、上位3つの平均の出し方を学びます。

このページのシートはすべて実際に動きます。数値や数式を変えると再計算されます。

=AVERAGE(B2:B7)はB2:B7の数値の平均を返します。数値を合計し、数値の個数で割ります。空いたセルに入力するか、ホーム > オートSUM > 平均を選べばExcelが書いてくれます。

テストの平均点
B8
AB
1StudentScore
2Ana78
3Ben92
4Chen65
5Dina88
6Eli71
7Fay84
8Average79.66666667
セルをクリックすると数式が見えます。数値や数式を変えると、シートが再計算されます。

6人の点数の合計は478で、478を6で割ると約79.67です。Chenの点数を95に変えると、平均は84.67に上がります。小数の桁数を減らすにはホーム > 小数点以下の表示桁数を減らすを使うか、=ROUND(AVERAGE(B2:B7),1)で結果そのものを丸めます(違いはROUNDで説明しています)。

AVERAGE関数の構文

=AVERAGE(number1, [number2], ...)

SUMと同じく、範囲、セル、数値をカンマで区切って指定します。=AVERAGE(B2:B7,D2:D7)は2つの列をまとめて平均し、=AVERAGE(B2:D2)は行方向に平均します。範囲内の文字列、TRUE/FALSE、空白セルは飛ばされます。

空白セルと0の違い

平均がおかしくなる原因のほとんどはここにあります。AVERAGEは空白セルを飛ばしますが、0は数値なので数えます。下の2つの列はBenだけが違います。B列では彼のセルが空白で、C列では0が入っています。

空白か0か
B6
ABC
1StudentBlankZero
2Ana8080
3Ben0
4Chen7070
5Dina9090
6Average8060
7Numbers counted34
セルをクリックすると数式が見えます。数値や数式を変えると、シートが再計算されます。

B列は80(240÷3)、C列は60(240÷4)になります。どちらも間違いではありません。値がないことが「受けていない」のか「0点だった」のかを決めてください。空に見せるために""を返す数式は、空白セルと同じように飛ばされます。

0を除いて平均する

0が「データなし」を意味していて結果を下げたくないときは、AVERAGEIFで条件"<>0"(0と等しくない)を指定します:

売上のない日を除いた平均売上
D2
ABCDE
1DaySalesIgnoring zerosPlain average
2Mon420440293.3333333
3Tue0
4Wed380
5Thu0
6Fri510
7Sat450
セルをクリックすると数式が見えます。数値や数式を変えると、シートが再計算されます。

D2は440で、売上のあった4日間の平均です。E2の普通の平均は6日で割るので、約293.33になります。AVERAGEIFは空白セルを数えないので、"<>0"でも空白セルは除かれます。ほかの条件はAVERAGEIFのページにあります。

上位3つの値の平均

LARGEはk番目に大きい値を返します。配列{1,2,3}を渡すと大きいほうから3つの値を一度に返し、AVERAGEがそれを平均します:

ベスト3の結果
D2
ABCDE
1RoundPointsTop 3 averageBottom 3 average
216485.3333333364.66666667
3281
4377
5490
6558
7685
8772
セルをクリックすると数式が見えます。数値や数式を変えると、シートが再計算されます。

上位3つは90、85、81なので、D2は85.33(四捨五入)です。下位3つは58、64、72で、64.67になります。Excel 2021とMicrosoft 365では、=AVERAGE(LARGE(B2:B8,SEQUENCE(5)))で順位を並べて書かずに上位5つを平均できます。

AVERAGEA: 文字列を0として数えたいとき

AVERAGEAは文字列とFALSEを0、TRUEを1として数えます。B2:B4に80、70、「absent」という文字列があるとき:

=AVERAGE(B2:B4)    returns 75 (80 + 70, divided by 2)
=AVERAGEA(B2:B4)   returns 50 (80 + 70 + 0, divided by 3)

AVERAGEAは、文字列の入力が本当に0を意味するときだけ使ってください。空白セルはどちらの関数でも飛ばされます。

練習: 0を除いて平均する

週のサイト訪問数
E2
ABCDE
1DayVisitsAverage (no zeros)
2Mon120
3Tue0
4Wed135
5Thu98
6Fri0
7Sat160
8Sun142
セルをクリックすると数式が見えます。数値や数式を変えると、シートが再計算されます。

やってみよう: E2で、訪問数が0の日を除いてB2:B8の訪問数を平均してください。

平均が実態を表さないとき: MEDIANを使う

極端な値が1つあると、平均は大きく動きます。MEDIANは代わりに真ん中の値を返し、多くの場合これが「典型的な」値の意味するものです。

平均と中央値
D2
ABCDE
1EmployeeSalaryAverageMedian
2Ana$42,000$78,800$47,000
3Ben$45,000
4Chen$47,000
5Dina$50,000
6Owner$210,000
セルをクリックすると数式が見えます。数値や数式を変えると、シートが再計算されます。

平均給与は$78,800で、5人のうち4人の給与より高くなっています。中央値は$47,000です。ほかから大きく離れた値がいくつかあるときは、中央値を示すか、両方を示してください。2倍に数える試験のように、一部の値に大きな重みを付けたいときは加重平均をご覧ください。

よくある質問

Excelで平均を求める数式は?

=AVERAGE(B2:B7)です。範囲内の数値を合計し、数値の個数で割ります。空白セルと文字列は、合計にも個数にも含まれません。

AVERAGEは空白セルを数えますか?

数えません。空白セルは飛ばされるので、空白が1つある=AVERAGE(B2:B5)は3で割ります。0が入ったセルは数えられるので、平均を下げます。

ExcelのAVERAGEとMEDIANの違いは何ですか?

=AVERAGE(B2:B6)は値を合計して個数で割り、=MEDIAN(B2:B6)は値を並べたときの真ん中の値を返します。極端な値が1つあると平均は動きますが、中央値は動きません。42000、45000、47000、50000、210000なら、平均は78800、中央値は47000です。

Excelで上位3つの値の平均を出すには?

=AVERAGE(LARGE(B2:B8,{1,2,3}))は大きいほうから3つの値を平均します。下位3つならLARGEの代わりにSMALLを使います。Excel 2021かMicrosoft 365で上位5つなら=AVERAGE(LARGE(B2:B8,SEQUENCE(5)))です。

AVERAGEが#DIV/0!を返すのはなぜですか?

範囲に数値が1つもないからです。範囲が空か、文字列として保存された数値のように、すべての値が文字列です。そのためAVERAGEは0で割ることになります。

Coddyのプログラミング言語のイラスト

Coddyでコードを学ぼう

始める