Excel業務を自動化する方法|作業時間を大幅削減する実践テクニックを解説

Excel

Excelで毎月同じCSVを集計する、決まった列を整える、別シートへ転記する、レポートの書式を毎回そろえる。こうした繰り返し作業は、手順を整理すればExcelの機能だけでもかなり自動化できます。

ポイントは、最初から難しいVBAを書くことではありません。計算は関数、データの取り込みや整形はPower Query、クリック操作の繰り返しはマクロやVBA、クラウド上の処理はOffice Scriptsというように、作業の種類に合わせて手段を選ぶことが大切です。

ここでは、Excel業務を自動化するときの選び方から、Power Query、マクロ、VBA、Office Scriptsの具体的な始め方まで、初心者向けに順番に解説します。画面構成はExcelのバージョンやMicrosoft 365の契約内容によって異なる場合があります。

Excel業務の自動化は4つの方法から選ぶ

Excelの自動化で最初に決めたいのは、「どの機能を使うか」ではなく「どの作業を減らしたいか」です。同じExcelでも、集計とファイル操作では適した方法が異なります。

方法向いている作業難易度主な特徴
関数・テーブル計算、判定、検索、集計入力すると結果を自動計算できる
Power QueryCSV取込、データ整形、複数ファイル統合低〜中一度設定すれば更新操作で同じ処理を繰り返せる
マクロ・VBA転記、書式設定、帳票作成、ファイル操作Excel上の定型操作をまとめて実行できる
Office Scriptsクラウド上のExcel操作、定型処理、Power Automate連携対応するMicrosoft 365環境で利用できる

たとえば「商品コードから商品名を自動表示する」だけなら、VBAを作る必要はありません。XLOOKUPなどの関数で十分です。関数を使った自動化から始めたい場合は、ChatGPTでExcel関数を作る方法も参考にしてください。

自動化では、高機能な方法を選ぶことよりも「あとから自分で修正できる方法」を選ぶ方が運用しやすくなります。まずは関数やPower Queryで対応できないか確認すると安全です。

最初に自動化する作業を1つだけ決める

Excel業務を一気に自動化しようとすると、条件が増えすぎて失敗しやすくなります。最初は毎日・毎週・毎月繰り返している作業から、1つだけ選びます。

自動化候補として見つけやすいのは、次のような作業です。

  • 毎月届くCSVを1つの表へまとめる
  • 不要な列を削除して並び順を整える
  • 商品コードから商品名や単価を取得する
  • 部署別・担当者別の売上を集計する
  • 同じ書式の月次レポートを作成する
  • 別シートへ決まった範囲を転記する
  • 完成した帳票を保存する

反対に、毎回判断基準が変わる作業や、担当者による確認が中心になる作業は、自動化しても管理が複雑になる場合があります。

自動化前に作業を分解する

たとえば、毎月の売上集計に30分かかっているとします。「売上集計」とまとめて考えず、実際に行っている操作を分解します。

  1. 3店舗から届いたCSVを開く
  2. 必要な列だけ残す
  3. 日付形式を統一する
  4. 3ファイルを1つの表へまとめる
  5. 担当者別に集計する
  6. 列幅や金額表示を整える
  7. 月次レポートとして保存する

この場合、1〜4はPower Query、5はSUMIFSやピボットテーブル、6〜7はマクロやVBAというように分けて考えられます。

Power Queryで毎月のCSV取込を自動化する

複数ファイルの取り込みやデータ整形を繰り返している場合は、Power Queryから検討すると効率的です。Power Queryでは、外部データへの接続、不要列の削除、データ型の変更、テーブルの結合などを手順として記録し、更新時に同じ処理を再実行できます。Microsoft公式でも、Power Queryはデータの接続・変換・結合・読み込みに利用できる機能として案内されています。Microsoft公式のPower Query解説もあわせて確認してください。

例:毎月追加される売上CSVをまとめる

次のような3ファイルが同じフォルダーに保存されているとします。

ファイル名内容
売上_東京.csv東京店の売上データ
売上_大阪.csv大阪店の売上データ
売上_名古屋.csv名古屋店の売上データ

各CSVの列構成は、「日付」「担当者」「商品」「売上」のように統一しておきます。

フォルダーをPower Queryへ接続する

  1. Excelで集計用ブックを開きます。
  2. 「データ」タブを開きます。
  3. 「データの取得」からファイルを取得する項目を選択します。
  4. 対象のフォルダーを指定します。
  5. ファイル一覧を確認し、データを結合してPower Queryエディターで整形します。

複数ファイルを結合するときは、同じフォルダーへ関係のないCSVや一時ファイルを入れない方が管理しやすくなります。Microsoftも、同じ構造の複数ファイルをフォルダーから結合する方法を案内しています。

