- 作成日 : 2025年8月25日
STANDARDIZE関数の使い方:データを標準化して比較可能にする方法
STANDARDIZE関数は、(x−平均)÷標準偏差を計算して各値のZスコア(平均0・標準偏差1の尺度で表した値)を返すエクセルの統計関数です。データの分布自体を標準正規分布に“変換”するわけではありません。
異なる単位や尺度のデータを統一的な基準で比較できるようにするため、統計分析や機械学習の前処理で頻繁に使用されます。テストの偏差値計算、異なる指標の統合評価、外れ値の検出など、幅広い場面で活用できる関数です。
本記事では、STANDARDIZE関数の基本的な使い方から実践的な活用法まで、具体例を交えて詳しく解説します。
目次
STANDARDIZE関数の基本的な使い方
STANDARDIZE関数とは
STANDARDIZE関数は、データの標準化(Zスコア変換)を行う関数です。各データ点が平均からどれだけ離れているかを、標準偏差を単位として表現します。この変換により、異なる分布を持つデータセットを同じ尺度で比較できるようになります。
標準化の計算式は (データ値 − 平均) ÷ 標準偏差 です。得られるのは、各データが平均から何標準偏差離れているかを示すZスコアで、元データが正規分布に従う場合にはこのZスコアが標準正規分布に従います。
基本構文と引数の説明
STANDARDIZE関数の構文:
=STANDARDIZE(x, 平均, 標準偏差)
- x:標準化したい値を指定します
- 平均:データセットの平均値を指定します
- 標準偏差:データセットの標準偏差を指定します(0より大きい値)
これらの引数には、直接数値を入力することも、セル参照や他の関数の結果を使用することもできます。
基本的な計算例
テストの点数を標準化する例を見てみましょう。
平均70点、標準偏差10点のテストで85点を取った場合:
=STANDARDIZE(85, 70, 10)
結果:1.5
この結果は、85点が平均より1.5標準偏差上回っていることを示します。
複数の生徒の成績を標準化:
生徒A(90点): =STANDARDIZE(90, 70, 10) 結果:2.0
生徒B(65点): =STANDARDIZE(65, 70, 10) 結果:-0.5
生徒C(70点): =STANDARDIZE(70, 70, 10) 結果:0
実データでの標準化プロセス
売上データを使った標準化の完全な例
月別売上データ(A2:A13)がある場合:
平均の計算: =AVERAGE(A2:A13)
標準偏差の計算: =STDEV.S(A2:A13)
各月の標準化: =STANDARDIZE(A2, $B$15, $C$15)
B15に平均、C15に標準偏差が入力されている場合、この数式を下にコピーすることで全データを標準化できます。
STANDARDIZE関数の実践的な利用シーン
成績評価と偏差値の計算
教育現場で使用される偏差値は、STANDARDIZE関数を使って簡単に計算できます。
偏差値の計算式:
=STANDARDIZE(得点, AVERAGE(得点範囲), STDEV.S(得点範囲))*10+50
クラス全体の成績分析:
Zスコア: =STANDARDIZE(B2, AVERAGE($B$2:$B$31), STDEV.S($B$2:$B$31))
偏差値: =Zスコア*10+50
評価: =IF(偏差値>=70,”優秀”,IF(偏差値>=60,”良好”,IF(偏差値>=40,”標準”,”要努力”)))
科目間の成績比較:
数学Zスコア: =STANDARDIZE(数学点, 数学平均, 数学標準偏差)
英語Zスコア: =STANDARDIZE(英語点, 英語平均, 英語標準偏差)
得意科目判定: =IF(数学Zスコア>英語Zスコア,”数学”,”英語”)
異なる指標の統合評価
単位や尺度が異なる複数の指標を統合して評価する場合に有効です。
営業担当者の総合評価:
売上高Z: =STANDARDIZE(売上高, AVERAGE(売上高列), STDEV.S(売上高列))
契約件数Z: =STANDARDIZE(契約件数, AVERAGE(契約件数列), STDEV.S(契約件数列))
顧客満足度Z: =STANDARDIZE(満足度, AVERAGE(満足度列), STDEV.S(満足度列))
総合スコア: =(売上高Z*0.4 + 契約件数Z*0.3 + 顧客満足度Z*0.3)
商品の多面的評価:
価格競争力: =STANDARDIZE(価格, 平均価格, 価格標準偏差)*(-1)
品質評価: =STANDARDIZE(品質スコア, 平均品質, 品質標準偏差)
総合評価: =(価格競争力 + 品質評価)/2
異常値の検出
標準化により、データの異常値を統計的に検出できます。
在庫数量の異常検出:
Z値: =STANDARDIZE(在庫数, AVERAGE(在庫列), STDEV.S(在庫列))
異常判定: =IF(ABS(Z値)>3,”異常値”,IF(ABS(Z値)>2,”要注意”,”正常”))
売上の季節変動を考慮した異常検出:
同月「過去」データの平均(現在行を除外):
=AVERAGEIFS(売上列, 月列, 月セル, 年列, “<“&年セル)
同月「過去」データの標準偏差(現在行を除外):
=STDEV.S(IF(($月列=月セル)*($年列<年セル), $売上列))
※Microsoft 365 以外では上式は配列数式として Ctrl+Shift+Enter で確定が必要です。
季節調整Z値: =STANDARDIZE(今月売上, 同月平均, 同月標準偏差)
予測モデルの前処理
機械学習やデータ分析の前処理として、変数の標準化を行います。
重回帰分析用のデータ準備:
年齢_標準化: =STANDARDIZE(年齢, AVERAGE(年齢列), STDEV.S(年齢列))
収入_標準化: =STANDARDIZE(収入, AVERAGE(収入列), STDEV.S(収入列))
購買頻度_標準化: =STANDARDIZE(購買頻度, AVERAGE(購買頻度列), STDEV.S(購買頻度列))
時系列データの標準化:
移動平均: =AVERAGE(OFFSET(売上セル,-11,0,12,1))
移動標準偏差: =STDEV.S(OFFSET(売上セル,-11,0,12,1))
標準化売上: =STANDARDIZE(売上セル, 移動平均, 移動標準偏差)
STANDARDIZE関数の応用・他関数との組み合わせ
動的な標準化の実装
データが更新されても自動的に標準化が更新される仕組みを作ります。
リアルタイム更新される標準化:
=STANDARDIZE(A2, AVERAGE(A:A), STDEV.S(A:A))
条件付き標準化:
=IF(ISNUMBER(A2),
STANDARDIZE(A2, AVERAGEIF(B:B,B2,A:A), STDEV.S(IF(B:B=B2,A:A))),
“N/A”)
逆標準化の実装
標準化されたデータを元の尺度に戻す方法です。
逆変換の計算:
元の値 = Z値 * 標準偏差 + 平均
=C2 * STDEV.S(元データ範囲) + AVERAGE(元データ範囲)
予測値の逆変換:
標準化予測値: =予測モデルの出力
実際の予測値: =標準化予測値 * 元データ標準偏差 + 元データ平均
複数グループの比較分析
異なるグループ間でのパフォーマンス比較を行います。
部門間の業績比較:
部門内標準化: =STANDARDIZE(個人業績,
AVERAGEIF(部門列, 所属部門, 業績列),
STDEV.S(IF(部門列=所属部門, 業績列)))
全社標準化: =STANDARDIZE(個人業績,
AVERAGE(業績列),
STDEV.S(業績列))
時系列での変化分析
時間経過に伴う標準化スコアの変化を追跡します。
成長率の標準化:
各期の成長率(前期比): =(当期値/前期値)-1
各期のZ値: =STANDARDIZE(各期の成長率, AVERAGE(直近12期の成長率), STDEV.S(直近12期の成長率))
※「過去12期」とする場合は現在期を除外して平均・標準偏差を計算します(例:行tの計算では t-12~t-1 期)。
STANDARDIZE関数のよくあるエラーと対処法
#DIV/0!エラーの解決
数値が2未満などで STDEV.S が計算できない(n−1=0)」ときに #DIV/0! が発生します。STANDARDIZE の標準偏差引数が 0 以下のときは #NUM! です。
基本対処:
=IF(COUNT(範囲)<=1,”データ不足”,IF(STDEV.S(範囲)=0,”変動なし”,STANDARDIZE(値,AVERAGE(範囲),STDEV.S(範囲))))
より詳細なエラーハンドリング:
=IF(COUNT(範囲)<=1, “データ不足”,
IF(STDEV.S(範囲)=0, “変動なし”,
STANDARDIZE(値, AVERAGE(範囲), STDEV.S(範囲))))
#NUM!エラーへの対応
標準偏差に 0 以下の値が指定された場合のエラーです。
入力値の検証:
=IF(標準偏差<=0, “標準偏差エラー”, STANDARDIZE(x, 平均, 標準偏差))
データ型の問題
文字列や空白が含まれる場合の対処法です。
数値のみを対象にした標準化:
=STANDARDIZE(A2,
AVERAGE(IF(ISNUMBER(A:A), A:A)),
STDEV.S(IF(ISNUMBER(A:A), A:A)))
精度と丸め誤差
標準化による小数点以下の精度問題への対応です。
適切な丸め処理:
=ROUND(STANDARDIZE(値, 平均, 標準偏差), 4)
表示用の整形:
=TEXT(STANDARDIZE(値, 平均, 標準偏差), “0.00”)
データ比較や偏差値計算に活用できるSTANDARDIZE関数
STANDARDIZE関数は、異なるスケールのデータを統一的な基準に変換するためのExcel関数で、Zスコア(標準化スコア)を算出します。これにより、平均0・標準偏差1の尺度(Zスコア)でデータの相対的位置を把握できます(元データが正規分布なら、このZスコアは標準正規分布に従います)。
たとえば、異なるテストや営業成績を比較したり、機械学習モデルの前処理として数値のスケーリングを行ったりする場面で効果的です。また、AVERAGE関数やSTDEV.S関数との組み合わせで簡単に動的な標準化が可能で、複数グループや時系列の比較にも応用できます。
一方で、標準偏差が0の場合や標準偏差に負の値を指定した場合にはエラーが発生するため、事前のデータ確認が重要です。正確な前提理解と併用関数の活用により、STANDARDIZE関数は安定した数値処理と比較分析を支える手段として利用できます。
※ 掲載している情報は記事更新時点のものです。
※本サイトは、法律的またはその他のアドバイスの提供を目的としたものではありません。当社は本サイトの記載内容(テンプレートを含む)の正確性、妥当性の確保に努めておりますが、ご利用にあたっては、個別の事情を適宜専門家にご相談いただくなど、ご自身の判断でご利用ください。
関連記事
エクセルで数字を1ずつ増やす関数と方法を解説
エクセルを使用して、セル内の数字を1ずつ増やしたいと考えている方は多いでしょう。この記事では、ROW関数やSEQUENCE関数、さらにオートフィル機能を活用した具体的な方法について解説します。これらの技術を駆使すれば、効率的に数字を自動で増…
詳しくみるエクセルの検索機能の使い方をわかりやすく解説
エクセルは、膨大なデータを扱うツールとして非常に便利ですが、その中から必要な情報を素早く見つけ出すためには検索機能を使いこなすことが重要です。この記事では、エクセルの検索機能の基本的な使い方から、便利なショートカットや実際の利用シーン、検索…
詳しくみるエクセルのEOMONTH関数の使い方ガイド!日付管理を効率化する方法
エクセルで「ある日から○ヶ月後の月末日」を自動計算したいなら、EOMONTH関数が適しています。読み方は「イー・オー・マンス」関数で、End Of Month(月末)の略です。この関数を使えば、契約満了日や締め日、支払期日の管理が一気にスマ…
詳しくみるエクセルのQUOTIENT関数とは?割り算の使い方やMOD関数との使い分けを解説
QUOTIENT関数(読み方:クオーシェント関数)は、エクセル(Excel)で割り算を行う際に「商の整数部分」だけを取り出したいときに便利な関数です。 小数点以下を切り捨てて、すっきりとした結果を求めたい場面に最適です。この記事では、基本構…
詳しくみるFALSE関数の使い方:論理値を扱う基本関数をマスターしよう
Excel の FALSE関数は、論理値「FALSE」を返すシンプルな関数です。単体では使用頻度が低いものの、IF関数やAND関数などの論理関数と組み合わせることで、条件分岐や判定処理において重要な役割を果たします。本記事では、FALSE関…
詳しくみるSWITCH関数とは?複数条件の設定やIF関数との違いを解説
エクセルでの複雑な条件分岐をすっきりと書けるSWITCH関数(読み方:スイッチ関数)は、IF関数を何重にもネストしていた従来の数式をシンプルに置き換えるのに最適です。この記事では、SWITCH関数の基本から応用までをわかりやすく解説。TRU…
詳しくみる