ExcelのSUMSQ関数の使い方|平方和をまとめて計算する方法

スポンサーリンク

「数値の二乗を合計したいけど、一つずつ二乗して足すのは面倒だな……」。こんな場面に出くわしたことはありませんか?

手計算だと =A1^2 + A2^2 + A3^2 ... のように式が長くなりがちですよね。データが増えるほどミスのリスクも高まります。

そんなときに使うのがExcelのSUMSQ関数です。この記事では、基本の書き方から実務での使い方まで解説します。手計算との比較や、DEVSQ関数との違いもあわせて整理しました。

ExcelのSUMSQ関数とは?平方和を求める関数

SUMSQ関数(読み方: サム・スクエア)は、数値の平方和(二乗の合計)を返す関数です。「SUM」は「合計」、「SQ」は「Square(二乗)」を意味します。

平方和とは、各数値を二乗してすべて足し合わせた値のことです。計算の流れを書くと、次のようになります。

  1. 各数値を二乗する
  2. 二乗した値をすべて合計する

たとえば 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に次の数値が入っているとします。

セル
A12
A23
A34
A45
A56

セル範囲をまとめて指定する方法

=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行目1091
2行目15141
3行目2022-2
4行目25241

C列に =A1-B1 で残差を求めたら、次の式で残差平方和を計算できます。

=SUMSQ(C1:C4)

結果は 7 です(1^2 + 1^2 + (-2)^2 + 1^2 = 1 + 1 + 4 + 1)。この値を使って予測モデルの良し悪しを判断できますよ。

条件付きで平方和を求める方法

SUMSQ関数には条件指定の引数がないため、特定の条件を満たす数値だけを対象に平方和を求めたい場合は工夫が必要です。実務でよく使うのは SUMPRODUCT関数と組み合わせる方法です。

たとえば、A列に支店名、B列に数値が入っていて「東京支店の数値だけ平方和を求めたい」とします。

セルA列(支店)B列(数値)
1行目東京3
2行目大阪4
3行目東京5
4行目大阪6

次の数式で「東京」の数値だけを対象に平方和が求められます。

=SUMPRODUCT((A1:A4="東京")*(B1:B4^2))

結果は 34 です(3^2 + 5^2 = 9 + 25 = 34)。条件が真のとき1、偽のとき0になるブール値を二乗値に掛けることで、条件に一致しない行は自動的に0になります。

Excel 365 / Google Sheets どちらでも動く方法なので、覚えておくと便利ですよ。

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からの偏差を二乗して合計)

同じデータでも結果が大きく違いますよね。目的に合った関数を選んでみてください。

SUMSQ と姉妹関数(SUMX2PY2・SUMX2MY2・SUMXMY2)の使い分け

Excel には「二乗の合計」に関連する関数が4つあります。SUMSQ以外の3つは 2組のデータを受け取り、組み合わせ方が異なります。

関数計算内容計算式のイメージ
SUMSQ1組のデータの平方和x1² + x2² + …
SUMX2PY22組の二乗の和の合計(x1² + y1²) + (x2² + y2²) + …
SUMX2MY22組の二乗の差の合計(x1² – y1²) + (x2² – y2²) + …
SUMXMY22組の差の二乗の合計(x1 – y1)² + (x2 – y2)² + …

SUMXMY2 は残差平方和を直接求められる

この記事の「残差の平方和」の例では、まずC列に残差 =A-B を計算してから =SUMSQ(C1:C4) と書きました。SUMXMY2関数を使うと、C列(残差)を作らずに一発で求められます。

=SUMXMY2(A1:A4, B1:B4)

実測値列と予測値列を直接渡すだけです。計算の中身は (A1-B1)² + (A2-B2)² + … なので、結果は同じ 7 になります。

残差の作業列を省きたい場合は SUMXMY2 が便利です。用途に合わせて使い分けてみてください。

RMS(二乗平均平方根)を SUMSQ で計算する

RMS(Root Mean Square:二乗平均平方根)は、データのばらつきを原点基準で測る指標です。品質管理や電気・振動データの実効値として使われます。

計算式は √(Σx² ÷ n) で、SUMSQ・COUNT・SQRT を組み合わせると求められます。

=SQRT(SUMSQ(A2:A9)/COUNT(A2:A9))

たとえば A2:A9 に {1, 2, 3, 4, 5, 6, 7, 8} が入っている場合を計算してみましょう。

  1. SUMSQ(A2:A9) = 1² + 2² + 3² + 4² + 5² + 6² + 7² + 8² = 204
  2. COUNT(A2:A9) = 8
  3. 204 ÷ 8 = 25.5
  4. SQRT(25.5) ≒ 5.05(小数第3位を四捨五入)

標準偏差(STDEV.S)が「平均からのばらつき」を測るのに対し、RMS は「ゼロからの大きさ」を測ります。差分・残差・測定誤差のように平均がゼロに近いデータを扱うときは、RMS のほうが直感的な指標になります。

Google Sheets でも同じ数式がそのまま使えます。

Google スプレッドシートでの SUMSQ

Google スプレッドシートでも SUMSQ は正式にサポートされており、構文も動作も Excel と同じです。

=SUMSQ(A2:A100)
=SUMSQ(1, 2, A2:A50)

どちらの書き方もそのまま使えます。一点だけ違いがあるとすれば、Google Sheets は引数の個数に実質的な上限がない(Excel は 255 個まで)点です。ただし、通常の業務でこの上限に引っかかることはほぼありません。どちらの環境でも同じように使えると考えて問題ありません。

よくあるエラーと対処法

#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関数をうまく活用して、作業を効率化してみてくださいね。

関連記事

タイトルとURLをコピーしました