「毎回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)
▼ 完成版ファイル(zip)
完成版ファイルはボタン設定済みです。
ファイルを開いてボタンを押すだけで動作を確認できます。
また、.zipファイルの開き方がわからない方は
💡 マクロを有効化する必要があります
完成版ファイル(xlsm)を初めて開く場合、
セキュリティの警告
コンテンツの有効化
などのメッセージが表示されることがあります。
マクロが無効になっていると、ボタンを押しても動作しません。
有効化の方法がわからない場合は、こちらの記事をご覧ください。
▶ 【内部リンク:VBAファイル(xlsm)が開けない・動かない時の対処法】
画像付きで詳しく解説しています。
まずは完成版ファイルを動かしてみると、今回作成する仕組みをイメージしやすくなります。
AIにコードを書かせてみた
今回AIには次のように依頼しました。
A列の数値を合計して、B3セルに結果を表示するコードをVBAとGoogle Apps Scriptで作ってください
すると数秒でコードが完成しました。
以前であれば、
- インターネットでコードを探す
- 意味を調べる
- エラーを修正する
という作業が必要でした。
しかし現在はChatGPTなどのAIを活用することで、初心者でも自動化に挑戦しやすくなっています。
もちろん最終確認は必要ですが、作業効率は大幅に向上します。
Excel VBAで合計を自動計算する方法
ファイルを使ってすぐ試したい方へ
記事内で使用している完成版ファイルはこちらです。
コード入力が面倒な方は、まず完成版ファイルを動かしてみるのがおすすめです。
「こういう動きをするのか」
を確認してからコードを見ると理解しやすくなります。
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の違い
| 項目 | VBA | GAS |
|---|---|---|
| 対応ソフト | Excel | Googleスプレッドシート |
| 実行場所 | パソコン | クラウド |
| 共有 | やや苦手 | 得意 |
| 処理速度 | 高速 | 普通 |
| 導入難易度 | やや簡単 | 簡単 |
どちらがおすすめ?
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)
▼ 完成版ファイル(zip)
まずは完成版を動かしてみるのがおすすめです。
実際に触ることで理解が深まります。
よくある質問
VBAファイル(xlsm)が開けません
Excelの設定によってマクロが無効になっている可能性があります。
詳しくはこちらをご覧ください。
【内部リンク:VBAファイル(xlsm)が開けない・動かない時の対処法】
開発タブが表示されません
こちらの記事で詳しく解説しています。
【内部リンク:開発タブの表示方法】
VBAコードを書く場所が分かりません
初心者向けに画像付きで解説しています。
【内部リンク:VBAコードを書く場所】
まとめ
今回紹介した内容はこちらです。
✅ VBAでボタン1つの自動集計
✅ GASでボタン1つの自動集計
✅ AIを使ったコード作成
✅ サンプルファイルで簡単に体験可能
毎回SUM関数を入力している方は、まずは完成版ファイルを動かしてみてください。
小さな自動化でも、毎日の作業時間を確実に減らすことができます。
今後も、
- Excel VBA
- Google Apps Script(GAS)
- AI活用
- 業務効率化
について、初心者向けにわかりやすく発信していきます。
ご相談について
今回の方法は基本形になります。
- 自分の業務に合わせたい
- 条件付き集計をしたい
- エラーを解決したい
- VBAやGASを作成してほしい
などのご相談も可能です。
お気軽にお問い合わせください。

次回予告
次回は、
【AVERAGE関数不要!】ボタン1つで平均を出す方法【VBA×GAS×AI】
を紹介します。
ぜひお楽しみに。

コメント