「Excelでデータを正規化したいけど、どの関数を使えばいいの?」という疑問をお持ちの方も多いのではないでしょうか。
ExcelにはSTANDARDIZE関数やMIN・MAX関数など、正規化に活用できる関数が複数用意されており、プログラミングなしで手軽にデータを正規化できます。
この記事ではExcelでMin-Max正規化とz-score標準化を行う具体的な手順と関数の使い方を解説していきます。
ExcelでのMin-Max正規化はMIN関数とMAX関数を組み合わせた数式で実現できる
それではまず、ExcelでMin-Max正規化を行う基本的な方法について解説していきます。
ExcelでMin-Max正規化を行う場合は「=(A2-MIN($A:$A))/(MAX($A:$A)-MIN($A:$A))」という数式をB列などの計算用列に入力することで実現できます。
絶対参照($)をつけることで数式を下にコピーしてもMINとMAXの参照範囲がずれません。
Excelでの正規化で特に重要なのは、絶対参照と相対参照の使い分けです。
MIN・MAXの参照範囲は全行固定(絶対参照)にし、変換対象セル(A2など)は相対参照にすることで、数式を下へコピーするだけで全行の正規化が自動的に完了します。
ExcelでのMin-Max正規化の手順
続いては、ExcelでMin-Max正規化を行う具体的な手順について確認していきます。
手順1:データの準備と確認
A列にデータが入力されている状態(例:A1がヘッダー「値」・A2〜A11にデータ)を確認します。
B列を正規化後の値を格納する列として使用し、B1セルにヘッダー「正規化後」と入力しておきます。
手順2:正規化数式の入力
ExcelのMin-Max正規化数式
B2セルに以下の数式を入力します:
=(A2-MIN($A$2:$A$11))/(MAX($A$2:$A$11)-MIN($A$2:$A$11))
$A$2:$A$11はデータ範囲を絶対参照で指定しています。
B2セルの数式をB11まで下にコピーすれば全行の正規化が完了します。
手順3:MAX-MIN=0の場合の対処
全てのデータが同じ値の場合はMAX-MIN=0となりゼロ除算エラーが発生します。
IFERRORを使って「=IFERROR((A2-MIN($A$2:$A$11))/(MAX($A$2:$A$11)-MIN($A$2:$A$11)),0)」と記述することでエラーの場合は0を返すように対処できます。
ExcelでのSTANDARDIZE関数によるz-score標準化
続いては、ExcelのSTANDARDIZE関数を使ったz-score標準化の方法について確認していきます。
STANDARDIZE関数の構文
ExcelのSTANDARDIZE関数はz-score標準化を一発で計算できる専用関数です。
STANDARDIZE関数の構文と使用例
=STANDARDIZE(x, 平均, 標準偏差)
B2セルに以下の数式を入力します:
=STANDARDIZE(A2, AVERAGE($A$2:$A$11), STDEV($A$2:$A$11))
AVERAGE関数でデータの平均を、STDEV関数で標本標準偏差を自動計算します。
AVERAGE・STDEV関数との組み合わせ
STANDARDIZE関数を使わずに計算する場合は以下の数式でも同じ結果が得られます。
STANDARDIZE関数を使わないz-score計算式
=(A2-AVERAGE($A$2:$A$11))/STDEV($A$2:$A$11)
(値 – 平均)÷ 標準偏差というz-scoreの公式をそのまま数式化したものです。
Excelでの正規化の応用テクニック
続いては、Excelでの正規化をより便利に使うための応用テクニックについて確認していきます。
テーブル機能との組み合わせ
Excelのテーブル機能(Ctrl+T)を使ってデータをテーブル形式に変換しておくと、新しいデータを追加した際に正規化数式が自動的に拡張されます。
テーブル内の数式は構造化参照という特殊な参照形式を使うため、データの追加・削除に自動追従します。
パラメーターのセル参照化
任意の範囲への正規化(例:-1〜1への変換)を行う場合は、変換後の最小値・最大値をセルに入力しておき参照する方法が管理しやすいでしょう。
パラメーターをセルに外出しすることで、変換範囲を変えたい場合もセルの値を変更するだけで全行の数式が自動更新されます。
| 正規化手法 | 使用する関数 | 計算数式 |
|---|---|---|
| Min-Max正規化(0〜1) | MIN・MAX | =(A2-MIN範囲)/(MAX範囲-MIN範囲) |
| z-score標準化 | STANDARDIZE・AVERAGE・STDEV | =STANDARDIZE(A2, AVERAGE範囲, STDEV範囲) |
| 任意範囲への変換 | MIN・MAX | =a+(A2-MIN範囲)×(b-a)/(MAX範囲-MIN範囲) |
まとめ
ExcelでのMin-Max正規化はMIN・MAX関数を使った数式で実現でき、z-score標準化はSTANDARDIZE関数(またはAVERAGE・STDEV関数との組み合わせ)で簡単に計算できます。
絶対参照の正しい使い方とIFERRORによるエラー処理を組み合わせることで、実用的な正規化ワークシートを構築できます。
テーブル機能やパラメーターのセル参照化を活用することで、データの追加・変更にも柔軟に対応できる汎用的な正規化シートが実現できるでしょう。
Excelでの正規化を覚えることで、プログラミングなしでも機械学習・統計分析のデータ前処理が手軽に行えるようになります。