「データのばらつき具合を一発で出したいけど、平均を出して、差を取って、二乗して、合計して……と手順が多くて面倒」と感じたことはありませんか。
偏差の平方和は分散や標準偏差の土台になる値ですが、手計算で求めるとミスが起きやすい処理です。中間のセルが増えれば、シートも見づらくなってしまいます。
ExcelのDEVSQ関数を使えば、セル範囲を1つ指定するだけで偏差平方和を即座に取得できます。この記事では基本的な使い方から、VAR・STDEV関数との関係、SUMXMY2との使い分けまでを丁寧に解説します。
ExcelのDEVSQ関数とは?偏差の平方和を一発で計算する
DEVSQ関数は、各データから平均を引いた値(偏差)を二乗し、その合計(偏差平方和)を返すExcelの統計関数です。
読み方は「ディビエーション・スクエア」または「デブエスキュー」。「DEViation SQuared sum」の略です。Excel 2007以前から提供されている標準的な統計関数で、Microsoft 365 だけでなく、Excel 2019・2021・2024 などの永続ライセンス版でも問題なく利用できます。
偏差平方和は統計分析の入口となる値で、分散・標準偏差・分散分析(ANOVA)などの計算に組み込まれています。手計算では平均算出 → 各値との差 → 二乗 → 合計の4ステップが必要ですが、DEVSQなら1セルで完結します。
どんな業務シーンで使うのか
DEVSQ関数は、次のような場面で活躍します。
- 製造現場で「2ライン間で寸法のばらつきが小さい方はどちらか」を比較したいとき
- 営業チーム間で「成績の安定度」を数値で示したいとき
- 統計検定(QC検定や統計検定)の練習で、途中計算の検算に使いたいとき
- 分散分析(ANOVA)で群間平方和・群内平方和を計算するとき
特に「ばらつきの大小を相対比較したいだけ」という場面では、DEVSQが最もシンプルで読みやすい数式になります。分散や標準偏差まで踏み込む必要がないときに特に重宝します。
対応バージョン
DEVSQ関数は、以下のすべての環境で使用できます。
| 環境 | 対応 |
|---|---|
| Excel 2016 / 2019 / 2021 / 2024(Windows・Mac) | 対応 |
| Microsoft 365(Windows・Mac) | 対応 |
| Excel for the web | 対応 |
| Excel for iPad / iPhone / Android | 対応 |
REGEX系関数のように Microsoft 365 限定ではなく、現役のほぼ全バージョンで動作する点が安心材料です。
DEVSQ関数の書式と引数の渡し方
DEVSQ関数の構文はシンプルで、引数は1つ以上の数値またはセル範囲です。
=DEVSQ(数値1, [数値2], ...)
引数の詳細は次の表にまとめます。
| 引数 | 必須 | 内容 |
|---|---|---|
| 数値1 | 必須 | 計算対象となる数値、セル参照、セル範囲、配列 |
| 数値2以降 | 省略可 | 追加の数値・セル範囲・配列(最大255個まで) |
引数として渡せるもの
DEVSQ関数の引数には、以下を渡せます。
- セル範囲:
A1:A10のような連続範囲 - 単一セル:
A1のような単独参照 - 数値リテラル:
4, 5, 8のように直接数値を並べる - 配列定数:
{4,5,8,7,11,4,3}のような中括弧表現 - 名前付き範囲: 「売上データ」のような定義済み名前
最大255個まで指定できるため、複数のシート・複数の範囲を1つの数式にまとめることも可能です。
文字列・論理値・空白セルの扱い
引数の中に数値以外が含まれている場合、DEVSQ関数の挙動は以下のようになります。
| 渡したもの | セル参照経由 | 数式に直接記述 |
|---|---|---|
| 数値 | 計算対象 | 計算対象 |
| TRUE | 無視 | 1として計算 |
| FALSE | 無視 | 0として計算 |
| 文字列 | 無視 | #VALUE!エラー |
| 空白セル | 無視 | — |
| エラー値 | エラー伝播 | エラー伝播 |
セル参照経由なら文字列や論理値を「無視」してくれるため、見出し行や空行が混ざっていても安全に計算できます。
DEVSQ関数の使い方①|基本的な使い方(整数・実数・セル範囲)
ここからは具体例でDEVSQ関数の動きを確認しましょう。まずは整数の小さなサンプルから始めます。
例1:整数データのセル範囲
下のようなデータがA1:A7に入っているとします。
| セル | A列(データ) |
|---|---|
| A1 | 4 |
| A2 | 5 |
| A3 | 8 |
| A4 | 7 |
| A5 | 11 |
| A6 | 4 |
| A7 | 3 |
このデータに対してDEVSQ関数を使います。
=DEVSQ(A1:A7)
結果: 48
手計算で検算してみましょう。平均は (4+5+8+7+11+4+3) ÷ 7 = 6.0 です。
| データ | 偏差(xi − 6) | 偏差² |
|---|---|---|
| 4 | −2 | 4 |
| 5 | −1 | 1 |
| 8 | +2 | 4 |
| 7 | +1 | 1 |
| 11 | +5 | 25 |
| 4 | −2 | 4 |
| 3 | −3 | 9 |
| 合計 | — | 48 |
DEVSQ関数はこの4ステップ(平均算出 → 偏差 → 二乗 → 合計)を1つの数式で実行してくれます。途中でAVERAGE関数を使って平均を別セルに出す必要はありません。
例2:実数(小数)のデータ
DEVSQ関数は小数にも対応します。製造現場での測定値(mm単位)を想定したサンプルです。
| セル | A列(寸法) |
|---|---|
| A1 | 50.1 |
| A2 | 50.3 |
| A3 | 49.9 |
| A4 | 50.2 |
| A5 | 50.0 |
=DEVSQ(A1:A5)
結果: 0.1
平均が 50.1 で、各値との差は小さく抑えられています。そのため偏差平方和も0.1という小さな値になっています。「平均にデータが密集している」状態を示しています。
例3:数値を直接引数に並べる
セル範囲を使わず、引数に数値を直接渡すこともできます。
=DEVSQ(4, 5, 8, 7, 11, 4, 3)
結果: 48
例1と同じ結果になります。短いリストや、その場で確認したいときに便利な書き方です。
例4:配列定数で渡す
中括弧 {} を使って配列定数として渡すこともできます。
=DEVSQ({4,5,8,7,11,4,3})
結果: 48
スピル機能と組み合わせて他の数式と連携させたいときに役立ちます。
DEVSQ関数の使い方②|複数範囲・空白セル・テキストの扱い
実務では「データが複数の範囲に分かれている」「空白セルが混じっている」「ヘッダー行が含まれている」といった状況が頻繁に発生します。DEVSQ関数がこうしたケースをどう処理するかを見ていきましょう。
例5:複数の離れた範囲を1つの数式にまとめる
部署ごとに分かれた売上データを、ひとまとめに偏差平方和を求めたいケースです。
| セル | A列(東京) | B列(大阪) | C列(名古屋) |
|---|---|---|---|
| 1 | 120 | 100 | 90 |
| 2 | 130 | 110 | 95 |
| 3 | 125 | 105 | 100 |
3つの列をまとめてDEVSQ関数に渡します。
=DEVSQ(A1:A3, B1:B3, C1:C3)
結果: 1,750
カンマで区切るだけで複数範囲を結合できます。離れたシートや離れた列でも同じ書き方で対応可能です。
例6:空白セルが混在するケース
途中に空白セルが入っている場合、DEVSQ関数は空白を自動で無視します。
| セル | A列(データ) |
|---|---|
| A1 | 4 |
| A2 | 5 |
| A3 | (空白) |
| A4 | 7 |
| A5 | 11 |
| A6 | 4 |
| A7 | 3 |
=DEVSQ(A1:A7)
結果: 40
空白セルが除外されるため、計算対象は6個({4,5,7,11,4,3})になります。平均は 5.667 となり、偏差平方和は40です。「データなし」と「データが0」は明確に区別される点に注意してください。
例7:文字列(ヘッダー行)が含まれるケース
セル参照内の文字列は無視されるため、見出し付きの範囲もそのまま渡せます。
| セル | A列 |
|---|---|
| A1 | データ |
| A2 | 4 |
| A3 | 5 |
| A4 | 8 |
| A5 | 7 |
=DEVSQ(A1:A5)
結果: 8.75
「データ」という文字列は無視され、A2:A5 の4つの数値だけで計算されます。一方、次の式は文字列をリテラルとして直接渡しているためエラーになります。
=DEVSQ("データ", 4, 5, 8, 7) → #VALUE!エラー
セル参照経由なら無視、リテラル直書きならエラー、と覚えておきましょう。
例8:論理値が含まれるケース
セル参照経由の論理値は無視されますが、数式に直接書いた論理値は数値化されます。
=DEVSQ(TRUE, FALSE, 4, 5) → TRUEは1、FALSEは0として計算
意図しない結果になりやすいため、論理値を扱う場面では IF関数 で事前に数値化しておくのが安全です。
DEVSQ関数の応用|VAR・STDEV・SUMXMY2との使い分け
DEVSQ関数の真価は、関連する統計関数と組み合わせたときに発揮されます。それぞれの関数との関係を整理しましょう。
VAR・STDEVとの関係(DEVSQは「分子」になる)
偏差平方和(DEVSQ)、分散(VAR)、標準偏差(STDEV)は、同じ元データから計算される一連の統計値です。それぞれの関係を式で表すと以下のようになります。
| 関数 | 数式の本質 | 意味 |
|---|---|---|
| DEVSQ | Σ(xi − x̄)² | 偏差平方和(分子) |
| VAR.S | DEVSQ ÷ (n−1) | 標本分散 |
| VAR.P | DEVSQ ÷ n | 母分散 |
| STDEV.S | √VAR.S | 標本標準偏差 |
| STDEV.P | √VAR.P | 母標準偏差 |
たとえば例1のデータ(DEVSQ = 48、n = 7)で確認してみましょう。
=DEVSQ(A1:A7) / (COUNT(A1:A7)-1)
=VAR.S(A1:A7)
両方の結果は 8.0 となり、一致します。同様に次の式も一致します。
=SQRT(DEVSQ(A1:A7) / (COUNT(A1:A7)-1))
=STDEV.S(A1:A7)
統計の本で「分散 = 偏差平方和 ÷ (n−1)」という式が出てきたら、DEVSQが分子に相当します。この関係を押さえておくと、Excelで統計式を再現しやすくなります。
SUMXMY2との使い分け
DEVSQと混同されやすいのが SUMXMY2関数 です。「二乗した差の合計」を返す点で似ていますが、対象が異なります。
| 関数 | 計算式 | 用途 |
|---|---|---|
| DEVSQ | Σ(xi − 平均)² | 1つのデータ系列内の「ばらつき」 |
| SUMXMY2 | Σ(xi − yi)² | 2つのデータ系列間の「差」 |
SUMXMY2は「予測値と実測値」「理想値と実測値」のように、2つの系列を比較するときに使います。回帰分析の残差平方和の計算などで活躍します。
一方、DEVSQは「1つの系列がどれだけ平均から散らばっているか」を測ります。比較したい対象が「1つの系列内のばらつき」か「2系列間の差」かで、関数を選び分けてください。
SUMSQとの混同に注意
似た名前の SUMSQ関数 も区別が必要です。
| 関数 | 計算式 | 基準点 |
|---|---|---|
| DEVSQ | Σ(xi − 平均)² | 平均(データの中心) |
| SUMSQ | Σ(xi)² | 原点(0) |
データ {2, 4, 6} で確認してみましょう。
=DEVSQ(2, 4, 6) → 8 (平均4からのずれの二乗和)
=SUMSQ(2, 4, 6) → 56 (原点からの二乗和)
「ばらつきの分析にはDEVSQ」「単なる二乗和にはSUMSQ」と使い分けてください。
実務応用:品質管理での2ライン比較
製造現場でA・Bの2つの製造ラインを比較したいときの例です。
| 測定回 | Aライン (mm) | Bライン (mm) |
|---|---|---|
| 1 | 50.1 | 49.8 |
| 2 | 50.3 | 50.5 |
| 3 | 49.9 | 50.9 |
| 4 | 50.2 | 49.4 |
| 5 | 50.0 | 50.6 |
それぞれの偏差平方和を計算します。
=DEVSQ(B2:B6) → 0.10 (Aライン)
=DEVSQ(C2:C6) → 1.86 (Bライン)
Aラインの結果が圧倒的に小さいため、Aラインのほうが寸法が安定していると判断できます。
TIP
データ件数が異なる2グループを比較する場合は注意
DEVSQはデータ件数が増えるほど値が大きくなる傾向があります。件数の異なるグループを公平に比較したいときは、DEVSQではなく分散(VAR.S)や標準偏差(STDEV.S)で比べてください。これらは件数で割った値なので、件数差の影響を受けません。
実務応用:統計検定の練習・分散分析の途中計算
統計検定やQC検定の練習問題では、「偏差平方和を求めよ」という設問がよく出題されます。手計算した結果をDEVSQ関数で検算するのに便利です。
分散分析(ANOVA)では「群間平方和」「群内平方和」「全体平方和」を順に求めていきます。Excelの分析ツールに頼らず手動で計算したい場合、DEVSQ関数が中心的な役割を果たします。
全体平方和 = DEVSQ(すべてのデータ)
群内平方和 = DEVSQ(グループ1) + DEVSQ(グループ2) + ...
群間平方和 = 全体平方和 − 群内平方和
このような途中計算を1セルずつ確認しながら進められるので、教育用途にもおすすめです。
DEVSQ関数でよくあるエラーと対処法
DEVSQ関数で発生しやすいエラーと、その対処法を整理します。
#NUM!エラー:引数に数値が1つもない
引数のすべてが文字列・空白・論理値で、計算できる数値が1つも含まれていない場合に発生します。
=DEVSQ(A1:A5) → #NUM! (A1:A5がすべて空白だったとき)
対処法: セル範囲に数値データが入っているか確認してください。COUNT関数を使うと、数値の件数を簡単にチェックできます。
=COUNT(A1:A5) → 範囲内の数値件数を返す
#VALUE!エラー:直接渡した引数が文字列
数式に直接書いた引数が、数値に変換できない文字列だった場合に発生します。
=DEVSQ("apple", 4, 5) → #VALUE!
対処法: 数値が入力されているセルを参照するか、数値リテラルを直接渡してください。セル参照経由なら文字列は自動的に無視されます。
結果が0になる:データが全て同じ値
すべてのデータが同一の値だった場合、偏差はすべて0になるため、DEVSQも0を返します。
=DEVSQ(5, 5, 5, 5, 5) → 0
これはエラーではなく正常な動作です。「ばらつきがまったくない」状態を意味します。
結果が小さすぎる・大きすぎる
期待した値と大きく異なるときは、計算対象のデータ件数を確認しましょう。
=COUNT(A1:A100)
空白セルや文字列が混在していると、実際に計算に使われている数値の件数が想定より少なくなっていることがあります。データ件数が確認できれば、原因の特定が早まります。
#DIV/0!エラー:他の関数との組み合わせで発生
DEVSQ単体では #DIV/0! は発生しません。ただし、VAR.S や STDEV.S を手動で再現するとき、「データが1件しかない」状態では (n−1) がゼロになり #DIV/0! エラーになります。
=DEVSQ(A1) / (COUNT(A1)-1) → #DIV/0!
対処法: 標本分散・標本標準偏差は「2件以上のデータ」が必要です。データ件数を確認し、不足していれば集計対象を見直してください。
ExcelのDEVSQ関数 よくある質問(FAQ)
Q1. DEVSQ関数はどのExcelバージョンで使えますか?
A. Excel 2016 以降のWindows版・Mac版、Microsoft 365、Excel for the web、モバイル版(iPad / iPhone / Android)のすべてで利用できます。REGEX系の新関数のように Microsoft 365 限定ではなく、永続ライセンス版(Excel 2019・2021・2024)でもそのまま使えます。古い環境でも安心して使える関数です。
Q2. DEVSQ関数とSUMSQ関数の違いは何ですか?
A. 計算の「基準点」が異なります。DEVSQは平均からの偏差を二乗して合計する関数で、データの「ばらつき」を表します。一方SUMSQは原点(0)からの距離を二乗して合計する関数です。たとえば {2,4,6} の場合、DEVSQ = 8(平均4からのずれ)、SUMSQ = 56(0からの距離)と全く違う値になります。ばらつきの分析にはDEVSQを使ってください。
Q3. データの中に空白セルや文字列が混じっていても問題ありませんか?
A. セル参照経由で渡している限り、空白セル・文字列・論理値はすべて自動的に無視されます。見出し行や途中の空行があってもエラーにはなりません。ただし、数式の引数に直接 "テキスト" のように文字列を書いた場合は #VALUE! エラーになります。セル範囲を渡すのが基本的な使い方です。
Q4. DEVSQ関数と分散(VAR)・標準偏差(STDEV)の関係は?
A. DEVSQ関数は分散・標準偏差の「分子」に相当します。具体的には、VAR.S = DEVSQ ÷ (n−1)、STDEV.S = √VAR.S という関係です。DEVSQで偏差平方和を出してから、データ件数(COUNT関数)で割れば分散になります。その平方根(SQRT関数)が標準偏差です。統計の教科書の式をExcelで再現したいときに、DEVSQが中心的な役割を果たします。
Q5. データ件数が違う2グループの「ばらつき」を比較するには?
A. DEVSQ関数のままでは公平な比較になりません。DEVSQは件数が多いほど値が大きくなる傾向があるためです。件数が異なる2グループの「ばらつきの大きさ」を比較するときは、分散(VAR.S)や標準偏差(STDEV.S)を使ってください。これらはデータ件数で割っているため、件数差の影響を受けずに比較できます。
Q6. 「予測値と実測値の差」を二乗合計したい場合もDEVSQですか?
A. その場合は SUMXMY2関数 を使います。DEVSQは「1つの系列内の平均からのずれ」を、SUMXMY2は「2つの系列間の差」を二乗合計します。回帰分析の残差平方和や、シミュレーション結果と実測値の比較などには SUMXMY2 が適しています。
まとめ
ExcelのDEVSQ関数について、書式・基本的な使い方・応用・エラー対処までを解説しました。重要なポイントを振り返ります。
- DEVSQ関数は偏差平方和(各データと平均の差の二乗の合計)を返す統計関数
- 書式は
=DEVSQ(数値1, [数値2], ...)。セル範囲を1つ渡すだけで完結する - セル参照経由なら空白・文字列・論理値は自動で無視されるため、ヘッダー付き範囲もそのまま渡せる
- VAR・STDEVの分子に相当し、
DEVSQ ÷ (n−1) = VAR.Sの関係が成り立つ - SUMSQは平均ではなく原点基準なので、ばらつき分析には不適切
- SUMXMY2は2系列間の差の二乗和で、用途がまったく異なる
- #NUM! は計算できる数値がゼロ件、#VALUE! は文字列直書き、結果が0ならデータが全て同値というサイン
- 件数の異なるグループを比較するときは、DEVSQではなく分散・標準偏差を使う
偏差平方和を求める場面では、迷わずDEVSQ関数を使ってみてください。手計算の4ステップが1セルに収まり、シートもグッと見やすくなります。統計の理解を深めながら、Excelの計算力も底上げしていきましょう。
