「売上金額と訪問件数、単位が違うデータをどうやって公平に比較すればいいんだろう?」。こんな場面に出くわしたことはありませんか?
単位も桁数も違う数字を並べても、そのままでは比較できませんよね。そこで使うのがSTANDARDIZE関数です。データを「標準化」して同じ物差しに揃えてくれます。
この記事ではSTANDARDIZE関数の基本的な使い方から、偏差値の計算や異なる指標の比較といった実務活用まで解説します。
STANDARDIZE関数とは?データを標準化する関数
STANDARDIZE関数(読み方: スタンダダイズ関数)は、データを標準化する関数です。「STANDARDIZE」は英語で「標準化する」という意味です。
標準化とは、平均を0・標準偏差を1に変換する処理のことです。変換後の値は「zスコア」と呼ばれます。ちょっとむずかしく聞こえますが、考え方はシンプルです。
- zスコアが 0 → 平均とぴったり同じ
- zスコアが 正の値 → 平均より上
- zスコアが 負の値 → 平均より下
たとえば、ある社員のzスコアが1.5なら「平均より標準偏差1.5個分だけ上にいる」という意味です。単位が「個数」でも「金額」でもzスコアに変換すれば同じ基準で比較できます。
STANDARDIZE関数にできることをまとめると、次のとおりです。
NOTE
STANDARDIZE関数はGoogleスプレッドシートの全バージョンで使えます。Excelにも同名の関数があり、動作は同じです。
STANDARDIZE関数の書き方(構文と引数)
基本構文
=STANDARDIZE(値, 平均, 標準偏差)
カッコの中に、標準化したい値・分布の平均・分布の標準偏差を指定します。
引数の説明
| 引数 | 必須/任意 | 説明 |
|---|---|---|
| 値 | 必須 | 標準化したい数値 |
| 平均 | 必須 | データ全体の平均値 |
| 標準偏差 | 必須 | データ全体の標準偏差 |
3つの引数はすべて必須です。平均と標準偏差は手入力もできますが、AVERAGE関数とSTDEV関数で自動計算するのがおすすめです。
TIP
計算式は
(値 - 平均) / 標準偏差です。手計算と同じ結果になりますが、関数を使えば入力ミスを防げます。
STANDARDIZE関数の基本的な使い方
以下のテストデータでSTANDARDIZE関数を使ってみましょう。
B2からB6に5人の成績データが入っているとします。
| A列(名前) | B列(点数) | |
|---|---|---|
| 2行目 | 田中 | 80 |
| 3行目 | 鈴木 | 65 |
| 4行目 | 佐藤 | 90 |
| 5行目 | 山田 | 70 |
| 6行目 | 高橋 | 75 |
zスコアを求める
まず平均と標準偏差を確認します。AVERAGE関数で平均は76、STDEV関数で標準偏差は約9.62です。
C2セルに次の数式を入力します。
=STANDARDIZE(B2, AVERAGE($B$2:$B$6), STDEV($B$2:$B$6))
田中さん(80点)のzスコアは約 0.42 です。平均より少し上にいることがわかります。
C2をC6までコピーすると、全員分のzスコアが一覧できます。
| 名前 | 点数 | zスコア |
|---|---|---|
| 田中 | 80 | 0.42 |
| 鈴木 | 65 | -1.14 |
| 佐藤 | 90 | 1.46 |
| 山田 | 70 | -0.62 |
| 高橋 | 75 | -0.10 |
zスコアが正なら平均以上、負なら平均以下と一目でわかりますね。
STANDARDIZE関数の実務活用パターン
異なる単位のデータを公平に比較する
営業チームの評価で「売上金額」と「訪問件数」を総合的に比較したい場面を考えてみましょう。
| A列(名前) | B列(売上・万円) | C列(訪問件数) | |
|---|---|---|---|
| 2行目 | 田中 | 500 | 30 |
| 3行目 | 鈴木 | 350 | 45 |
| 4行目 | 佐藤 | 600 | 25 |
| 5行目 | 山田 | 400 | 40 |
売上は万円、訪問は件数なので、そのまま合計しても意味がありません。そこでそれぞれのzスコアを計算します。
D2セル(売上のzスコア)に次の数式を入力します。
=STANDARDIZE(B2, AVERAGE($B$2:$B$5), STDEV($B$2:$B$5))
E2セル(訪問件数のzスコア)にも同様に入力します。
=STANDARDIZE(C2, AVERAGE($C$2:$C$5), STDEV($C$2:$C$5))
F2セルでzスコアの平均を求めれば、総合評価ができます。
=AVERAGE(D2, E2)
これで売上が高くても訪問が少ない人、訪問は多いけど売上が控えめな人を公平に評価できます。
偏差値を計算する
テスト結果や営業成績の偏差値を出したい場面もありますよね。偏差値はzスコアを元に計算できます。
=STANDARDIZE(B2, AVERAGE($B$2:$B$6), STDEV($B$2:$B$6)) * 10 + 50
偏差値の計算式は「zスコア x 10 + 50」です。STANDARDIZE関数の結果に10を掛けて50を足すだけです。
偏差値50が平均、60以上なら上位約16%に入ります。社内の営業成績ランキングや研修テストの評価に活用できます。
よくあるエラーと対処法
STANDARDIZE関数でよく出るエラーと対処法をまとめました。
| エラー | 原因 | 対処法 |
|---|---|---|
| #NUM! | 標準偏差に0以下の値を指定した | データが2つ以上あるか確認する。全データが同じ値だと標準偏差が0になる |
| #VALUE! | 引数に数値以外(テキスト)を指定した | セル参照先が数値かどうか確認する |
| #N/A | 引数が不足している | 3つの引数(値・平均・標準偏差)をすべて指定する |
WARNING
全員が同じ点数だと標準偏差が0になり、#NUM!エラーが発生します。「ばらつきのないデータは標準化できない」と覚えておくとよいでしょう。
似た関数との違い・使い分け
STANDARDIZE関数と関連する統計関数を整理します。
| 関数 | 役割 | 使い分け |
|---|---|---|
| STANDARDIZE | zスコア(標準化された値)を返す | 異なる単位のデータを比較したいとき |
| AVERAGE | 平均値を返す | STANDARDIZEの引数として使う |
| STDEV | 標本標準偏差を返す | STANDARDIZEの引数として使う |
| VAR | 分散を返す | ばらつきを二乗のまま扱いたいとき |
| PERCENTILE | パーセンタイル値を返す | 上位○%の基準値を知りたいとき |
STANDARDIZEは「相対的な位置」を、PERCENTILEは「特定の位置の実際の値」を返します。目的に応じて使い分けてください。
まとめ
STANDARDIZE関数のポイントを振り返りましょう。
- STANDARDIZE関数はデータを標準化してzスコアを返す
- 構文は
=STANDARDIZE(値, 平均, 標準偏差)で引数は3つとも必須 - zスコアが0なら平均と同じ。正なら平均以上、負なら平均以下
- 異なる単位のデータ比較や偏差値の計算に活用できる
- AVERAGE関数・STDEV関数と組み合わせて使うのが基本
単位の違うデータの比較に困ったら、STANDARDIZE関数で標準化してみてください。
