「数値の二乗を合計したいけど、一つずつ二乗して足すのは面倒だな……」。こんな場面に出くわしたことはありませんか?
手計算だと =A1^2 + A2^2 + A3^2 ... のように式が長くなりがちですよね。データが増えるほどミスのリスクも高まります。
そんなときに使うのがExcelのSUMSQ関数です。この記事では、基本の書き方から実務での使い方まで解説します。手計算との比較や、DEVSQ関数との違いもあわせて整理しました。
ExcelのSUMSQ関数とは?平方和を求める関数
SUMSQ関数(読み方: サム・スクエア)は、数値の平方和(二乗の合計)を返す関数です。「SUM」は「合計」、「SQ」は「Square(二乗)」を意味します。
平方和とは、各数値を二乗してすべて足し合わせた値のことです。計算の流れを書くと、次のようになります。
- 各数値を二乗する
- 二乗した値をすべて合計する
たとえば 3 と 4 の平方和は 3^2 + 4^2 = 9 + 16 = 25 です。SUMSQ関数を使えば =SUMSQ(3,4) と書くだけで、この計算が一発で終わります。
SUMSQ関数にできることをまとめると、次のとおりです。
- 複数の数値の二乗和をまとめて計算する
- ユークリッド距離(2点間の直線距離)の計算に使う
- 統計分析で残差の平方和を求める
- SQRT関数と組み合わせてベクトルの大きさを計算する
NOTE
SUMSQ関数はExcel 2003以降で使えます。Microsoft 365やExcel 2007〜2024のすべてのバージョンに対応していますよ。
SUMSQ関数の書き方(構文と引数)
基本構文
=SUMSQ(数値1, [数値2], ...)
カッコの中に、平方和を求めたい数値やセル範囲を指定します。
引数の説明
| 引数 | 必須/省略可 | 説明 |
|---|---|---|
| 数値1 | 必須 | 平方和を求めたい数値、またはセル範囲 |
| 数値2以降 | 省略可 | 追加の数値やセル範囲(最大255個まで指定可能) |
引数の指定方法には、いくつか注意点があります。
- セル範囲に含まれる文字列・論理値・空白セルは無視される
- 引数に文字列や論理値を直接入力するとエラーになる
- 数値「0」は計算の対象に含まれる(0^2 = 0 として処理)
SUMSQ関数の基本的な使い方
5つの数値の平方和を求めてみましょう。
セルA1〜A5に次の数値が入っているとします。
| セル | 値 |
|---|---|
| A1 | 2 |
| A2 | 3 |
| A3 | 4 |
| A4 | 5 |
| A5 | 6 |
セル範囲をまとめて指定する方法
=SUMSQ(A1:A5)
結果は 90 です。内訳は 2^2 + 3^2 + 4^2 + 5^2 + 6^2 = 4 + 9 + 16 + 25 + 36 = 90 ですね。
セルを1つずつ指定する書き方もできます。
=SUMSQ(A1, A2, A3, A4, A5)
結果は同じ 90 です。データが連続したセルに入っているなら、範囲指定のほうがスッキリ書けますよ。
手計算との比較
SUMSQ関数を使わずに平方和を求める場合、次のどちらかの式になります。
=A1^2 + A2^2 + A3^2 + A4^2 + A5^2
またはSUMPRODUCT関数を使う方法もあります。
=SUMPRODUCT(A1:A5, A1:A5)
3つの方法を比較すると、次のようになります。
| 方法 | 数式 | 特徴 |
|---|---|---|
| SUMSQ関数 | =SUMSQ(A1:A5) | シンプルで読みやすい |
| べき乗で手計算 | =A1^2+A2^2+... | データが増えると式が長くなる |
| SUMPRODUCT関数 | =SUMPRODUCT(A1:A5,A1:A5) | 同じ範囲を2回指定する必要がある |
データが少ないうちはどの方法でも問題ありません。ただ、データが増えたときの保守性を考えると、SUMSQ関数がおすすめです。
SUMSQ関数の活用例
ユークリッド距離の計算
ユークリッド距離(2点間の直線距離)を求めるときにSUMSQ関数が役立ちます。たとえば、2つの座標 (1, 2) と (4, 6) の距離を計算してみましょう。
まず差分を求めます。x方向の差は 4 - 1 = 3、y方向の差は 6 - 2 = 4 です。
=SQRT(SUMSQ(3, 4))
結果は 5 です。SUMSQ(3,4) で 9 + 16 = 25 を求め、SQRT関数で平方根を取っています。
この計算パターンは、顧客データのクラスタリングや類似度の算出など、データ分析の場面でよく使いますよ。
残差の平方和(回帰分析の基礎)
回帰分析では「予測値と実測値のずれ」を残差と呼びます。残差の平方和(二乗して合計した値)が小さいほど、予測の精度が高いことを意味します。
たとえば、実測値がA列、予測値がB列に入っている場合を考えましょう。
| セル | 実測値(A) | 予測値(B) | 残差(C) |
|---|---|---|---|
| 1行目 | 10 | 9 | 1 |
| 2行目 | 15 | 14 | 1 |
| 3行目 | 20 | 22 | -2 |
| 4行目 | 25 | 24 | 1 |
C列に =A1-B1 で残差を求めたら、次の式で残差平方和を計算できます。
=SUMSQ(C1:C4)
結果は 7 です(1^2 + 1^2 + (-2)^2 + 1^2 = 1 + 1 + 4 + 1)。この値を使って予測モデルの良し悪しを判断できますよ。
SUMSQ関数とDEVSQ関数の違い
SUMSQ関数とDEVSQ関数はどちらも「二乗して合計する」関数ですが、計算の対象が異なります。
| 項目 | SUMSQ関数 | DEVSQ関数 |
|---|---|---|
| 計算内容 | 各数値をそのまま二乗して合計 | 各数値と平均の差(偏差)を二乗して合計 |
| 数式イメージ | x1^2 + x2^2 + … | (x1-平均)^2 + (x2-平均)^2 + … |
| 用途 | ベクトルの大きさ、距離計算 | ばらつきの測定、分散の計算 |
| 関連関数 | SQRT関数、SUMPRODUCT関数 | VAR.S関数、STDEV.S関数 |
かんたんに使い分けると、次のようになります。
- 「数値そのものの二乗和」が欲しい → SUMSQ関数
- 「平均からのばらつき」を測りたい → DEVSQ関数
たとえばデータが {2, 3, 4, 5, 6} の場合を比べてみましょう。
=SUMSQ(2,3,4,5,6)→ 90(2^2+3^2+4^2+5^2+6^2)=DEVSQ(2,3,4,5,6)→ 10(平均4からの偏差を二乗して合計)
同じデータでも結果が大きく違いますよね。目的に合った関数を選んでみてください。
よくあるエラーと対処法
#VALUE!エラー
引数に文字列を直接入力すると #VALUE! エラーが出ます。
=SUMSQ("abc", 3) → #VALUE!エラー
セル範囲に文字列が含まれている場合は自動的に無視されるので、エラーにはなりません。直接入力する引数はすべて数値にしてください。
#NAME?エラー
関数名のスペルが間違っていると #NAME? エラーが出ます。
=SUMSQR(A1:A5) → #NAME?エラー(正しくはSUMSQ)
「SUMSQ」は6文字です。「SUMSQR」や「SUM_SQ」のような書き間違いに注意してくださいね。
結果が期待と違う場合
SUMSQ関数は文字列や空白セルを無視します。そのため、数値のつもりで入力したデータが文字列として認識されていると、計算から除外されてしまいます。
セルの表示形式が「文字列」になっていないか確認してみてください。文字列を数値に変換するには、セルの書式を「標準」に戻してからデータを再入力するのが確実です。
まとめ
ExcelのSUMSQ関数は、数値の平方和(二乗の合計)をまとめて計算する関数です。この記事の要点を整理しておきましょう。
- 構文:
=SUMSQ(数値1, [数値2], ...)で最大255個の引数を指定可能 - 手計算より効率的: べき乗で1つずつ計算するより、式がシンプルで保守しやすい
- 活用場面: ユークリッド距離、残差平方和、ベクトルの大きさの計算
- DEVSQ関数との違い: SUMSQは値そのものの二乗和、DEVSQは偏差の二乗和
平方和はデータ分析や統計の基本的な計算です。SUMSQ関数をうまく活用して、作業を効率化してみてくださいね。
関連記事
- SUM関数の使い方 – 数値の合計を求める基本関数
- SUMPRODUCT関数の使い方 – 配列の積和計算
- DEVSQ関数の使い方 – 偏差の平方和
- SUMX2PY2関数の使い方 – 2組データの平方和の合計
- SQRT関数の使い方 – 平方根の計算
