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で平均を計算するコード(AVERAGE)
▶ GASで件数を数えるコード(COUNT)
▶ GASコード集

コメント