cellio

ExcelのSUM関数の使い方:列の合計を正しく計算する基本

ExcelのSUM関数の正しい使い方を解説。セル範囲の合計、離れたセルの足し算、オートSUMショートカット、列全体の合計から、計算結果が狂う原因と対処法まで詳しく紹介します。

著者 Ayoub Farid · · 5 分で読めます

SUM関数は、多くの人がエクセルの勉強を始めるときに最初に覚える基本であり、最も頻繁に使われるExcel関数です。数値を合計するというシンプルな機能ですが、実務のスプレッドシートでは些細なSUMのミスによって誤った合計値が出てしまうケースが驚くほどよくあります。だからこそ、正しい使い方をしっかり押さえておくことが大切です。

構文

=SUM(number1, [number2], ...)

引数には、単一のセル、セル範囲、あるいは数値を指定できます。実務では、1つのセル範囲を指定して使うケースがほとんどです。

1つの列を合計する

AB
1月売上
21月4,200
32月3,900
43月4,800
5合計

セルB5に次のように入力します。

=SUM(B2:B4)

結果:12,900

複数のセル範囲やセルを合計する

=SUM(B2:B4, D2:D4)
=SUM(B2, B4, B6)

カンマで区切ることで、複数の範囲やセルを指定できます。Excelはそのすべてを足し合わせます。

オートSUM:便利なショートカット

数値が並んだ列のすぐ下の空白セルを選択し、Alt + =(Windows)または Cmd + Shift + T(Mac)を押します。すると、Excelが範囲を自動で予測して =SUM(...) と入力してくれます。ただし、途中に空白セルがあるとそこで選択が止まってしまうため、選択された範囲が正しいかは必ず確認してください。

列全体を合計する

=SUM(B:B)

この数式はB列にあるすべての数値を合計するため、新しい行が追加されても自動的に計算に含まれます。ただし、この数式自体をB列のセル内に入力しないでください。循環参照のエラーが発生してしまいます。

SUM関数と「+」演算子の違い

今回の例では、=B2+B3+B4 と入力しても =SUM(B2:B4) と同じ結果が得られます。しかし、以下のような重要な違いがあります。

  • 長い範囲を合計する場合、SUM関数のほうが数式が圧倒的に短くなります。
  • SUM関数はセル範囲内の文字列を自動的に無視しますが、+ を使うと文字列が含まれている場合に #VALUE! エラーが発生します。
  • SUM関数の範囲の途中に行を挿入すると、範囲が自動的に拡張されます。一方、+ でつないだ数式は自動で更新されません。

合計値が狂ってしまうよくあるミス

セル範囲が1行足りない

データがB13まであるのに、誤って =SUM(B2:B12) と入力してしまうケースです。一見するとそれらしい合計値が表示されてしまうため、非常に見落としやすい危険なミスです。数式セルをクリックして、色付きの枠線がすべての行をカバーしているか確認しましょう。

数値が文字列として保存されている

外部からインポートしたデータでは、数値が文字列として扱われていることがよくあります(左揃えで表示され、セルの左上に緑の三角マークが付くのが特徴です)。SUM関数はこれらを警告なしで無視して計算してしまいます。データ > 区切り位置 > 完了 を実行するか、各セルに「1」を掛けて数値に変換してください。

非表示の行やフィルターで隠れた行

SUM関数は、非表示になっている行の数値もすべて合計に含めます。オートフィルターで絞り込んだ後、見えている行だけを合計したい場合は、=SUBTOTAL(9,B2:B13) を使用します。

合計セル自身を範囲に含めてしまう

合計を表示するセルがB14にある状態で、範囲を B2:B14 と指定すると、循環参照が発生して正しく計算できなくなります。

条件付きの合計

特定の条件に合う行だけを合計したい場合(例:「コーヒー」の売上のみを合計するなど)は、SUMIF や SUMIFS を使用します。列の上から順に累積していく計算については、累計の計算方法 をご覧ください。

SUM関数を練習する

CellioのSUMレッスンでは、最初のセルと最後のセルをタップして範囲を指定し、1年分の売上データを使って答え合わせができます。もし指定した範囲が1行足りない場合でも、データ全体の行数と選択したセル数を比較して的確なフィードバックが表示されます。

よくある質問

Excelで列を合計するにはどうすればよいですか?

数値の下のセルを選択して =SUM(B2:B13) と入力するか、ショートカットキーの Alt + =(オートSUM)を押します。

SUM関数の結果が0になってしまうのはなぜですか?

数値が文字列として保存されているか、指定したセル範囲が間違ったセルを参照している可能性があります。

表示されているセルだけを合計するにはどうすればよいですか?

フィルター適用後に、=SUBTOTAL(9,範囲) または =AGGREGATE(9,5,範囲) を使用してください。

GoogleスプレッドシートでもSUM関数は同じように使えますか?

はい、=SUM(B2:B13) のようにまったく同じ数式で動作します。ただし、オートSUMのショートカットキーは異なります。

あわせて読みたい