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

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

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

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

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

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

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

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

そこで今回は、

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

を紹介します。

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

  • Excel VBA
  • Google Apps Script(GAS)

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

初心者の方でも試せるように、VBAとGASの両方で

✅ サンプルデータ

✅ 完成版ファイル

も無料配布しています。

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

今回できること

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

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

完成イメージ

① A列に数値を入力

② ボタンをクリック

③ B3セルに合計を表示

たったこれだけです。

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

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

今回の記事では、

  • サンプルデータ(xlsx)
  • 完成版ファイル(.zip)
  • サンプルデータ(Googleスプレットシート)
  • 完成版ファイル(Googleスプレットシート)

を無料配布しています。

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

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

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

▼ サンプルデータ(xlsx)

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

▼ サンプルデータ(Googleスプレットシート)

SUM集計_サンプルデータ(スプレットシート)

▼ 完成版ファイル(zip)

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

▼ 完成版ファイル(Googleスプレットシート)

完成版ファイル(Googleスプレットシート)

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

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

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

ダウンロードしたZIPファイルの解凍方法

Googleスプレットシートの利用方法については

GASサンプルファイルの受け取り方

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

完成版ファイル(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

▼ サンプルデータ(Googleスプレットシート)

SUM集計_サンプルデータ(スプレットシート)

▼ 完成版ファイル(zip)

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

▼ 完成版ファイル(Googleスプレットシート)

完成版ファイル(Googleスプレットシート)

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

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

よくある質問

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

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

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

VBAファイル(xlsm)が開けない・動かない時の対処法

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

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

開発タブの表示方法

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

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

VBAコードを書く場所

まとめ

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

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

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

✅ AIを使ったコード作成

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

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

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

今後も、

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

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

次回予告

次回は、

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

を紹介します。

ぜひお楽しみに。

コメント