Excel 作業を自動化する方法:関数・Power Query・マクロ・Office スクリプト・Power Automate の使い分けと、自動にしたあとに守ること
毎月、3つのファイルから売上を貼り付けて集計する。受信したメールの中身を、表に1件ずつ写す。Excel の手作業を自動にしたいと思っても、関数、Power Query、マクロ、Office スクリプト、Power Automate と、方法が多くて迷います。この記事では、方法から選ぶのではなく、作業の種類から選ぶ形で、Excel 作業の自動化をまとめます。自動にしたあとに仕組みを止めないための決まりも書きました。
ひと目でわかる
- 手作業を書き出す いつ、何から、何へ、何分かかるか
- 表を整える テーブルにし、列の名前と並びを決める
- 作業の種類で方法を選ぶ 関数・Power Query・マクロ・スクリプト・フロー
- 小さく作って確かめる 件数と合計を、手作業の結果と突き合わせる
- 止めない決まりを作る 直せる人2人、仕組みのメモ、失敗したときの手順
自社で確かめること
この記事でわかること
- 作業の種類ごとに、向いている自動化の方法(関数・Power Query・マクロ・Office スクリプト・Power Automate)
- 自動にする前に、手順と表を整えておく理由
- マクロのブロックや、つなぐときの権限など、安全面で気をつけること
- 自動にした仕組みを、作った人がいなくても止めないための決まり
こんな方に
- 毎月・毎週の Excel の手作業(貼り付け・集計・転記)に時間を取られている事務・経理の担当者
- 社内の Excel 作業を自動にしたいが、どの方法を選べばよいか迷っている方
先に結論
Excel の自動化は、作業の種類で方法を選びます。別の表から値を引くなら関数、毎月複数のファイルや CSV を集めて整えるなら Power Query、決まった操作をボタン1つでまとめるならマクロや Office スクリプト、メールの受信やフォームの回答をきっかけに書き込むなら Power Automate が向いています。どの方法でも、自動にする前に手順を書き出して表を整え、自動にしたあとは直せる人を2人以上決めて仕組みを書き残します。
2026年11月13日時点の情報です。料金や制度は変わることがあるため、本文の公式の資料へのリンクで最新の内容を確かめてください。
毎月の初め、販売管理から出した CSV と、支店から届いた2つの Excel を開いて、売上の表に貼り付ける。列の並びを直し、合計を確かめ、グラフを更新する。毎月同じ作業なのに、毎月2〜3時間かかっている。Excel の手作業には、こうした「毎回同じなのに、毎回手でやっている」作業がたくさんあります。
自動にしたいと思って調べると、関数、Power Query、マクロ(VBA)、Office スクリプト、Power Automate と、方法がいくつも出てきます。どれも Excel の作業を自動にできますが、向いている作業が違います。方法から選ぶと迷うので、この記事では、作業の種類から方法を選ぶ形でまとめます。
自動にしたい作業がどの Excel にあるか、そもそも自動にするより別の仕組みに移したほうがよいかは、Excel のファイルごとに判定できます。ファイルを書き出すと判定が出るシートを用意しました。登録なしで使えます。
結論:作業の種類で、方法を選ぶ
先に結論を書きます。
| 作業の種類 | 向いている方法 | 例 |
|---|---|---|
| 別の表から値を引いてくる・条件で集計する | 関数 | 商品コードから単価を引く、担当ごとに売上を合計する |
| 毎回、ファイルや CSV を取り込んで、整えて、結合する | Power Query | 毎月の CSV を取り込み、列を直して、支店の表と結合する |
| 決まった操作を、ボタン1つでまとめて行う | マクロ(VBA)、Office スクリプト | 表を並べ替えて、印刷用のシートに書き出す |
| メールの受信やフォームの回答などをきっかけに、表に書き込む | Power Automate | 届いた注文メールの中身を、受注の表に1行足す |
1つの作業に、複数の方法を組み合わせることもあります。たとえば、毎月の売上の集計なら、CSV の取り込みと結合は Power Query、担当ごとの合計は関数、という分け方です。
どの方法でも共通するのは、次の2つです。
- 自動にする前に、手順を書き出して、表を整える
- 自動にしたあとは、直せる人を2人以上決めて、仕組みを書き残す
自動にする前に:手順を書き出し、表を整える
手順を書き出す
自動にしたい作業を、1つずつ書き出します。
| 書き出すこと | 例(月次の売上の集計) |
|---|---|
| いつ | 毎月第1営業日の午前 |
| 何から | 販売管理から出した CSV、東支店と西支店の Excel |
| 何をする | 3つを1つの表にまとめ、商品の区分を付け、担当ごとに合計する |
| 何へ | 売上の集計の表、経営会議の資料 |
| どれだけかかるか | 1回 2時間30分(月に1回) |
| よく起きる間違い | 支店の表の列の並びが月によって違い、貼り付けがずれる |
書き出すと、「よく起きる間違い」の多くは、取り込む元の表の形がそろっていないことから来ていると分かります。自動にしても、元の表の形がばらばらだと、自動の仕組みが毎回止まります。
表を整える
自動にする前に、取り込む元の表と、書き込む先の表を整えます。
- データの範囲を、Excel の「テーブル」にする
- 1行に1件、1列に1つの項目にする。見出しは1行だけにする
- 列の名前と並びを決めて、毎回同じにしてもらう(支店の表などは、ひな形を配る)
- 選ぶ項目は、入力規則で一覧から選ぶ形にする
この段階で、手作業そのものが半分になることも珍しくありません。表の整え方は、「脱エクセルの進め方」の「Excel のまま整える」でも書きました。
どの作業から自動にするか
書き出した作業が複数あるときは、次の3つで順番を決めます。
| 見ること | 先にやる作業 | 後にする作業 |
|---|---|---|
| 年の手間(回数×時間) | 毎日・毎週の作業、1回の時間が長い作業 | 年に数回しかない作業 |
| 間違えたときの影響 | 請求・給与・発注など、間違えると社外やお金に響く作業 | 社内の参考にするだけの集計 |
| 元のデータの安定 | 元の表の形が毎回同じ(システムから出す CSV など) | 元の表の形が毎回違う(人によって書き方が違う表) |
元のデータの形が毎回違う作業は、自動にしても止まりがちです。先に元の表のひな形を決めてもらうか、後回しにします。
社内の Excel の環境を確かめる
方法を選ぶ前に、社内の Excel の環境を確かめます。同じ「Excel」でも、使える機能が違うことがあるためです。
| 確かめること | なぜ要るか |
|---|---|
| Microsoft 365 か、買い切りの版か | 新しい関数や Office スクリプト、Power Automate との連携が使えるかが変わる |
| パソコンの Excel か、Web 版か、Mac か | マクロ(VBA)は主にパソコンの Excel で使う。Web 版でブックを開く人がいると、マクロは使えない |
| ファイルの置き場所 | 共同編集や Power Automate との連携は、OneDrive・SharePoint に置いたブックが前提になる |
| 管理者の設定 | マクロの実行や Office スクリプト、Power Automate の使い方は、管理者が会社として制限していることがある |
管理者の設定は、情報システムの担当(いなければ、Microsoft 365 の管理をしている人)に確かめます。個人の判断でマクロのブロックを外したり、会社の情報を個人のアカウントのフローに流したりしないようにします。
関数:別の表から引く、条件で集計する
一番手軽な自動化は、関数です。手で探して書き写していた値を、関数で引いてくるだけで、写す作業と写し間違いがなくなります。
| したいこと | 関数の例 |
|---|---|
| コードから、別の表の値を引く | XLOOKUP、VLOOKUP |
| 条件に合う行だけを合計する・数える | SUMIFS、COUNTIFS |
| 条件に合う行を、別の場所に抜き出す | FILTER |
| 重複を除いた一覧を作る | UNIQUE |
XLOOKUP、FILTER、UNIQUE などの比較的新しい関数は、使っている Excel の版によっては使えません。社内で古い版の Excel を使う人がいる場合は、その人が開いても動く関数を選びます。
関数を使うときは、表をテーブルにしておくと、行が増えても範囲を直す必要がなくなります。
集計は、ピボットテーブルでも
担当ごと、月ごと、商品の区分ごとの合計のように、切り口を変えて集計する作業は、関数を並べるより、ピボットテーブルのほうが早く作れることがあります。元の表をテーブルにしておけば、行が増えても[更新]で集計に反映されます。毎月、集計表の行や列を手で足していたなら、ピボットテーブルに置き換えるだけで、その作業はなくなります。関数とピボットテーブルのどちらにするかは、集計の形が毎回決まっているか(関数)、切り口を変えて見たいか(ピボットテーブル)で選びます。
Power Query:取り込んで、整えて、結合する
毎回、ファイルや CSV を取り込み、列を消したり並べ替えたりしてから、ほかの表とつなぐ。こうした作業には、Power Query が向いています。
Power Query は、Excel の[データ]タブの[データの取得]から使う、データを取り込んで整える機能です。Microsoft のサポートの説明では、整形の操作は手順として記録され、[適用された手順]で確かめたり直したりできます(Excel の Power Query について)。一度手順を作れば、次の月からは新しいファイルに差し替えて[更新]するだけで、同じ手順が繰り返されます。
Power Query が向いている作業の例です。
- 毎月の CSV を取り込み、要らない列を消し、日付の形をそろえる
- フォルダーに置いた複数のファイル(支店ごとの表など)を、1つの表にまとめる(Microsoft のサポートに、フォルダーから複数のファイルを取り込む手順の案内があります。複数のファイルを含むフォルダーからデータをインポートする)
- 商品の一覧と売上の明細をつないで、商品の区分を付ける
取り込む元のファイルの列の名前が変わると、Power Query の手順は止まります。元の表のひな形を決めて、列の名前を変えないように頼んでおくのが、止めないこつです。
マクロ(VBA):決まった操作をまとめる
並べ替え、書式の設定、別のシートへの書き出し、印刷など、決まった操作の連続をボタン1つで行いたいときは、マクロ(VBA)が使えます。Excel の「マクロの記録」で操作を記録すると、その操作がマクロとして残ります。
マクロは長く使われてきた仕組みで、できることが多い反面、次の点に気をつけます。
- 直せる人がいなくなりやすい:記録したマクロに手を加えていくと、作った人にしか分からないプログラムになります。作った人が異動・退職すると、動かなくなったときに直せません
- インターネットから入手したマクロは、既定でブロックされる:Microsoft は、VBA のマクロがマルウェアの配布によく使われることから、インターネットから入手したファイルのマクロを既定でブロックするように Office の動作を変えています(インターネットからのマクロは、Office で既定でブロックされます)。出どころの分からないマクロは動かさないのが原則です
- 社内のマクロの置き場所と扱いを決める:社内で使うマクロ付きのファイルを、どこに置き、誰が直すかを、情報システムの担当と決めておきます
マクロは、自分や少人数で使う作業を楽にするには向いています。多くの人が使う業務の仕組みをマクロで作り込むと、Excel の限界のサイン(直せる人がいない)を自分で増やすことになります。
Office スクリプトと Power Automate:きっかけで動かす
メールが届いたら、フォームに回答があったら、毎朝9時になったら。こうした「きっかけ」で Excel に書き込みたいときは、Power Automate のような、きっかけで処理を動かす仕組みを使います。
Office スクリプトは、Web 版の Excel などで動く、Excel の操作を自動にするスクリプトです。Microsoft の説明では、Power Automate のフローから Office スクリプトを呼び出して、ブックの更新などを行えます。Power Automate で Office スクリプトを使うには、Microsoft 365 のビジネス向けのライセンスが要ります(Power Automate を使用した Office スクリプトの実行)。Microsoft は、メールの内容をブックに保存するといった例も示しています。
向いている作業の例です。
- 決まった形の注文メールが届いたら、受注の表に1行足す
- フォームの回答を、決まった表に書き写し、担当に知らせる
- 毎朝、前日の分の集計を作り、決まった人に送る
気をつけるのは、権限です。Microsoft の説明でも、スクリプトを実行するアクションは、Excel のコネクタを使う人に、ブックとそのデータへの大きなアクセス権を与えることが注意されています。会社の情報を扱うフローを作るときは、誰の権限で動くか、作った人が異動したらどうなるかを、情報システムの担当と決めておきます。
例:月次の売上の集計を自動にする
冒頭の月次の売上の集計(毎月2時間30分)を、方法を組み合わせて自動にすると、次のようになります。
| 手順 | 前(手作業) | 後(自動) |
|---|---|---|
| 1. 元のデータを集める | CSV と2つの Excel を開いて貼り付ける | 決まったフォルダーに3つのファイルを置く |
| 2. 列の形をそろえる | 列の並びを手で直す | Power Query が列の名前でそろえる |
| 3. 商品の区分を付ける | 商品の一覧を見ながら手で書く | Power Query で商品の一覧とつなぐ |
| 4. 担当ごとに合計する | 手で並べ替えて合計する | 関数(SUMIFS)かピボットテーブルで出す |
| 5. 確かめる | 合計を電卓で確かめる | 件数と合計を、販売管理の画面の数字と突き合わせる |
| 6. 資料を更新する | グラフの範囲を直す | テーブルを元にしたグラフが自動で広がる |
前提として、2つの支店には、列の名前と並びを決めたひな形を配っておきます。そうすると、毎月の作業は「ファイルを置いて、更新して、5の突き合わせをする」だけになります。どれだけ時間が縮むかは、元のデータの形と件数によるので、試す前と後で時間を測ります。
自動にしたあと:止めないための決まり
自動にした仕組みは、作った直後は便利でも、半年後、1年後に止まることがあります。元のファイルの形が変わった、作った人が異動した、ライセンスや権限が変わった、といった理由です。止めないために、次の決まりを作ります。
| 決まり | 中身 |
|---|---|
| 直せる人を2人以上 | 作った人のほかに、少なくとも1人が仕組みを理解している |
| 仕組みのメモ | 何から、何を、どう処理して、何へ書くか。どこに置いてあるか |
| 確かめ方 | 毎回、件数と合計を元のデータと突き合わせる。合わなければ使わない |
| 失敗したときの手順 | 仕組みが止まったときに、手作業で同じ結果を出す手順を残しておく |
| 元のデータの約束 | 取り込む元の表の列の名前と並びを、変えるときは事前に知らせてもらう |
仕組みのメモと失敗したときの手順は、短い手順書にして残します。書き方とひな形は「業務マニュアル・手順書の作り方」にまとめました。
よくある失敗
| 失敗 | 起きること | 防ぎ方 |
|---|---|---|
| 表を整えずに自動にする | 元の表の形が変わるたびに止まる | テーブル化し、列の名前と並びを決める |
| 方法から選ぶ | 合わない方法で作り込み、直しにくくなる | 作業の種類から方法を選ぶ |
| 何でもマクロで作り込む | 作った人しか直せない仕組みが増える | 取り込みは Power Query、集計は関数、と分ける |
| 出どころの分からないマクロを動かす | マルウェアに感染するおそれ | インターネットから入手したマクロは動かさない |
| 結果を確かめずに使う | 止まっていたことに気づかず、古い数字で判断する | 件数と合計を毎回突き合わせる |
| 作った人の権限だけで動かす | 異動・退職で、フローが止まる | 誰の権限で動かすかを、情報システムの担当と決める |
自動にするより、移したほうがよいとき
自動にする方法を重ねても、複数の人が同時に書き換える、件数が増え続ける、壊れると業務が止まる、といった Excel の限界のサインが残るなら、Excel の中で自動にするより、システムに移したほうが手間も危うさも減ります。どのファイルを自動にし、どのファイルを移すかの判定は、「脱エクセルの進め方」と判定シートで行えます。
おわりに
Excel の自動化は、方法を覚えることより、作業を書き出して表を整えることのほうが、効果が大きいことがよくあります。表が整っていれば、関数や Power Query だけで、手作業の多くはなくなります。まずは判定シートで、手で写す作業の多い Excel を見つけ、その手順を書き出すところから始めてください。
Excel のファイルの洗い出し方、整え方と自動にする前の確認の表、自動にした仕組みのメモのひな形を、無料の「脱エクセル 実務ガイド」(PDF)にまとめました。
出典(2026年11月13日に確認)
- Microsoft「Excel の Power Query について」
- Microsoft「インターネットからのマクロは、Office で既定でブロックされます」
- Microsoft「Power Automate を使用した Office スクリプトの実行」
よくある質問
Excel の作業を自動化するには、どの方法がよいですか?
作業の種類で選びます。別の表から値を引くなら関数、毎月複数のファイルや CSV を集めて整えるなら Power Query、決まった操作をまとめて行うならマクロ(VBA)や Office スクリプト、メールやフォームをきっかけに表へ書き込むなら Power Automate が向いています。
Power Query とは何ですか?
Excel でデータを取り込み、整える機能です。どのファイルから取り込み、どの列を残し、どう並べ替えたか、といった手順が記録され、次からは更新するだけで同じ手順が繰り返されます。毎月の CSV の取り込みや、複数のファイルの結合に向いています。
マクロ(VBA)と Office スクリプトは、何が違いますか?
どちらも Excel の操作を自動にする仕組みです。マクロ(VBA)は主にパソコンの Excel で動き、長く使われてきました。Office スクリプトは Web 版の Excel などで動き、Power Automate のフローから呼び出せます。社内の Excel の使い方(パソコンか Web か、Microsoft 365 か)で選びます。
インターネットから入手したマクロ付きのファイルが動きません。
Microsoft は、インターネットから入手したファイルのマクロを、既定でブロックするように Office の動作を変えています。マルウェアの配布に使われることが多いためです。出どころの分からないマクロは動かさず、社内で使うマクロは、置き場所や扱いを情報システムの担当と決めてください。
NEWSLETTER