【Excel VBA・GAS】SUM関数不要!ボタン1つで合計を出す方法【サンプルファイル配布】

「毎回SUM関数を入力するのが面倒…」

「集計範囲を選び直すのが地味に大変…」

「同じ集計作業を毎日繰り返している…」

そんな経験はありませんか?

ExcelやGoogleスプレッドシートで集計作業をしていると、SUM関数を何度も入力したり、範囲を選択し直したりすることがあります。

1回の作業は数秒でも、毎日続くと意外と大きな時間になります。

私自身も以前は、データを追加するたびにSUM関数の範囲を確認していました。

そこで今回は、

ボタンを押すだけで合計を計算する方法

を紹介します。

さらに今回は、ChatGPTなどのAIを活用して、

  • Excel VBA
  • Google Apps Script(GAS)

の両方でコードを作成しました。

初心者の方でも試せるように、

✅ サンプルデータ

✅ 完成版ファイル

も無料配布しています。

ぜひ実際に動かしながら学んでみてください。


今回できること

今回は以下の内容を作成します。

  • A列の数値を自動集計
  • ボタン1つで合計を計算
  • VBAとGASの両方で実装
  • AIを活用したコード作成

完成イメージ

① A列に数値を入力

② ボタンをクリック

③ B3セルに合計を表示

たったこれだけです。

毎回SUM関数を入力する必要がなくなります。


サンプルファイルをダウンロードできます

今回の記事では、

  • サンプルデータ(xlsx)
  • 完成版ファイル(xlsm)
  • READMEファイル

を無料配布しています。

「まずは動かしてみたい」

「コードを入力する前に完成形を見てみたい」

という方は、ぜひご利用ください。

▼ サンプルデータ(xlsx)

SUM集計_サンプルデータ.xlsx

▼ 完成版ファイル(zip)

【無料配布】SUM集計_VBAサンプルセット.zip

完成版ファイルはボタン設定済みです。

ファイルを開いてボタンを押すだけで動作を確認できます。

また、.zipファイルの開き方がわからない方は

この記事をご覧ください


💡 マクロを有効化する必要があります

完成版ファイル(xlsm)を初めて開く場合、

セキュリティの警告
コンテンツの有効化

などのメッセージが表示されることがあります。

マクロが無効になっていると、ボタンを押しても動作しません。

有効化の方法がわからない場合は、こちらの記事をご覧ください。

▶ 【内部リンク:VBAファイル(xlsm)が開けない・動かない時の対処法

画像付きで詳しく解説しています。


まずは完成版ファイルを動かしてみると、今回作成する仕組みをイメージしやすくなります。


AIにコードを書かせてみた

今回AIには次のように依頼しました。

A列の数値を合計して、B3セルに結果を表示するコードをVBAとGoogle Apps Scriptで作ってください

すると数秒でコードが完成しました。

以前であれば、

  • インターネットでコードを探す
  • 意味を調べる
  • エラーを修正する

という作業が必要でした。

しかし現在はChatGPTなどのAIを活用することで、初心者でも自動化に挑戦しやすくなっています。

もちろん最終確認は必要ですが、作業効率は大幅に向上します。


Excel VBAで合計を自動計算する方法

ファイルを使ってすぐ試したい方へ

記事内で使用している完成版ファイルはこちらです。

【無料配布】SUM集計_VBAサンプルセット.zip

コード入力が面倒な方は、まず完成版ファイルを動かしてみるのがおすすめです。

「こういう動きをするのか」

を確認してからコードを見ると理解しやすくなります。


VBAコード【コピペOK】

Sub 合計を計算する()

    Dim lastRow As Long
    Dim i As Long
    Dim total As Double

    'A列の最終行を取得
    lastRow = Cells(Rows.Count, 1).End(xlUp).Row

    total = 0

    'A列を順番に合計
    For i = 2 To lastRow

        '数字だけ合計
        If IsNumeric(Cells(i, 1).Value) Then
            total = total + Cells(i, 1).Value
        End If

    Next i

    'B1へ結果表示
    Range("B3").Value = total

End Sub

コードのポイント

このコードでは、

  • A列の最終行を自動取得
  • 数値だけを判定して合計
  • B3セルへ結果を表示

を行っています。

例えば100件でも1000件でも、データ件数を気にせず集計できます。

SUM関数の範囲修正も不要になります。


VBAを使う準備

① Excelを開く

まずはExcelファイルを開きます。

今回配布しているサンプルデータを使うとスムーズです。


② VBA画面を開く

VBAコードを入力するために、VBA編集画面(VBE)を開きます。

キーボードで

Alt + F11

を押してください。


💡 初めてVBAを使う方へ

「VBA編集画面(VBE)の開き方がわからない」

「Alt + F11を押しても画面が表示されない」

という方は、こちらの記事をご覧ください。

▶ 【内部リンク:【開発】タブの設定方法

画像付きで詳しく解説しています。


VBEが表示されたら、次はコードを入力するための「標準モジュール」を追加します。


③ 標準モジュールを追加する

