GASで合計を計算するコード(SUM)|A列の数値を自動で集計する方法

Google Apps Script(GAS)でA列の数値を自動で合計するコードです。

データ件数が増減しても自動で集計できるため、売上管理や実績集計などの業務で活用できます。


このコードでできること

  • A列の数値を自動集計
  • 空白セルを除外
  • 文字列を除外
  • 結果をB3セルへ表示

GASコード

function calcTotal() {

  const sheet = SpreadsheetApp
    .getActiveSpreadsheet()
    .getActiveSheet();

  const values = sheet
    .getRange("A2:A")
    .getValues();

  let total = 0;

  values.forEach(row => {

    if (!isNaN(row[0]) && row[0] !== "") {
      total += Number(row[0]);
    }

  });

  sheet.getRange("B3").setValue(total);

}

コードの解説

シートを取得する

const sheet = SpreadsheetApp
  .getActiveSpreadsheet()
  .getActiveSheet();

現在開いているスプレッドシートのシートを取得しています。


A列のデータを取得する

const values = sheet
  .getRange("A2:A")
  .getValues();

A2セルから下のデータをまとめて取得しています。


合計を初期化する

let total = 0;

合計を保存するための変数を準備しています。


A列を順番に確認する

values.forEach(row => {

取得したデータを1行ずつ処理しています。


数字だけ合計する

if (!isNaN(row[0]) && row[0] !== "")

数値が入力されている場合のみ合計します。

空白セルや文字列は自動的に除外されます。


合計結果を表示する

sheet.getRange("B3").setValue(total);

計算した合計をB3セルへ表示します。


実務ではどんな場面で使うの?

例えば次のような場面で利用できます。

  • 売上金額の集計
  • 在庫数の合計
  • 作業時間の集計
  • 経費精算の集計
  • アンケート結果の集計

毎回SUM関数を入力する代わりに、ボタン1つで集計できます。


カスタマイズ例

B5へ結果を表示する

sheet.getRange("B5").setValue(total);

C列を集計する

const values = sheet
  .getRange("C2:C")
  .getValues();

3行目から集計する

const values = sheet
  .getRange("A3:A")
  .getValues();

よくあるエラー

合計が表示されない

以下を確認してください。

  • A列に数値が入力されているか
  • 結果表示先セルが正しいか
  • コードを保存しているか
  • 実行後に承認を完了しているか

「権限が必要です」と表示される

GASを初めて実行する場合は認証が必要です。

GASの承認画面とは?


コードを実行しても何も起きない

シート名やセル位置が正しいか確認してください。

また、エラー内容が表示されていないか確認しましょう。


サンプルファイル

このコードを実際に試せるサンプルファイルを配布しています。

サンプルファイルを利用する


関連記事

SUM関数不要!ボタン1つで合計を出す方法【GAS】

▶ GASで平均を計算するコード(AVERAGE)

▶ GASで件数を数えるコード(COUNT)

▶ GASコード集

コメント