「テストの点数と売上データ、単位が違うけど公平に比較できないかな」と思ったことはありませんか。科目ごとに平均点も配点もバラバラだと、単純な点数の比較では正確な評価ができませんよね。
そんなときに便利なのが、ExcelのSTANDARDIZE関数です。この関数を使えば、データを「Zスコア(標準化変量)」に変換して、異なる尺度のデータを同じ基準で比較できるようになります。
この記事では、STANDARDIZE関数の基本的な使い方から、実務で役立つ活用例まで詳しく解説していきます。
STANDARDIZE関数とは?
読み方と語源
STANDARDIZE関数の読み方は「スタンダダイズ関数」です。英語の「standardize」は「標準化する」という意味で、データを標準的な尺度に変換することを表しています。
STANDARDIZE関数でできること
STANDARDIZE関数は、指定したデータのZスコア(標準化変量)を求める関数です。
Zスコアとは、あるデータが平均からどれだけ離れているかを標準偏差の単位で表した数値のことです。計算式で書くと次のようになります。
Zスコア = (データ値 – 平均) / 標準偏差
たとえば、Zスコアが「1.5」なら「平均より標準偏差1.5個分だけ上にある」という意味になります。Zスコアが「-0.8」なら「平均より標準偏差0.8個分だけ下にある」ことを表します。
この変換によって、単位や尺度が異なるデータ同士を同じ基準で比較できるようになるのがポイントです。
対応バージョン
STANDARDIZE関数は以下の環境で使用できます。
- Excel 2007以降のすべてのバージョン
- Microsoft 365
- Googleスプレッドシート
STANDARDIZE関数の書き方(構文と引数)
基本構文
=STANDARDIZE(x, 平均, 標準偏差)
引数の説明
STANDARDIZE関数の引数は3つで、すべて必須です。
| 引数 | 必須/省略可 | 説明 |
|---|---|---|
| x | 必須 | 標準化したい数値を指定します |
| 平均 | 必須 | 対象データ全体の算術平均(相加平均)を指定します |
| 標準偏差 | 必須 | 対象データ全体の標準偏差を指定します |
引数はすべて数値で指定する必要があります。数値以外を指定すると #VALUE! エラーが返されます。
基本的な使い方
まずはシンプルな例でSTANDARDIZE関数の動きを確認してみましょう。
あるクラスのテスト結果を標準化する例です。平均点が65点、標準偏差が12だったとします。
=STANDARDIZE(80, 65, 12)
この数式の結果は「1.25」になります。つまり、80点のデータは平均より標準偏差1.25個分だけ高い位置にある、ということがわかります。
セル参照を使う場合は、次のように記述します。B2にデータ値、B3に平均、B4に標準偏差が入っているとします。
=STANDARDIZE(B2, B3, B4)
セル参照を使えば、データが変わっても自動で再計算されるので便利です。
実践的な使い方・応用例
応用例1: AVERAGE関数・STDEV関数と組み合わせて使う
実務では、平均や標準偏差を手入力するのではなく、AVERAGE関数とSTDEV関数で自動計算するのが一般的です。
たとえば、A2:A20にテストの点数が入っている場合、B2セルに次の数式を入力します。
=STANDARDIZE(A2, AVERAGE($A$2:$A$20), STDEV($A$2:$A$20))
AVERAGE関数とSTDEV関数の範囲を絶対参照($付き)にしておくと、数式を下方向にコピーしても参照がずれません。これで全員分のZスコアを一括で求められます。
応用例2: 異なる科目のテスト成績を公平に比較する
国語と数学のテストで、配点も平均点もまったく違うケースを考えてみましょう。
| 生徒 | 国語(100点満点) | 数学(150点満点) |
|---|---|---|
| Aさん | 78 | 120 |
| Bさん | 85 | 105 |
| Cさん | 62 | 135 |
このままでは「Aさんは数学120点で国語78点だから数学の方が得意」とは言い切れませんよね。満点も平均点も違うからです。
そこでSTANDARDIZE関数を使ってZスコアに変換すると、同じ基準で比較できるようになります。国語の平均が75、標準偏差が10、数学の平均が120、標準偏差が15だとすると、次の数式でAさんの各科目のZスコアが求められます。
=STANDARDIZE(78, 75, 10) → 結果: 0.30(国語)
=STANDARDIZE(120, 120, 15) → 結果: 0.00(数学)
Aさんの場合、国語のZスコア(0.30)の方が数学(0.00)より高いので、実は相対的に見ると国語の方が成績が良いことがわかります。
応用例3: 売上データの標準化で支店間比較
店舗や支店ごとに商圏規模が異なる場合、売上金額をそのまま比較するのは不公平です。STANDARDIZE関数で各支店の売上をZスコアに変換すれば、「その支店が全体の中でどの位置にいるか」を客観的に評価できます。
Zスコアが高いほど相対的に好成績、低いほど要改善という判断に使えるため、人事評価や目標設定にも応用できます。
よくあるエラーと対処法
STANDARDIZE関数を使う際に発生しやすいエラーをまとめました。
| エラー | 原因 | 対処法 |
|---|---|---|
#VALUE! | 引数に数値以外(文字列や空白セル)を指定した | 引数がすべて数値になっているか確認する |
#NUM! | 標準偏差に0以下の値を指定した | 標準偏差は正の数値(0より大きい値)を指定する |
#NAME? | 関数名のスペルミス | 「STANDARDIZE」のスペルを確認する |
特に多いのが #NUM! エラーです。標準偏差が0ということは、すべてのデータが同じ値であることを意味します。その場合は標準化自体が不要なので、データを見直してみてください。
Excelのエラーについて詳しく知りたい方は「セルに表示されるエラーの種類と原因、対処方法を解説」を参考にしてください。
似た関数との違い・使い分け
STANDARDIZE関数と関連する統計関数を整理しておきましょう。
| 関数名 | 用途 | STANDARDIZE関数との関係 |
|---|---|---|
| AVERAGE | 算術平均を求める | STANDARDIZE関数の第2引数に使う |
| STDEV / STDEV.S | 標本標準偏差を求める | STANDARDIZE関数の第3引数に使う |
| STDEV.P | 母集団標準偏差を求める | 母集団全体のデータがある場合に第3引数に使う |
| NORM.S.DIST | 標準正規分布の累積確率を求める | Zスコアから確率を求めるときに使う |
| Z.TEST | Z検定を行う | 標準化とは別の統計的検定用関数 |
STDEV関数(STDEV.S)は標本データの標準偏差、STDEV.P関数は母集団の標準偏差を求めます。手元のデータが全体の一部(サンプル)であればSTDEV.Sを、全体のデータであればSTDEV.Pを使い分けてください。
STANDARDIZE関数とNORM.S.DIST関数の組み合わせ|Zスコアから確率を求める
STANDARDIZE関数で求めたZスコアは、それ単体でも「平均からどれくらい離れているか」を示してくれます。ただ実務では、もう一歩踏み込んで「上位何パーセントに入るのか」を知りたい場面が多いですよね。
そこで活躍するのが、NORM.S.DIST関数です。この関数はZスコアを渡すと、標準正規分布における累積確率(そのZスコア以下になる割合)を返してくれます。
NORM.S.DIST関数の基本
NORM.S.DIST関数の構文は次のとおりです。
=NORM.S.DIST(Z, 関数形式)
第2引数の「関数形式」には、累積分布を求めたいときは TRUE を指定します。たとえばZスコア1.96を渡すと、結果は約0.975(97.5%)になります。
=NORM.S.DIST(1.96, TRUE) → 結果: 約0.975
これは「Zスコア1.96以下のデータが全体の約97.5%を占める」という意味です。逆に言えば、上位2.5%のラインがZスコア1.96ということになります。
STANDARDIZEと組み合わせて上位何%かを求める
STANDARDIZE関数とNORM.S.DIST関数を組み合わせると、生のデータから一発で「上位何パーセントか」を計算できます。
A2:A20にテストの点数が入っているとき、B2セルに次の数式を入力します。
=1 - NORM.S.DIST(STANDARDIZE(A2, AVERAGE($A$2:$A$20), STDEV($A$2:$A$20)), TRUE)
1 - 累積確率 とすることで、「そのデータより上位の割合」が求められます。
たとえば平均65点・標準偏差12のテストで80点を取った場合、Zスコアは1.25です。これをNORM.S.DISTに渡すと累積確率は約0.894となり、上位の割合は約10.6%とわかります。つまり「80点はおよそ上位10.6%の成績」と言い換えられるわけです。
この考え方は、売上データにもそのまま使えます。「この支店の売上は全支店の上位何パーセントか」を客観的な数値で示せるので、業績評価のレポートにそのまま盛り込めます。
Zスコアと割合の対応をざっくり押さえる
正規分布では、Zスコアと範囲内に入る割合の関係がおおよそ決まっています。暗算の目安として覚えておくと便利です。
| Zスコアの範囲 | 範囲内に入る割合 |
|---|---|
| -1σ 〜 +1σ(±1) | 約68% |
| -2σ 〜 +2σ(±2) | 約95% |
| -3σ 〜 +3σ(±3) | 約99.7% |
たとえばZスコアが2を超えるデータは、全体の上位2.5%程度しかない「かなり珍しい値」だと判断できます。この感覚があると、Zスコアを見ただけでデータの希少性がイメージしやすくなります。
標準偏差はSTDEV.SとSTDEV.Pのどちらを使う?
STANDARDIZE関数の第3引数には標準偏差を指定しますが、Excelには標準偏差を求める関数が2種類あります。「STDEV.S」と「STDEV.P」です。どちらを選ぶかで結果がわずかに変わるため、使い分けの基準を押さえておきましょう。
標本と母集団の違い
2つの関数の違いは、データを「全体(母集団)」とみなすか「一部(標本)」とみなすかにあります。
- STDEV.S(標本標準偏差): 手元のデータが全体の一部(サンプル)のときに使う
- STDEV.P(母集団標準偏差): 手元のデータが調べたい対象すべてをカバーしているときに使う
具体例で考えてみましょう。社員50名全員の残業時間を分析するなら、それが全データなのでSTDEV.Pを使います。一方、アンケートに回答した30名のデータから全社員の傾向を推測したい場合は、一部のサンプルなのでSTDEV.Sを使います。
迷ったらSTDEV.Sでよい理由
実務では「手元のデータは何らかの一部にすぎない」というケースが大半です。そのため、迷ったらSTDEV.S(旧名のSTDEV関数と同じ)を選んでおけば問題ありません。
なお、STDEV.SとSTDEV.Pの結果は、データ数が多いほど差が小さくなります。データ数が数十件以上あれば、どちらを使ってもZスコアの値はほぼ変わりません。逆にデータ数が極端に少ないと差が目立つので、その場合は標本か母集団かを意識して選びましょう。
=STANDARDIZE(A2, AVERAGE($A$2:$A$20), STDEV.S($A$2:$A$20)) ← サンプルのとき
=STANDARDIZE(A2, AVERAGE($A$2:$A$20), STDEV.P($A$2:$A$20)) ← 全データのとき
Googleスプレッドシートでの使い方
STANDARDIZE関数は、GoogleスプレッドシートでもExcelとまったく同じ構文で使えます。関数名・引数の順番・動作はすべて共通なので、Excelで覚えた使い方をそのまま流用できます。
=STANDARDIZE(B2, AVERAGE(B2:B20), STDEV(B2:B20))
ARRAYFORMULAで一括計算する
スプレッドシートならではの便利な使い方が、ARRAYFORMULA関数との組み合わせです。1つの数式で範囲全体のZスコアをまとめて計算できます。
=ARRAYFORMULA(STANDARDIZE(B2:B20, AVERAGE(B2:B20), STDEV(B2:B20)))
この数式を1か所に入力するだけで、B2からB20までの全データのZスコアが一気に並びます。数式を1つずつ下にコピーする手間が省けるので、データ件数が多いときに効率的です。
なお、スプレッドシートのSTDEV関数もExcelと同様に標本標準偏差を返します。母集団標準偏差を使いたい場合はSTDEVP関数に置き換えてください。基本的な使い方はExcelと変わらないと考えて問題ありません。
STANDARDIZE関数のよくある質問(FAQ)
最後に、STANDARDIZE関数やZスコアについてよく寄せられる質問をまとめました。
Q1. STANDARDIZE関数と標準偏差(STANDARD DEVIATION)は何が違う?
標準偏差は「データ全体のばらつきの大きさ」を表す1つの数値です。一方STANDARDIZE関数は、その標準偏差を使って、個々のデータ値を「平均からどれだけ離れているか(Zスコア)」に変換する関数です。
つまり標準偏差はデータ全体を測る物差しであり、STANDARDIZE関数はその物差しを使って1つひとつのデータの位置を測る、という役割の違いがあります。
Q2. Zスコアが「2.5」だと何を意味する?
Zスコアが2.5なら、そのデータは「平均より標準偏差2.5個分だけ上にある」ことを意味します。正規分布であれば、これは上位約0.6%に相当するかなり珍しい値です。
逆にZスコアが負の値、たとえば「-1.0」なら、平均より標準偏差1個分だけ下にあることを示します。STANDARDIZE関数は平均より低いデータに対しては負の値を返すので、マイナスが出ても異常ではありません。
Q3. 標準化したデータの平均は必ず0になる?
はい。あるデータ群を全件STANDARDIZE関数で標準化し、そのZスコアをAVERAGE関数で平均すると、必ず0(または計算誤差で限りなく0に近い値)になります。
これは標準化という処理の性質によるもので、Zスコアの平均は0、標準偏差は1になるよう変換されているためです。検算したいときの目安として覚えておくと便利です。
ZスコアでExcelの外れ値(異常値)を自動検出する方法
データの中に「ぽつんと飛び抜けた値」が混ざっていると、平均やグラフが歪んでしまいますよね。そんな外れ値(異常値)を、感覚ではなく数値で自動判定できるのがZスコアの強みです。
判定に使うのが「3シグマ法」という考え方です。Zスコアは「平均から標準偏差いくつ分離れているか」を表す指標なので、Zスコアの絶対値が3を超えた値を外れ値とみなします。数式にするとこうなります。
=ABS(STANDARDIZE(B2,AVERAGE($B$2:$B$20),STDEV.S($B$2:$B$20)))>3
ABSで絶対値にしているのは、プラス側もマイナス側も両方の外れ値を拾うためです。この式はTRUE(外れ値)かFALSE(正常)を返すので、そのまま外れ値フラグとして使えます。平均と標準偏差の範囲は絶対参照($付き)にして、下方向へコピーしてもズレないようにしておきましょう。
なぜ「±3」なのかというと、正規分布の「99.7%ルール」が根拠です。正規分布に従うデータは、平均±3標準偏差の範囲内に全体の約99.7%が収まります。つまりこの範囲から外れる値は、起こる確率が0.3%未満のかなり珍しいデータ。だから外れ値とみなしてよいわけです。
実務では、製品の寸法や重量が規格から外れていないかを見る品質管理や、売上データに入力ミスの桁間違いが紛れていないかのチェックに重宝します。標準偏差の計算に使う関数の詳しい使い方は、STDEV.S関数の解説もあわせてご覧ください。
条件付き書式×STANDARDIZE関数:Zスコアで異常値を自動ハイライト
フラグ列を作るのもよいですが、「外れ値のセルそのものに色がつく」と一目で異常が分かって便利です。これは条件付き書式とSTANDARDIZE関数を組み合わせれば実現できます。
設定手順はシンプルです。色をつけたいデータ範囲(例: B2:B20)を選択したら、「ホーム」タブ→「条件付き書式」→「新しいルール」→「数式を使用して、書式設定するセルを決定」を選びます。そこに次の数式を入力し、「書式」ボタンから塗りつぶしの色を指定するだけです。
=ABS(STANDARDIZE(B2,AVERAGE($B$2:$B$20),STDEV.S($B$2:$B$20)))>=2
ここでのポイントは参照方法です。判定対象のB2は相対参照($なし)、平均と標準偏差の範囲は絶対参照($付き)にします。こうすることで、選択範囲の各セルに対して同じ基準で判定が走ります。
さらに「黄色=注意」「赤色=危険」の2段階ハイライトにすると、異常の度合いまで分かって実用的です。先にゆるい基準のルールを作り、次に厳しい基準のルールを上に重ねます。
注意(黄): =ABS(STANDARDIZE(B2,AVERAGE($B$2:$B$20),STDEV.S($B$2:$B$20)))>=2
危険(赤): =ABS(STANDARDIZE(B2,AVERAGE($B$2:$B$20),STDEV.S($B$2:$B$20)))>=3
赤のルールを上位に置けば、±3を超えたセルは赤、±2〜3のセルは黄色で表示されます。売上・在庫・品質管理データの外れを自動でチェックでき、毎回フィルタや並べ替えをする手間がなくなります。条件付き書式の細かい設定は、条件付き書式の完全ガイドで詳しく解説しています。
まとめ
この記事では、ExcelのSTANDARDIZE関数について解説しました。ポイントを振り返りましょう。
- STANDARDIZE関数は、データのZスコア(標準化変量)を求める関数
- 構文は
=STANDARDIZE(x, 平均, 標準偏差)で、引数は3つすべて必須 - AVERAGE関数・STDEV関数と組み合わせると、平均と標準偏差を自動計算できる
- 異なる尺度のデータ(テスト成績、売上など)を公平に比較したいときに活用する
- 標準偏差に0以下を指定すると
#NUM!エラーになるので注意
STANDARDIZE関数を使いこなせば、「ただの数値の比較」から「統計的に意味のある比較」にレベルアップできます。テスト成績の分析や支店ごとの業績評価など、さまざまな場面で活用してみてください。
Excel関数の基本をもう一度確認したい方は、Excel関数一覧もあわせてご覧ください。