「2つのデータの差をそれぞれ2乗して、その合計を出したい」という場面、ありますよね。手作業で1つずつ引き算して2乗して足し合わせると、データが増えるほど大変です。
ExcelのSUMXMY2関数を使えば、この計算をたった1つの数式で完結できますよ。
この記事では、SUMXMY2関数の基本的な使い方から実務での活用例、よくあるエラーの対処法、似た名前の関数との違いまでまとめて解説します。
ExcelのSUMXMY2関数とは?
SUMXMY2関数は、2つの配列(データの並び)の対応する要素同士の差を2乗し、その合計を返す関数です。
読み方は「サム・エックス・マイナス・ワイ・スクエアド」です。名前の由来は SUM(X Minus Y の2乗) で、数式で書くと次のようになります。
SUMXMY2 = (x1-y1)^2 + (x2-y2)^2 + … + (xn-yn)^2
つまり「差の2乗の合計」を一発で計算してくれる関数ですね。統計分析やデータ比較で使われることが多いです。ユークリッド距離(2点間の直線距離)の計算にも活用できますよ。
対応バージョンはExcel 2003以降のすべてのバージョンです。Microsoft 365でも問題なく使えますよ。
ExcelのSUMXMY2関数の書き方
基本構文
=SUMXMY2(配列1, 配列2)
引数は2つだけなので、とてもシンプルです。
引数の説明
| 引数 | 必須/省略可 | 説明 |
|---|---|---|
| 配列1 | 必須 | 1つ目のデータ範囲。数値・名前・配列・セル参照を指定します |
| 配列2 | 必須 | 2つ目のデータ範囲。数値・名前・配列・セル参照を指定します |
覚えておきたいポイントがいくつかあります。
- 配列1と配列2の要素数は同じにする必要があります。個数が違うと#N/Aエラーになります
- 文字列・論理値(TRUE/FALSE)・空白セルは自動的に無視されます
- 数値の0が入ったセルは計算対象になります
SUMXMY2関数の基本的な使い方
実際にSUMXMY2関数を使ってみましょう。A列に「目標値」、B列に「実績値」が入っているケースで説明します。
| A列(目標値) | B列(実績値) | |
|---|---|---|
| 1行目 | 100 | 95 |
| 2行目 | 200 | 210 |
| 3行目 | 150 | 145 |
| 4行目 | 180 | 190 |
| 5行目 | 120 | 115 |
この5つのデータについて、目標と実績の差の2乗の合計を求めるには、次のように入力します。
=SUMXMY2(A1:A5, B1:B5)
計算の流れを確認してみましょう。
- (100-95)^2 = 25
- (200-210)^2 = 100
- (150-145)^2 = 25
- (180-190)^2 = 100
- (120-115)^2 = 25
合計: 275
手作業だと5回の引き算と5回の2乗計算が必要ですよね。SUMXMY2関数なら1つの数式で済みます。データが100行、1000行と増えても、セル範囲を変えるだけで対応できるのが便利なところです。
ちなみに、SUMXMY2関数を使わずに同じ計算をする場合は、次のような配列数式になります。
=SUM((A1:A5-B1:B5)^2)
こちらはMicrosoft 365やExcel 2021ではそのまま確定できます。ただし、それ以前のバージョンではCtrl+Shift+Enterで確定する必要があります。SUMXMY2関数なら、バージョンを気にせずEnterキーだけで確定できますよ。
SUMXMY2関数の実践的な活用例
活用例1: 予測モデルの精度を比較する
売上予測を2つのモデルで作ったとき、どちらの予測精度が高いかを比べたい場面がありますよね。SUMXMY2関数を使えば、残差平方和で比較できます。残差平方和とは、予測値と実績値の差の2乗の合計のことです。
A列に実績値、B列にモデルAの予測値、C列にモデルBの予測値が入っている場合です。
=SUMXMY2(A1:A10, B1:B10) → モデルAの残差平方和
=SUMXMY2(A1:A10, C1:C10) → モデルBの残差平方和
残差平方和が小さいほど、予測が実績に近いということです。値を比べるだけで、どちらのモデルが優秀か判断できますよ。
活用例2: ユークリッド距離を求める
2つのデータ間のユークリッド距離(直線距離)を計算する方法です。SUMXMY2関数の結果に、SQRT関数(平方根を返す関数)を組み合わせます。
=SQRT(SUMXMY2(A1:A5, B1:B5))
SUMXMY2関数で差の2乗の合計を求めて、その平方根を取るとユークリッド距離になります。商品の特徴量を比較して類似度を測りたいときに活用してみてください。
活用例3: 品質管理でのばらつきチェック
製造ラインで基準値と実測値のずれを把握したい場合にも使えます。SUMXMY2関数でずれの2乗和を求めれば、全体としてどれくらい基準から外れているか、1つの数値で確認できます。
=SUMXMY2(基準値の範囲, 実測値の範囲)
この値が大きいほどばらつきが大きいということなので、ロットごとに比較して品質の安定性を判断する指標として使えますよ。
SUMXMY2関数のよくあるエラーと対処法
#N/Aエラー
原因: 配列1と配列2の要素数が一致していない場合に発生します。
=SUMXMY2(A1:A5, B1:B3) → #N/A(5個と3個で不一致)
対処法: 両方のセル範囲の行数(または列数)を揃えてください。空のセルがある場合は0を入れるか、範囲を調整しましょう。
#VALUE!エラー
原因: 配列を直接指定するときに、数値として解釈できない値が含まれている場合に発生します。
=SUMXMY2({1,2,"abc"}, {4,5,6}) → #VALUE!
対処法: 配列定数を使う場合はすべて数値にしてください。セル参照の場合は、文字列や論理値が含まれていても自動で無視されます。こちらは心配いりませんよ。
#NAME?エラー
原因: 関数名のスペルミスです。SUMXMYとSUMX2MYなど、似た名前が多いので打ち間違いが起きやすいポイントです。
対処法: 「SUMXMY2」のスペルを確認してください。特に「X」と「2」の位置に注意しましょう。
似た関数との違い・使い分け
SUMXMY2関数には名前がよく似た関数が2つあります。混同しやすいので、違いを整理しておきましょう。
名前の覚え方のコツは、関数名の中の記号に注目することです。
- SUMXMY2 → Minus(引き算)してから2乗
- SUMX2MY2 → それぞれ2乗してからMinus(引き算)
- SUMX2PY2 → それぞれ2乗してからPlus(足し算)
「2が先にくるかどうか」で、2乗のタイミングが変わるのがポイントですね。
関連する関数
データの分析や比較では、以下の関数もよく使われます。
- SUMPRODUCT関数 — 配列の対応要素を掛け算してから合計する関数です。条件付き集計にも活用できます
- CORREL関数 — 2つのデータの相関係数を求める関数です。データ間の関係の強さを調べたいときに使います
- SUMSQ関数 — 引数の2乗の合計を返す関数です。1つの配列データの2乗和を求めるときに便利です
まとめ
ExcelのSUMXMY2関数は、2つのデータの差を2乗して合計する関数です。
この記事のポイントをおさらいしておきましょう。
- 構文: =SUMXMY2(配列1, 配列2) で、対応する要素の差の2乗和を計算する
- 配列の要素数は同じにする。違うと#N/Aエラーになる
- 予測精度の比較(残差平方和)やユークリッド距離の計算に活用できる
- SUMX2MY2(2乗の差の合計)やSUMX2PY2(2乗の和の合計)とは計算順序が異なる
関数名が似ていて混乱しやすいですが、「SUMXMY2はまず引き算してから2乗」と覚えておけば大丈夫ですよ。データの比較やモデルの評価で、ぜひ活用してみてください。
