• 作成日 : 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関数は安定した数値処理と比較分析を支える手段として利用できます。


※ 掲載している情報は記事更新時点のものです。

※本サイトは、法律的またはその他のアドバイスの提供を目的としたものではありません。当社は本サイトの記載内容(テンプレートを含む)の正確性、妥当性の確保に努めておりますが、ご利用にあたっては、個別の事情を適宜専門家にご相談いただくなど、ご自身の判断でご利用ください。

関連記事