「データのばらつきを調べたいけど、標準偏差だと計算がイメージしにくい……」。そう感じたことはありませんか?
標準偏差は偏差を二乗して計算するので、元の単位と異なる値が途中で出てきます。もっと直感的にばらつきを把握できる方法があったら便利ですよね。
そんなときに使うのがスプレッドシートのAVEDEV関数です。この記事では基本の書き方から実務での活用例まで解説します。STDEV関数との違いもあわせて整理しました。
AVEDEV関数とは?スプレッドシートで平均偏差を求める関数
AVEDEV関数(読み方: アベデブ関数)は、指定したデータの平均偏差を返す関数です。「AVEDEV」は「AVErage DEViation(平均偏差)」の略です。
平均偏差とは、各データと平均値の差(偏差)の絶対値を平均した値のことです。たとえば 2, 4, 6 の3つのデータなら、平均は4です。偏差の絶対値はそれぞれ 2, 0, 2 で、平均すると (2 + 0 + 2) / 3 ≒ 1.33 が平均偏差です。
AVEDEV関数にできることをまとめると、次のとおりです。
- データのばらつき度合いをわかりやすい数値で確認する
- 外れ値の影響を抑えてばらつきを把握する
- STDEV関数(標準偏差)と比較してデータの特徴を多角的に分析する
- 元データと同じ単位でばらつきを表現する
NOTE
AVEDEV関数はGoogleスプレッドシートの全バージョンで使えます。Excelにも同名の関数があり、動作は同じです。
AVEDEV関数の書き方(構文と引数)
基本構文
=AVEDEV(値1, [値2], ...)
カッコの中に、平均偏差を求めたいデータのセル範囲や数値を指定します。
引数の説明
| 引数 | 必須/任意 | 説明 |
|---|---|---|
| 値1 | 必須 | 平均偏差を求めたい最初の値またはセル範囲 |
| 値2, … | 任意 | 追加の値またはセル範囲。最大255個まで指定可能 |
引数にはセル参照、セル範囲、数値を直接指定できます。
TIP
セル範囲に含まれる文字列・TRUE/FALSE・空白セルは自動的に無視されます。数値だけが計算の対象になりますよ。ただし、引数に直接TRUE/FALSEを指定した場合はTRUE=1、FALSE=0として計算されます。
AVEDEV関数の基本的な使い方
以下のテストスコアのデータでAVEDEV関数を使ってみましょう。
A2からA6に5人分のスコアが入っているとします。
| A列(スコア) | |
|---|---|
| 2行目 | 60 |
| 3行目 | 70 |
| 4行目 | 80 |
| 5行目 | 90 |
| 6行目 | 100 |
セル範囲で指定する
=AVEDEV(A2:A6)
結果は 12 です。平均値は80なので、偏差の絶対値はそれぞれ 20, 10, 0, 10, 20 です。これらを平均すると (20 + 10 + 0 + 10 + 20) / 5 = 12 になります。
つまり「各データは平均から平均して12点ずれている」という意味です。元の単位(点数)のまま理解できるのがポイントですね。
数値を直接指定する
=AVEDEV(2, 4, 6)
結果は 1.33… です。平均は4で、偏差の絶対値は 2, 0, 2 です。平均すると (2 + 0 + 2) / 3 ≒ 1.33 ですね。
複数の範囲を組み合わせる
=AVEDEV(A2:A4, A5:A6)
複数のセル範囲をカンマで区切って指定できます。結果はA2:A6を一括指定した場合と同じ 12 です。
AVEDEV関数の実務での活用例
ABS関数とAVERAGE関数で手動計算して検算する
AVEDEV関数の結果が正しいか確認したいときは、ABS関数とAVERAGE関数を組み合わせて手動で計算できます。
B2からB6に月別売上データ(万円)が入っているとします。
| B列(売上) | |
|---|---|
| 2行目 | 120 |
| 3行目 | 85 |
| 4行目 | 200 |
| 5行目 | 150 |
| 6行目 | 95 |
ARRAYFORMULAを使って各データの偏差の絶対値を一括で計算し、平均を取ります。
=AVERAGE(ARRAYFORMULA(ABS(B2:B6-AVERAGE(B2:B6))))
結果は 36 です。これは =AVEDEV(B2:B6) の結果と一致します。
TIP
AVEDEV関数なら1つの関数でまとめて計算できます。手動計算はあくまで検算用として覚えておくと便利です。
2グループのばらつきを比較する
部門ごとの売上ばらつきを比較したい場面を考えてみましょう。
| C列(営業1課) | D列(営業2課) | |
|---|---|---|
| 2行目 | 100 | 150 |
| 3行目 | 110 | 90 |
| 4行目 | 105 | 200 |
| 5行目 | 95 | 60 |
| 6行目 | 90 | 100 |
=AVEDEV(C2:C6)
営業1課の平均偏差は 6 です。
=AVEDEV(D2:D6)
営業2課の平均偏差は 44 です。
平均偏差が大きいほどデータのばらつきが大きいことを意味します。営業2課は平均から平均して44万円ずれているのに対し、営業1課は6万円です。営業2課のほうが売上のばらつきがかなり大きいことがわかりますね。
NOTE
平均偏差は元データと同じ単位(この例では万円)で表現されるため、結果を直感的に理解しやすいのがメリットです。
外れ値がある場合の安定性を確認する
平均偏差は偏差を二乗しないため、外れ値の影響を受けにくい特徴があります。
E2からE5に以下のデータが入っているとします。
| E列(データ) | |
|---|---|
| 2行目 | 10 |
| 3行目 | 10 |
| 4行目 | 10 |
| 5行目 | 50 |
5行目の50は明らかな外れ値です。
=AVEDEV(E2:E5)
平均偏差は 15 です。
=STDEV(E2:E5)
標準偏差は 20 です。
標準偏差は偏差を二乗するため、外れ値の影響が増幅されます。平均偏差のほうが穏やかな値になっているのがわかりますね。
よくあるエラーと対処法
#VALUE!エラー
数値に変換できない文字列を引数に直接指定すると発生します。
=AVEDEV("abc", 4) → #VALUE!エラー
=AVEDEV(2, 4, 6) → 正常に計算される(結果: 1.33...)
セル範囲内に文字列がある場合は自動で無視されるので、エラーにはなりません。直接引数として文字列を渡した場合にのみ発生します。
#DIV/0!エラー
数値データが1つもない場合に発生します。すべてのセルが空白や文字列だけだと、計算対象の数値が0個になるためです。
=AVEDEV(A2:A6) → A2:A6がすべて空白なら #DIV/0!エラー
データ範囲に数値が含まれているか確認してみてください。
結果が0になる
すべてのデータが同じ値の場合、平均値との差がすべて0になるため、AVEDEV関数の結果も0になります。
=AVEDEV(5, 5, 5) → 0
これはエラーではなく正しい結果です。「ばらつきがない」ことを意味しています。
結果が想定より小さい
セル範囲に文字列や空白が混ざっていると、そのセルは計算から除外されます。データ件数が想定より少なくなっている可能性があります。
COUNT関数で数値セルの個数を確認してみてください。
=COUNT(A2:A10)
想定より少なければ、文字列が混ざっているセルを修正しましょう。
STDEV関数・DEVSQ関数との違い・使い分け
AVEDEV関数と混同しやすい関数に、STDEV関数とDEVSQ関数があります。
| 項目 | AVEDEV | STDEV | DEVSQ |
|---|---|---|---|
| 計算内容 | 偏差の絶対値の平均 | 偏差の二乗の平均の平方根 | 偏差の二乗の合計 |
| 偏差の処理方法 | 絶対値を取る | 二乗する | 二乗する |
| 外れ値の影響 | 比較的小さい | 大きい(二乗で増幅) | 大きい |
| 結果の単位 | 元データと同じ | 元データと同じ | 元データの二乗 |
| 主な用途 | 直感的なばらつき把握 | 統計的分析・正規分布前提の検定 | ばらつきの総量把握・分散の検算 |
使い分けの目安は次のとおりです。
TIP
迷ったときは標準偏差(STDEV関数)を使うのが一般的です。平均偏差(AVEDEV関数)は「ざっくりとしたばらつきの把握」や「外れ値の影響を抑えたい場面」で活躍します。
まとめ
AVEDEV関数は、指定したデータの平均偏差(各データと平均値の差の絶対値の平均)を返す関数です。
この記事のポイント
- 構文は
=AVEDEV(値1, [値2], ...)で、セル範囲を指定するだけ - 平均偏差とは「各データと平均値の差の絶対値を平均した値」のこと
- 結果は元データと同じ単位で表現されるので直感的にわかりやすい
- 外れ値の影響を受けにくいのが標準偏差との大きな違い
- セル範囲内の文字列・空白・論理値は自動で無視される
- STDEV関数は統計分析向け、AVEDEV関数は直感的な把握向け
次のステップ:関連する統計関数
AVEDEV関数の使い方がわかったら、以下の関数もあわせて覚えてみてください。統計分析の幅が広がりますよ。