Power Queryエディターで整形ルールを作る

Power Queryエディターを開いたら、毎月手作業で行っている処理を設定します。

  • 不要な列を削除する
  • 日付列を日付型へ変更する
  • 売上列を数値型へ変更する
  • 不要な行を除外する
  • 列名を統一する
  • 必要に応じて別テーブルと結合する

これらの操作は「適用したステップ」として記録されます。設定後は「閉じて読み込む」でExcelへ戻します。

翌月は同じ形式のCSVを対象フォルダーへ追加し、Excel側でデータを更新します。最初からファイルを開いてコピーし直すのではなく、設定した変換処理を再利用できるのがPower Queryの大きな利点です。

Power Queryは元データの列名やファイル構成が変わるとエラーになることがあります。自動化する前に「入力ファイルの形式を統一する」ことも業務改善の一部と考えてください。

マクロの記録でクリック操作を自動化する

毎回同じセルを選択して、太字にする、列幅を整える、表示形式を変更するといった操作には「マクロの記録」が使えます。

マクロの記録では、Excelで行った操作がVBAコードとして記録されます。自分でゼロからコードを書く必要がないため、VBAを学ぶ前の入口としても使いやすい方法です。

「開発」タブを表示する

「開発」タブが表示されていない場合、Windows版Excelでは「ファイル」から「オプション」を開き、「リボンのユーザー設定」で「開発」を有効にします。Microsoft公式の「開発」タブを表示する手順でも確認できます。

月次レポートの書式設定を記録する

  1. 「開発」タブを開きます。
  2. 「マクロの記録」を選択します。
  3. マクロ名に「FormatMonthlyReport」など分かりやすい名前を設定します。
  4. 見出しを太字にする、列幅を調整するなど、普段の操作を実行します。
  5. 操作が終わったら記録を停止します。
  6. テスト用の表でマクロを実行し、結果を確認します。

マクロをブック内へ保存して継続利用する場合は、マクロを保持できる形式で保存する必要があります。また、出所が分からないマクロを不用意に実行しないことも重要です。

ChatGPTを利用してマクロそのものを作りたい場合は、ChatGPTでExcel VBAマクロを書く手順で、コードをExcelへ入れる方法まで確認できます。

VBAなら複数の操作をまとめて自動化できる

マクロの記録だけでは対応しにくい条件分岐や複数シートの処理、繰り返し処理などはVBAで作成できます。

例として、「月次集計」シートの見出しと列幅、金額表示をまとめて整えるVBAは次のように書けます。

Sub FormatMonthlyReport()
    Dim ws As Worksheet
    Set ws = ThisWorkbook.Worksheets("月次集計")

    With ws
        .Rows(1).Font.Bold = True
        .Columns("A:D").AutoFit
        .Range("D2:D1000").NumberFormatLocal = "#,##0"
    End With
End Sub

このコードは「月次集計」という名前のシートが存在する前提の例です。実行すると、1行目を太字にし、A列からD列の幅を調整し、D2からD1000までを桁区切り表示にします。

実際のブックでシート名や対象列が異なる場合は、そのまま使用せず修正してください。

VBAは本番ファイルへ直接入れない

VBAではセルの上書き、行の削除、ファイル保存なども自動化できます。そのため、正常に動くかだけではなく、「期待したデータが残っているか」まで確認する必要があります。

  1. 本番ブックをコピーする
  2. 少量のテストデータを用意する
  3. 処理前の期待結果を決める
  4. マクロを実行する
  5. セルの値、件数、合計値を確認する
  6. 問題がなければ対象範囲を広げる

AIを使ってVBAコードを作成する場合も同じです。より詳しい作成方法は、ChatGPTでVBAを作ってExcel業務を自動化する方法で解説しています。

Office Scriptsでクラウド上のExcel操作を自動化する

Microsoft 365の対応環境では、ExcelのOffice Scriptsを使って定型操作をスクリプト化できます。Excelの「自動化」タブからアクションレコーダーやコードエディターを利用し、繰り返し操作を再利用できます。

Office ScriptsはExcel for the web、対応するWindows版Excel、Mac版Excelなどで利用できますが、契約しているMicrosoft 365プランや組織の管理設定によって利用条件が異なります。「自動化」タブが表示されない場合もあるため、利用前にMicrosoft公式のOffice Scripts利用条件を確認してください。

Office Scriptsの基本的な流れ

  1. 対応するMicrosoft 365環境でExcelを開きます。
  2. 「自動化」タブを開きます。
  3. アクションレコーダーで操作を記録するか、コードエディターでスクリプトを作成します。
  4. スクリプトを保存します。
  5. テスト用データで実行結果を確認します。

