=AVERAGE(B2:B7)はB2:B7の数値の平均を返します。数値を合計し、数値の個数で割ります。空いたセルに入力するか、ホーム > オートSUM > 平均を選べばExcelが書いてくれます。
| A | B | |
|---|---|---|
| 1 | Student | Score |
| 2 | Ana | 78 |
| 3 | Ben | 92 |
| 4 | Chen | 65 |
| 5 | Dina | 88 |
| 6 | Eli | 71 |
| 7 | Fay | 84 |
| 8 | Average | 79.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が入っています。
| A | B | C | |
|---|---|---|---|
| 1 | Student | Blank | Zero |
| 2 | Ana | 80 | 80 |
| 3 | Ben | 0 | |
| 4 | Chen | 70 | 70 |
| 5 | Dina | 90 | 90 |
| 6 | Average | 80 | 60 |
| 7 | Numbers counted | 3 | 4 |
B列は80(240÷3)、C列は60(240÷4)になります。どちらも間違いではありません。値がないことが「受けていない」のか「0点だった」のかを決めてください。空に見せるために""を返す数式は、空白セルと同じように飛ばされます。
0を除いて平均する
0が「データなし」を意味していて結果を下げたくないときは、AVERAGEIFで条件"<>0"(0と等しくない)を指定します:
| A | B | C | D | E | |
|---|---|---|---|---|---|
| 1 | Day | Sales | Ignoring zeros | Plain average | |
| 2 | Mon | 420 | 440 | 293.3333333 | |
| 3 | Tue | 0 | |||
| 4 | Wed | 380 | |||
| 5 | Thu | 0 | |||
| 6 | Fri | 510 | |||
| 7 | Sat | 450 |
D2は440で、売上のあった4日間の平均です。E2の普通の平均は6日で割るので、約293.33になります。AVERAGEIFは空白セルを数えないので、"<>0"でも空白セルは除かれます。ほかの条件はAVERAGEIFのページにあります。
上位3つの値の平均
LARGEはk番目に大きい値を返します。配列{1,2,3}を渡すと大きいほうから3つの値を一度に返し、AVERAGEがそれを平均します:
| A | B | C | D | E | |
|---|---|---|---|---|---|
| 1 | Round | Points | Top 3 average | Bottom 3 average | |
| 2 | 1 | 64 | 85.33333333 | 64.66666667 | |
| 3 | 2 | 81 | |||
| 4 | 3 | 77 | |||
| 5 | 4 | 90 | |||
| 6 | 5 | 58 | |||
| 7 | 6 | 85 | |||
| 8 | 7 | 72 |
上位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を除いて平均する
| A | B | C | D | E | |
|---|---|---|---|---|---|
| 1 | Day | Visits | Average (no zeros) | ||
| 2 | Mon | 120 | |||
| 3 | Tue | 0 | |||
| 4 | Wed | 135 | |||
| 5 | Thu | 98 | |||
| 6 | Fri | 0 | |||
| 7 | Sat | 160 | |||
| 8 | Sun | 142 |
やってみよう: E2で、訪問数が0の日を除いてB2:B8の訪問数を平均してください。
平均が実態を表さないとき: MEDIANを使う
極端な値が1つあると、平均は大きく動きます。MEDIANは代わりに真ん中の値を返し、多くの場合これが「典型的な」値の意味するものです。
| A | B | C | D | E | |
|---|---|---|---|---|---|
| 1 | Employee | Salary | Average | Median | |
| 2 | Ana | $42,000 | $78,800 | $47,000 | |
| 3 | Ben | $45,000 | |||
| 4 | Chen | $47,000 | |||
| 5 | Dina | $50,000 | |||
| 6 | Owner | $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で割ることになります。