スプレッドシートのAVERAGE関数の使い方|平均
テストの平均点や、月別の売上平均を出したい場面って多いですよね。
電卓で1つずつ足して個数で割る方法もあります。でもデータが増えるたびに計算し直すのは大変ですし、ミスも起きがちです。
そんなときに使うのがAVERAGE関数です。範囲を指定するだけで、数値の平均を一発で求めてくれます。
この記事では基本の書き方から実務での活用パターンまで紹介します。
AVERAGE関数とは?
AVERAGE関数(読み方: アベレージ関数)は、指定した数値やセル範囲の平均値(算術平均)を返す関数です。
名前は英語の「average(平均)」がそのまま由来です。たとえばテストの点数が「80, 70, 90」の3つなら、AVERAGE関数で「80」が返ります。
計算の仕組みは「合計 / 個数」です。SUM関数で合計を出してCOUNT関数で個数を数えて割る手間を、AVERAGE関数ひとつで済ませてくれます。
AVERAGE関数にできることをまとめると、次のとおりです。
- 指定したセル範囲の数値の平均を求める
- 複数の離れたセル範囲をまとめて平均を求める
- 文字列や空白セルは自動的にスキップする
- 他の関数と組み合わせて平均値を加工する
NOTE
AVERAGE関数はGoogleスプレッドシートの全バージョンで使えます。Excelとの互換性も完全なので、ファイルのやり取りでも安心です。
AVERAGE関数の書き方(構文と引数)
基本構文
=AVERAGE(値1, [値2], ...)
カッコの中に、平均を求めたい数値やセル範囲を指定します。
引数の説明
| 引数 | 必須/任意 | 説明 |
|---|---|---|
| 値1 | 必須 | 平均を求めたい最初の数値、セル参照、またはセル範囲 |
| 値2, … | 任意 | 追加で平均に含めたい数値やセル範囲(最大30個まで) |
引数が2つ以上ある場合は、カンマ( , )で区切ります。
引数に指定できるものは3種類あります。
- 数値を直接入力:
=AVERAGE(80, 70, 90)→ 結果は80 - セル参照:
=AVERAGE(A1, B1, C1)→ 各セルの値の平均 - セル範囲:
=AVERAGE(A1:A10)→ A1からA10の平均
これらを組み合わせることもできます。=AVERAGE(A1:A5, C1, 100) のように、範囲・セル参照・数値を混ぜて書けるのがポイントです。
TIP
Excelでは引数を最大255個まで指定できますが、Googleスプレッドシートでは最大30個です。ただし、1つの引数にセル範囲を指定できるので実務で困ることはほとんどありません。
AVERAGE関数の基本的な使い方
ここからは、実際にAVERAGE関数を入力する手順を見ていきましょう。
セル範囲の平均を求める(もっとも基本のパターン)
B2からB10にテストの点数が入っているとします。
=AVERAGE(B2:B10)
B2:B10の範囲にある数値の平均が返ります。点数が「80, 70, 90, 60, 85」の5人分なら、結果は「77」です。
数値を直接入力する
セルを使わずに、数値だけで平均を確認したいときはこう書きます。
=AVERAGE(80, 70, 90)
結果は「80」です。(80+70+90) / 3 = 80 ですね。
離れたセルの平均を求める
平均したいセルが隣り合っていない場合は、カンマ区切りで指定します。
=AVERAGE(A1, C1, E1)
A1・C1・E1の3つのセルの平均を返します。
複数の範囲をまとめて平均する
離れた範囲をまとめて平均することもできます。
=AVERAGE(B2:B10, D2:D10)
B2からB10とD2からD10を合わせた全データの平均を返します。月ごとにデータが別の列にあるときに便利です。
関数メニューから入力する
ツールバーの関数ボタンからAVERAGE関数を素早く入力できます。
- 平均を表示したいセルを選択する
- ツールバー右端の 「関数」ボタン(シグマ記号) をクリックする
- メニューから 「AVERAGE」 を選択する
- 自動的に範囲が入力されるので、正しいか確認してEnterを押す
TIP
セルに
=avと入力すると候補にAVERAGEが表示されます。Tabキーで確定すれば素早く入力できますよ。
AVERAGE関数が空白・文字列を扱うときのルール
AVERAGE関数を使うとき、意外とつまずきやすいのがデータの扱い方です。どんなセルがカウントされて、どんなセルがスキップされるのかを整理します。
| セルの状態 | 平均に含まれるか | 説明 |
|---|---|---|
| 数値 | 含まれる | 通常どおり計算に入る |
| 空白セル | スキップされる | 分母にも含まれない |
| 文字列 | スキップされる | 分母にも含まれない |
| 0(ゼロ) | 含まれる | 分母にも含まれる |
| TRUE/FALSE | スキップされる | セル範囲で指定した場合 |
| 日付 | 含まれる | 内部的には数値として計算される |
ここで最も注意したいのは 0の扱い です。空白セルは分母に含まれませんが、0が入力されたセルは分母に含まれます。
たとえば、テストの点数が「80, 0, 90」の3人分だとします。
=AVERAGE(80, 0, 90)
結果は「56.67」です。0も分母に含まれるので (80+0+90) / 3 になります。
一方、0のセルが空白なら結果は「85」です。(80+90) / 2 で計算されます。
欠席者(点数なし)を除いて平均を出したい場合は、セルを空白にしておくのがポイントです。0を入力すると「0点を取った人」として平均に影響します。
実務でのAVERAGE関数活用例
パターン1: テストの平均点を出す
もっとも基本的な使い方です。C列に点数が入っているとします。
=AVERAGE(C2:C30)
クラス全員の平均点が一発で出ます。小数が気になる場合はROUND関数と組み合わせましょう。
=ROUND(AVERAGE(C2:C30), 1)
小数第1位まで丸められます。成績表で「75.3点」のようにすっきり表示できますよ。
パターン2: 月別の売上平均
売上データから月別の平均を出すパターンです。B列に日別の売上が入っているとします。
=AVERAGE(B2:B31)
1か月分のデータの平均を出せます。列全体を指定すれば、データが増えても自動で対応します。
=AVERAGE(B:B)
NOTE
AVERAGE関数を入力するセル自体がB列にあると循環参照エラーになります。平均セルは別の列に配置しましょう。
パターン3: 上位・下位を除いた平均(TRIMMEAN)
平均は極端な値の影響を受けやすい統計量です。たとえば「80, 85, 90, 75, 10」の平均は「68」。1つの低い値で大きく下がります。
外れ値の影響を減らしたいときはTRIMMEAN関数が便利です。
=TRIMMEAN(B2:B20, 0.2)
上位10%と下位10%を除外した平均を返します。第2引数の0.2は「上下合計20%を除外する」という意味です。
パターン4: SUM/COUNTで手動計算する方法との比較
AVERAGE関数は =SUM(範囲) / COUNT(範囲) と同じ結果です。
=SUM(B2:B10) / COUNT(B2:B10)
この式はSUM関数で合計を出し、COUNT関数で数値セルの個数を数え、割っています。AVERAGE関数はこれを1つの関数で実現したものです。
通常はAVERAGE関数を使うのがおすすめです。ただし「合計と個数と平均を全部表示したい」場合は、SUM・COUNT・AVERAGEをそれぞれ使うと集計表がわかりやすくなります。
パターン5: 条件付きで平均を出す(AVERAGEIF)
「営業部だけの平均売上を出したい」。こんなときはAVERAGEIF関数を使います。
=AVERAGEIF(A2:A50, "営業部", C2:C50)
A列が「営業部」のデータだけを対象に、C列の平均を返します。AVERAGE関数では全データの平均しか出せませんが、AVERAGEIF関数なら条件を1つ指定できます。
複数の条件を同時に指定したいときはAVERAGEIFS関数です。「営業部」かつ「4月」のように条件を組み合わせられます。
=AVERAGEIFS(C2:C50, A2:A50, "営業部", B2:B50, "4月")
TIP
AVERAGEIF関数・AVERAGEIFS関数については、別記事で詳しく解説予定です。条件付きの平均を使いたい方はあわせてチェックしてみてください。
よくあるエラーと対処法
AVERAGE関数はシンプルな関数ですが、思った結果にならないケースもあります。
| 症状 | 原因 | 対処法 |
|---|---|---|
| #DIV/0!エラー | 範囲内に数値が1つもない | 数値が入っているか確認する |
| #VALUE!エラー | 引数に直接文字列を渡している | =AVERAGE("abc")はNG。セル参照なら自動スキップ |
| 平均が低すぎる | 0が入ったセルが分母に含まれている | 不要な0を空白にするかAVERAGEIFで除外する |
| 平均が合わない | 数字に見えるが文字列のセルがある | 表示形式を「数値」に変更する |
| 循環参照の警告 | 自分自身の範囲にAVERAGE関数のセルが含まれている | 平均セルを範囲外に移動する |
#DIV/0!エラーの対処
もっとも多いのは#DIV/0!エラーです。AVERAGE関数は内部で「合計/個数」を計算するため、数値が1つもないと0で割ることになりエラーが出ます。
=AVERAGE(A1:A5)
A1からA5が全部空白だとこのエラーが出ます。事前にチェックするなら次のように書きます。
=IF(COUNT(A1:A5)=0, "", AVERAGE(A1:A5))
数値が1つもないときは空白、あるときは平均を返します。
0を除外して平均を出す
欠席者を「0」にしているデータでは、平均が下がりすぎることがあります。0を除外するにはAVERAGEIF関数を使います。
=AVERAGEIF(B2:B20, "<>0")
「0以外」の条件を指定すれば、0を除外した平均が出ます。
文字列になっている数値に注意
SUM関数と同様に、「数字なのにAVERAGEに含まれない」パターンがあります。
- セルの値が左寄せなら文字列の可能性がある
=ISNUMBER(A1)でFALSEなら文字列- CSVや外部データの貼り付けで起きやすい
似た関数との違い・使い分け
AVERAGE関数と関連する関数をまとめました。
| 関数 | 動作 | 条件指定 | 使いどころ |
|---|---|---|---|
| AVERAGE | 数値の平均 | なし | 全データの平均を出す |
| AVERAGEIF | 条件付き平均 | 1つ | 特定の条件に合うデータの平均 |
| AVERAGEIFS | 複数条件付き平均 | 複数 | 2つ以上の条件を組み合わせた平均 |
| MEDIAN | 中央値 | なし | 外れ値の影響を受けにくい代表値 |
| SUM | 合計 | なし | 数値の合計を出す |
| COUNTIF | 条件付きカウント | 1つ | 条件に合うセルの個数 |
AVERAGEとMEDIAN(中央値)の違い
AVERAGE関数は「平均値」、MEDIAN関数は「中央値」を返します。
=AVERAGE(80, 85, 90, 75, 10) → 68
=MEDIAN(80, 85, 90, 75, 10) → 80
平均値は極端な値の影響を受けやすいのが特徴です。上の例では「10」という外れ値で平均が大きく下がっています。一方、中央値はデータを小さい順に並べたときの真ん中の値なので、外れ値の影響を受けにくいです。
使い分けの目安はこうです。
- データが均一: AVERAGE関数で問題なし
- 外れ値がある: MEDIAN関数のほうが実態に近い
- 両方出す: AVERAGEとMEDIANの差が大きいほど偏りあり
AVERAGEとAVERAGEIFの使い分け
AVERAGE関数は「全部の平均」、AVERAGEIF関数は「条件に合うものだけの平均」です。
この関係はSUM関数とSUMIF関数の関係と同じです。条件なしの集計ならAVERAGE、条件ありならAVERAGEIFを選びましょう。
AVERAGEとAVERAGEA(AVERAGEA)の違い
AVERAGEA関数は、文字列やTRUE/FALSEも計算に含めます。
| 関数 | 文字列 | TRUE | FALSE | 空白 |
|---|---|---|---|---|
| AVERAGE | スキップ | スキップ | スキップ | スキップ |
| AVERAGEA | 0として計算 | 1として計算 | 0として計算 | スキップ |
通常はAVERAGE関数で十分です。文字列を0として含めたい特殊な場面でだけAVERAGEAを使います。
Excelとの違い
AVERAGE関数はExcelとGoogleスプレッドシートでほぼ同じ動作です。
| 項目 | Excel | Googleスプレッドシート |
|---|---|---|
| 構文 | =AVERAGE(数値1, …) | =AVERAGE(値1, …) |
| 動作 | 数値の算術平均 | 数値の算術平均 |
| 引数上限 | 最大255個 | 最大30個 |
| 空白セル | スキップ | スキップ |
| 文字列セル | スキップ | スキップ |
| 0の扱い | 分母に含む | 分母に含む |
引数の上限数が異なりますが、セル範囲を使えば問題ありません。基本的にはExcelと同じ感覚で使えますよ。
まとめ
AVERAGE関数は、数値の平均を求めるもっとも基本的な関数です。
ポイントを整理します。
- 構文は
=AVERAGE(値1, [値2], ...)で数値の平均を返す - 空白セルや文字列は自動でスキップされる
- 0が入ったセルは分母に含まれる(空白とは扱いが違う)
- ROUND関数と組み合わせれば小数を丸められる
- 条件付きの平均はAVERAGEIF・AVERAGEIFS関数を使う
- 外れ値が気になるときはMEDIAN関数と比較してみる
まずは =AVERAGE(範囲) でデータの平均を出すところから試してみてください。