VBAコードを入力するために「標準モジュール」を追加します。

上部メニューから

挿入
↓
標準モジュール

をクリックしてください。

するとコードを入力する画面が表示されます。


💡 コードを書く場所がわからない方へ

「標準モジュールって何?」

「どこにコードを入力するの?」

という方は、こちらの記事をご覧ください。

▶ 【内部リンク:VBAコードを書く場所(VBE)の開き方

VBAコードを入力する場所や、標準モジュールの追加方法を画像付きで詳しく解説しています。


コード入力画面が表示されたら、次は実際にコードを貼り付けていきます。


④ コードを貼り付ける

先ほどのコードをコピーして貼り付けます。

貼り付けたら

Ctrl + S

で保存しましょう。


開発タブが表示されていない場合

ボタンを作成するには「開発タブ」が必要です。

表示されていない場合は、こちらの記事をご覧ください。


ボタンを作成する方法

ボタンを作成する方法

VBAコードの登録が完了したら、ボタンを作成してワンクリックで実行できるようにしましょう。


💡 マクロボタンの作成方法がわからない方へ

ボタンの作成方法は、こちらの記事で画像付きで詳しく解説しています。

▶ 【内部リンク:Excel VBAでマクロボタンを作成する方法

以下の内容を初心者向けに解説しています。

  • 開発タブの表示方法
  • ボタンの配置方法
  • マクロの割り当て方法
  • ボタン名の変更方法
  • よくあるトラブルと対処法

ボタンの設定が完了したら、ボタンをクリックして動作を確認してみましょう。

正常に設定できていれば、B3セルへ合計が表示されます。


⑥ 完成

ボタンを押すだけでB3セルに合計が表示されます。


Google Apps Script(GAS)で合計を自動計算する方法

Excel VBAだけでなく、Googleスプレッドシートでも同じように自動集計を行うことができます。

Googleスプレッドシートを利用している方や、複数人でファイルを共有している方にはGASがおすすめです。

今回はVBAと同じ処理をGASで作成してみます。

なお、

「そもそもGoogle Apps Scriptの開き方がわからない」

「コードをどこに入力すればいいのかわからない」

という方は、先にこちらの記事をご覧ください。

▶【内部リンク Google Apps Script(GAS)の始め方・コードを書く場所

画像付きで初心者向けに解説しています。

それでは実際にコードを作成していきましょう。


GASコード【コピペOK】

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]);
    }

  });

  // B1へ結果表示
  sheet.getRange("B3").setValue(total);

}

コードのポイント

このコードでは、

  • A列のデータを取得
  • 数値だけを判定
  • 合計を計算
  • B3セルへ表示

を行っています。

VBAと処理内容はほぼ同じです。

そのため、

「Excel派ならVBA」

「Googleスプレッドシート派ならGAS」

という選び方で問題ありません。


GASを使う準備

① Googleスプレッドシートを開く

まずはGoogleスプレッドシートを開きます。

今回配布しているサンプルデータを使う場合は、以下の手順でアップロードできます。

サンプルデータをアップロードする方法

① Googleドライブを開く

② 「新規」→「ファイルのアップロード」をクリック

③ ダウンロードしたサンプルデータ(xlsx)を選択

④ Googleドライブへアップロードする

⑤ アップロードしたファイルをダブルクリックして開く


💡 注意:Excelファイル(.xlsx)のままではGASを使用できません

アップロードしたExcelファイル(.xlsx)をそのまま開くと、見た目はGoogleスプレッドシートのように見えます。

しかし実際にはExcel形式のまま開いている状態です。

この状態では、

拡張機能 → Apps Script

を利用することができません。

「Apps Scriptが表示されない」

という場合は、Excel形式のまま開いている可能性があります。


Googleスプレッドシート形式へ変換する方法

GASを利用するためには、Googleスプレッドシート形式へ変換する必要があります。

① アップロードしたExcelファイルを開く

② 左上の「ファイル」をクリック

③ 「Google スプレッドシートとして保存」をクリック

すると、新しいGoogleスプレッドシートが作成されます。

これでGASを実行する準備は完了です。

② Apps Scriptを開く

上部メニューから

拡張機能
↓
Apps Script

をクリックします。


③ サンプルコードを削除

最初から表示されているコードはサンプルです。

すべて削除して問題ありません。


④ コードを貼り付ける

今回紹介したコードを貼り付けます。

その後、赤枠部分の保存ボタンをクリックします。

※下部に・・・・Cookieが使用されていますのOKが表示されている場合はそのままOKボタンをクリックします。


⑤ 実行する

保存後に実行ボタンをクリックします。

初回のみGoogle認証が必要になります。

▼ 認証画面が表示されたらここで認証方法を確認してください


⑥ 完成

実行するとB3セルへ合計が表示されます。


実際に使ってみた感想

今回のサンプルデータは約1000件のデータを使用しています。

手作業の場合は、

  • SUM関数入力
  • 範囲選択
  • 入力ミス確認

などが必要になります。

しかし今回の仕組みでは、