Office ScriptsはPower Automateと組み合わせることで、Excel単体の操作をさらに大きなワークフローへ組み込めます。ただし、Power Automateとの連携にはライセンスなどの条件があるため、導入前にMicrosoft公式のPower Automate連携情報を確認してください。

関数・Power Query・VBAを組み合わせると管理しやすい

実務では、1つの機能ですべてを自動化する必要はありません。むしろ役割を分けた方が、後から修正しやすくなります。

月次売上レポートなら、次のような構成が考えられます。

工程使用する機能
店舗別CSVを読み込むPower Query
不要列削除・データ型統一Power Query
条件別売上を集計SUMIFS
商品情報を検索XLOOKUP
レポートの書式を整えるマクロ・VBA

複数条件の売上集計を自動化したい場合は、ExcelのSUMIFS関数で複数条件を集計する方法も組み合わせると、VBAで計算処理まで作り込まずに済む場合があります。

Excel自動化で失敗しやすい5つのポイント

元データの形式が毎回違う

列名が「売上」「売上額」「金額」のように毎月変わると、自動化処理が安定しません。自動化する前に入力ルールを統一します。

いきなり大きな処理を作る

取込、集計、PDF出力、メール送信まで一度に自動化すると、問題が起きたときに原因を特定しにくくなります。最初は「CSVをまとめる」など1工程から始めます。

エラーが出なければ成功だと判断する

エラーが表示されなくても、転記先の列がずれていたり、集計対象が不足していたりする可能性があります。処理件数、合計金額、先頭行、最終行などを確認します。

シート名や列位置を固定したまま運用する

VBAが「月次集計」シートやD列を前提としている場合、シート名や表構成を変更すると正しく動かなくなる可能性があります。変更した人が分かるよう、処理条件を簡単な手順書として残しておくと安心です。

本番データだけでテストする

削除や上書きを含む処理は、コピーしたブックで確認してから本番へ適用します。自動保存する処理では特に注意が必要です。

自動化する前に確認したいチェックリスト

  • 毎回ほぼ同じ手順で行っている作業か
  • 入力データの列名や形式を統一できるか
  • 処理前と処理後の正しい結果を説明できるか
  • 関数だけで対応できないか確認したか
  • Power Queryで置き換えられないか確認したか
  • 削除や上書きを行う処理が含まれていないか
  • テスト用ファイルを用意したか
  • 自分以外の担当者でも実行条件を理解できるか
  • 元データへ戻せる状態になっているか

「30分の作業を30秒にする」ことだけが自動化ではありません。操作手順が統一され、担当者が変わっても同じ結果を得られる状態を作ることも大きな効果です。

よくある質問

Excel業務の自動化は初心者でもできますか?

できます。最初からVBAを書く必要はありません。関数、テーブル、Power Query、マクロの記録の順に、現在の作業に必要な機能から試すと進めやすくなります。

Power QueryとVBAはどちらを使えばよいですか?

CSVやExcelファイルの取り込み、不要列削除、結合などデータ整形が中心ならPower Queryが向いています。セル操作、帳票作成、複数シートへの転記などExcel上の操作そのものを自動化したい場合はVBAが候補になります。

マクロとVBAは同じものですか?

Excelのマクロは、繰り返し操作を自動実行する仕組みです。Excelで記録したマクロはVBAコードとして保存され、Visual Basic Editorから内容を確認・編集できます。

Excelを開かずに完全自動化できますか?

処理内容と利用環境によります。Microsoft 365環境ではOffice ScriptsとPower Automateを組み合わせられるケースがあります。プランや管理設定によって利用条件が異なるため、導入前に公式情報を確認してください。

AIが作ったVBAはそのまま実行しても大丈夫ですか?

そのまま本番ファイルで実行するのは避けてください。シート名、セル範囲、開始行、最終行、削除・上書き処理を確認し、コピーしたブックと少量のテストデータで結果を検証してから利用します。

関連記事

まとめ

  • Excel自動化は、作業内容に合わせて関数・Power Query・マクロ・VBA・Office Scriptsを使い分ける
  • CSV取込やデータ整形の繰り返しはPower Queryから検討する
  • 定型的なExcel操作はマクロの記録やVBAで自動化できる
  • 一度に全部を自動化せず、時間がかかっている1工程から始める
  • 本番利用前にコピーしたファイルで期待値と実行結果を確認する

まずは普段のExcel作業を一度書き出し、「毎回同じ操作をしている部分」を探してみてください。10分程度の単純作業でも、毎日繰り返していれば自動化する価値があります。小さな処理を安定させてから、集計、転記、帳票作成へ少しずつ範囲を広げると、管理しやすいExcel自動化を構築できます。

タイトルとURLをコピーしました