「売上金額と訪問件数、単位が違うデータをどうやって公平に比較すればいいんだろう?」「営業成績の偏差値を計算したいけど、関数で一気に出せないかな?」。こんな場面に出くわしたことはありませんか?
単位も桁数も違う数字を並べても、そのままでは比較できませんよね。そこで使うのが STANDARDIZE関数 です。データを「標準化」して同じ物差しに揃えてくれます。
この記事では、STANDARDIZE関数の基本構文から実務でよく使う活用パターン、エラー対処、よくある質問まで一気通貫で解説します。読み終わるころには、自社の評価データや営業数値を一つの基準で並べられるようになります。
STANDARDIZE関数とは?データを標準化して比較可能にする関数
STANDARDIZE関数(読み方: スタンダダイズ関数)は、データを 標準化 する関数です。「STANDARDIZE」は英語で「標準化する」という意味で、Googleスプレッドシートに最初から組み込まれている統計関数の一つです。
標準化とは、平均を0・標準偏差を1に変換する処理のことです。変換後の値は zスコア(標準得点) と呼ばれます。ちょっとむずかしく聞こえますが、考え方はシンプルです。
- zスコアが 0 → 平均とぴったり同じ
- zスコアが 正の値 → 平均より上(プラス1なら標準偏差1個分上)
- zスコアが 負の値 → 平均より下(マイナス1なら標準偏差1個分下)
たとえば、ある社員のzスコアが1.5なら「平均より標準偏差1.5個分だけ上にいる」という意味です。単位が「個数」でも「金額」でもzスコアに変換すれば同じ基準で比較できるのが最大のメリットです。
STANDARDIZE関数にできることをまとめると、次のとおりです。
- データのzスコア(標準化された値)を求める
- 単位の異なるデータを同じ基準に揃えて比較する
- 偏差値を計算するための中間ステップとして使う
- 営業評価・人事評価・テスト結果の総合スコアを作成する
- AVERAGE関数やSTDEV関数と組み合わせて統計分析を行う
NOTE
STANDARDIZE関数はGoogleスプレッドシートの全バージョンで使えます。Excelにも同名の関数があり、動作はまったく同じです。Excelのファイルをスプレッドシートに読み込んでもそのまま動きます。
STANDARDIZE関数の書き方(構文と引数)
基本構文
=STANDARDIZE(値, 平均, 標準偏差)
カッコの中に、標準化したい値・分布の平均・分布の標準偏差を順番に指定します。引数の順番を間違えると意味のない数値が返ってくるので注意しましょう。
引数の説明
| 引数 | 必須/任意 | 説明 |
|---|---|---|
| 値 | 必須 | 標準化したい数値(セル参照または数値) |
| 平均 | 必須 | データ全体の平均値(AVERAGE関数で自動算出推奨) |
| 標準偏差 | 必須 | データ全体の標準偏差(STDEV関数で自動算出推奨。0より大きい値) |
3つの引数はすべて必須です。平均と標準偏差は手入力もできますが、AVERAGE関数とSTDEV関数で自動計算するのがおすすめです。データが更新されても、平均と標準偏差が自動で再計算されるので、再入力の手間がかかりません。
TIP
計算式は
(値 − 平均) ÷ 標準偏差です。手計算と同じ結果になりますが、関数を使えば入力ミスを防げます。とくに桁数が多いデータでは関数化が必須です。
内部の計算ロジックを理解しておく
たとえば値が80、平均が76、標準偏差が9.62なら、(80 − 76) ÷ 9.62 ≒ 0.42 となります。「平均から見て自分はどれくらい離れているか」を、標準偏差を物差しにして測る関数だとイメージしてください。
STANDARDIZE関数の基本的な使い方
以下のテストデータでSTANDARDIZE関数を使ってみましょう。B2からB6に5人の成績データが入っているとします。
| A列(名前) | B列(点数) | |
|---|---|---|
| 2行目 | 田中 | 80 |
| 3行目 | 鈴木 | 65 |
| 4行目 | 佐藤 | 90 |
| 5行目 | 山田 | 70 |
| 6行目 | 高橋 | 75 |
ステップ1: 平均と標準偏差を確認する
まず、別のセルに平均と標準偏差を出しておくと、後の作業がぐっと楽になります。
=AVERAGE(B2:B6)
=STDEV(B2:B6)
平均は76、標準偏差は約9.62です。データ全体の中心と、ばらつきの大きさが把握できました。
ステップ2: zスコアを求める
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スコアが正なら平均以上、負なら平均以下と一目でわかりますね。点数だけ見ると85点と90点の差は5点ですが、zスコアで見ると「集団のなかでどれくらい突出しているか」がはっきり伝わります。
TIP
C2セルの数式をC6までコピーするとき、
$B$2:$B$6のように 平均と標準偏差の範囲を絶対参照 にしてください。相対参照のままだと、コピー先で参照範囲がずれて誤った値になります。
STANDARDIZE関数の実務活用パターン
ここからは、実際の仕事の現場で出てくるシーンを想定して、STANDARDIZE関数の使い方を見ていきましょう。
パターン1: 異なる単位のデータを公平に比較する
営業チームの評価で「売上金額」と「訪問件数」を総合的に比較したい場面を考えてみましょう。売上は数百万円単位、訪問件数は数十件単位なので、そのまま足しても意味がありません。
| 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)
これで、売上が高くても訪問が少ない人、訪問は多いけど売上が控えめな人を 公平に評価 できます。指標ごとに重みを変えたい場合は、=D20.7 + E20.3 のように重み付き平均にすればOKです。
パターン2: 偏差値を計算する
テスト結果や営業成績の偏差値を出したい場面もありますよね。偏差値はzスコアを元に計算できます。
=STANDARDIZE(B2, AVERAGE($B$2:$B$6), STDEV($B$2:$B$6)) * 10 + 50
偏差値の計算式は 「zスコア × 10 + 50」 です。STANDARDIZE関数の結果に10を掛けて50を足すだけで、見慣れた偏差値の形になります。
- 偏差値50 → ちょうど平均(zスコア0)
- 偏差値60 → 上位約16%(zスコア+1)
- 偏差値70 → 上位約2.3%(zスコア+2)
- 偏差値40 → 下位約16%(zスコア−1)
社内研修テストの評価や、営業ランキングを「業界の偏差値」風に表現したいときに重宝します。
パターン3: 異常値(外れ値)の検出
zスコアの絶対値が2以上のデータは、統計的には「平均から大きく外れた値」と判断されます。これを利用すれば、データの中の異常値を自動でフラグ付けできます。
=IF(ABS(STANDARDIZE(B2, AVERAGE($B$2:$B$100), STDEV($B$2:$B$100))) >= 2, "要確認", "")
製造ラインの検査データ、アンケート結果の入力ミス、Webアクセスログの不審な数値などに使えます。>= 3 にすれば「ほぼ確実に異常」と判定できる厳しめの基準になります。
パターン4: 複数指標を統合した総合ランキング
社員の評価で「売上」「新規顧客数」「顧客満足度スコア」など複数の指標を一つにまとめたい、というケースもよくあります。
各指標をSTANDARDIZE関数でzスコアに変換し、合計または平均を取れば一つのスコアにまとまります。
=AVERAGE(
STANDARDIZE(B2, AVERAGE($B$2:$B$20), STDEV($B$2:$B$20)),
STANDARDIZE(C2, AVERAGE($C$2:$C$20), STDEV($C$2:$C$20)),
STANDARDIZE(D2, AVERAGE($D$2:$D$20), STDEV($D$2:$D$20))
)
そのままだと小数点の数値ですが、* 10 + 50 を付ければ偏差値スタイルの「総合スコア」になります。社内の評価制度がある会社では、月次レポートにそのまま組み込めるはずです。
TIP
部署ごとに比較したい場合は、AVERAGE・STDEVの範囲を部署別に分けると、部署内ランキングが作れます。
よくあるエラーと対処法
STANDARDIZE関数を使っていてつまずきやすいエラーと、その解決方法をまとめました。
| エラー | 原因 | 対処法 |
|---|---|---|
| #NUM! | 標準偏差に0以下の値を指定した | データが2つ以上あるか確認する。全データが同じ値だと標準偏差が0になる |
| #VALUE! | 引数に数値以外(テキスト)を指定した | セル参照先が数値かどうか確認する。=ISNUMBER(B2) で検証できる |
| #N/A | 引数が不足している、または参照先が空欄 | 3つの引数(値・平均・標準偏差)をすべて指定する |
| #DIV/0! | STDEVの計算範囲が1セル以下 | 標準偏差は2つ以上のデータが必要。範囲を見直す |
WARNING
全員が同じ点数だと標準偏差が0になり、#NUM!エラーが発生します。「ばらつきのないデータは標準化できない」と覚えておくとよいでしょう。仕様上の挙動なので、エラーが出たらまずデータのばらつきを疑ってください。
よく見る失敗例
- 範囲指定を絶対参照にしていない: コピー時に範囲がずれて、行ごとに違う平均・標準偏差で計算されてしまう
- STDEV関数とSTDEVP関数を混同: 標本ならSTDEV、母集団全体ならSTDEVPを使う(後述)
- 空白セルが範囲に含まれる: 空白は無視されるが、AVERAGE・STDEVの結果が意図と違う場合は範囲を確認
似た関数との違い・使い分け
STANDARDIZE関数と関連する統計関数を整理します。組み合わせて使うことで、もっと深い分析ができます。
| 関数 | 役割 | 使い分け |
|---|---|---|
| STANDARDIZE | zスコア(標準化された値)を返す | 異なる単位のデータを比較したいとき |
| AVERAGE | 平均値を返す | STANDARDIZEの引数として使う |
| STDEV | 標本標準偏差を返す | サンプルからのばらつき推定。STANDARDIZEの引数 |
| STDEVP | 母集団標準偏差を返す | データ全体が「すべて」の場合に使う |
| VAR | 分散を返す | ばらつきを二乗のまま扱いたいとき |
| PERCENTILE | パーセンタイル値を返す | 上位○%の基準値を知りたいとき |
| RANK | 順位を返す | 単純な順位だけ知りたいとき |
| NORMSDIST | zスコアから累積確率を返す | zスコアの「上位何%」を知りたいとき |
STANDARDIZEは「相対的な位置」を、PERCENTILEは「特定の位置の実際の値」を返します。RANKは単純な順位、NORMSDISTはzスコアの確率変換と、それぞれ役割が違います。目的に応じて使い分けてください。
TIP
「STDEVとSTDEVPどっちを使えばいい?」と迷ったら、
STDEV(標本標準偏差)を選んでおけば実務上はほぼ問題ありません。一部のサンプルから全体を推定するのが一般的だからです。
STANDARDIZE関数に関するよくある質問(FAQ)
Q1: STANDARDIZE関数とNORMSDIST関数の違いは何ですか?
STANDARDIZE関数は 値をzスコアに変換 する関数で、NORMSDIST関数は zスコアを累積確率(上位何%か)に変換 する関数です。
たとえばzスコア1.5の人が「上位何%か」を知りたい場合は、=1 - NORMSDIST(1.5) で約6.7%と計算できます。STANDARDIZE → NORMSDIST と組み合わせることで、「平均より上か下か」だけでなく「全体の中で具体的に何%の位置にいるか」まで把握できます。
Q2: マイナスのzスコアが出るのはなぜ?
zスコアは「平均からの距離を標準偏差で割った値」なので、平均より小さい値はマイナスになります。これは仕様であり、計算ミスではありません。
zスコア −0.5 なら「平均より標準偏差0.5個分だけ下にいる」という意味です。プラスもマイナスも、絶対値の大きさが「平均からどれだけ離れているか」を表します。
Q3: 標準偏差は STDEV と STDEVP のどちらを使えばいい?
データが 「全体の一部(サンプル)」 なら STDEV関数(標本標準偏差)、データが 「全部そろっている(母集団全体)」 なら STDEVP関数(母集団標準偏差)を使います。
実務では「集めたデータからもっと広い母集団を推定する」ケースが多いため、STDEVのほうが使う頻度が高いです。社内全員の評価データのようにデータが完全に揃っている場合はSTDEVPでもOKです。
Q4: 偏差値を出したいときの数式は?
=STANDARDIZE(値, 平均, 標準偏差) * 10 + 50 です。zスコアを10倍して50を足すだけで偏差値になります。
たとえばB2の点数の偏差値を出すなら、
=STANDARDIZE(B2, AVERAGE($B$2:$B$30), STDEV($B$2:$B$30)) * 10 + 50
偏差値50が平均、60以上で上位約16%、70以上で上位約2.3%です。
Q5: zスコアが大きすぎる/小さすぎるデータはどう扱えばいい?
zスコアの絶対値が 2以上は要注意、3以上はかなり珍しい値 とされています。実務的には次の方針で対応します。
- 入力ミスの可能性 → 元データを確認して修正
- 一部の特殊な大口顧客や高成績者など実在する値 → そのまま採用するか、メモを残す
- 異常データを除外して再計算したい → IF関数で除外条件を作って再度集計
=IF(ABS(C2) > 3, "外れ値", C2) のようにフラグを立てる運用がおすすめです。
まとめ
STANDARDIZE関数のポイントを振り返りましょう。
- STANDARDIZE関数はデータを標準化してzスコアを返す: 構文は
=STANDARDIZE(値, 平均, 標準偏差)で、引数は3つとも必須 - zスコアの読み方: 0なら平均と同じ、正なら平均以上、負なら平均以下。絶対値が2以上は外れ値の可能性
- 実務での主な使い道: 異なる単位データの比較、偏差値計算、外れ値検出、複数指標の総合スコア化
- AVERAGE関数・STDEV関数とセットで使う: 平均と標準偏差を関数で自動計算するとデータ更新にも強い
- エラー対処: #NUM! は標準偏差が0、#VALUE! は数値以外、#N/A は引数不足が原因
単位の違うデータの比較に困ったり、社内の評価制度をもっと公平にしたくなったら、STANDARDIZE関数で標準化してみてください。手元のスプレッドシートが「ただの数字の表」から「比較できる分析シート」に変わります。