ボタンを押すだけ

または

実行ボタンをクリックするだけ

で集計が完了します。

実際に試してみると、

  • 手作業:約1分
  • 自動化:数秒

という結果でした。

毎日行う作業なら年間でかなりの時間短縮になります。


VBAとGASの違い

項目VBAGAS
対応ソフトExcelGoogleスプレッドシート
実行場所パソコンクラウド
共有やや苦手得意
処理速度高速普通
導入難易度やや簡単簡単

どちらがおすすめ?

VBAがおすすめな人

  • Excel中心で仕事をしている
  • 社内業務で利用したい
  • 大量データを扱う
  • ネット接続がない環境でも使いたい

GASがおすすめな人

  • Googleスプレッドシートを使っている
  • 複数人で共有したい
  • クラウド管理したい
  • 自動メール送信なども行いたい

カスタマイズ例

実務では、

「A列以外を集計したい」

「表示場所を変更したい」

というケースがよくあります。


合計する列を変更したい

VBA

現在はA列を集計しています。

Cells(i, 1)

数字の意味は、

  • 1 = A列
  • 2 = B列
  • 3 = C列

です。

例えばB列を集計する場合は、

Cells(i, 2)

へ変更します。


GAS

現在はA列を集計しています。

getRange("A2:A")

B列を集計する場合は、

getRange("B2:B")

へ変更します。


表示位置を変更したい

VBA

現在はB3セルへ表示しています。

Range("B3").Value = total

C3セルへ表示する場合は、

Range("C3").Value = total

へ変更します。


GAS

現在はB3セルへ表示しています。

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

C3セルへ表示する場合は、

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

へ変更します。


応用編|横計算・縦横計算

今回配布している完成版ファイルには、

  • 縦計算
  • 横計算
  • 縦横計算

のサンプルも用意しています。


横計算とは?

通常は縦方向に合計します。

A1
A2
A3
A4

しかし実務では、

1月 2月 3月 4月

のように横方向へ集計したい場合もあります。


VBAの場合

Cells(1, i)

を利用して横方向へ処理できます。


GASの場合

getRange("A1:Z1")

で横方向データを取得できます。


縦横計算とは?

例えば、

商品別 × 月別

のような表です。

この場合は、

行と列の両方を処理します。


VBA

Cells(i, j)

GAS

getRange("A1:D10")

実務では、

「縦方向だけ」

よりも、

「縦+横」

を扱うケースが非常に多いため、覚えておくと応用範囲が広がります。


AIを使って感じたこと

今回改めて感じたのは、

  • コード作成が圧倒的に速い
  • 初心者でも始めやすい
  • 修正や調整に集中できる

ということです。

以前はコードを探すだけでも時間がかかりました。

しかし今は、

「こういう処理を作りたい」

とAIへ伝えるだけで、かなり完成度の高いコードを作成してくれます。

VBAやGASを学ぶハードルは確実に下がっていると感じます。


ダウンロードはこちら

今回使用したファイルはこちらです。

▼ サンプルデータ(xlsx)

SUM集計_サンプルデータ.xlsx

▼ 完成版ファイル(zip)

【無料配布】SUM集計_VBAサンプルセット.zip

まずは完成版を動かしてみるのがおすすめです。

実際に触ることで理解が深まります。


よくある質問

VBAファイル(xlsm)が開けません

Excelの設定によってマクロが無効になっている可能性があります。

詳しくはこちらをご覧ください。

【内部リンク:VBAファイル(xlsm)が開けない・動かない時の対処法


開発タブが表示されません

こちらの記事で詳しく解説しています。

【内部リンク:開発タブの表示方法


VBAコードを書く場所が分かりません

初心者向けに画像付きで解説しています。

【内部リンク:VBAコードを書く場所


まとめ

今回紹介した内容はこちらです。

✅ VBAでボタン1つの自動集計

✅ GASでボタン1つの自動集計

✅ AIを使ったコード作成

✅ サンプルファイルで簡単に体験可能

毎回SUM関数を入力している方は、まずは完成版ファイルを動かしてみてください。

小さな自動化でも、毎日の作業時間を確実に減らすことができます。

今後も、

  • Excel VBA
  • Google Apps Script(GAS)
  • AI活用
  • 業務効率化

について、初心者向けにわかりやすく発信していきます。


ご相談について

今回の方法は基本形になります。

  • 自分の業務に合わせたい
  • 条件付き集計をしたい
  • エラーを解決したい
  • VBAやGASを作成してほしい

などのご相談も可能です。

お気軽にお問い合わせください。

初心者OK!Excel自動化サポートします 面倒なExcel作業をワンクリック自動化 | ココナラ
Excelの繰り返し作業を、自動化してラクにしませんか?・毎日同じ入力作業がある・集計に時間がかかる・転記ミスを減らしたいそんなお悩みを、Excel VBAで解…

次回予告

次回は、

【AVERAGE関数不要!】ボタン1つで平均を出す方法【VBA×GAS×AI】

を紹介します。

ぜひお楽しみに。

コメント