毎月末の勤怠集計、同じシートへの転記作業、備品の在庫確認……。「またこれか」と思いながらExcelを開いている方は多いのではないでしょうか。
総務の仕事はExcelなしには回らない一方、そのExcelが「手作業の温床」になってしまっているケースがほとんどです。私自身、総務歴10年のうち最初の3〜4年は「月次集計→貼り付け→確認→修正」を毎月2〜3時間かけて繰り返していました。
この記事では、総務業務に特化したExcel自動化の手法を7つ紹介します。難易度別に整理してあるので、「マクロは使ったことない」という方でも、今週中に1つ試せるものが見つかるはずです。
「自動化」というと難しく聞こえますが、総務の日常業務であれば、関数の組み合わせとVBAの基本パターンだけで大半の繰り返し作業は片づきます。
結論:総務のExcel自動化は「業務ごとに手段を選ぶ」のが正解
よくある失敗は「なんとなく全部マクロで自動化しよう」と考えて、何から手をつければいいかわからなくなること。
総務の仕事でExcel自動化を成功させるコツは、業務の種類によって使う手段を変えることです。関数で十分なものにVBAを使う必要はありませんし、VBAで解決できることにRPAを導入する必要もありません。
難易度×効果×所要時間の比較表
| 手段 | 難易度 | 効果 | 設定時間目安 | 向いている業務例 |
|---|---|---|---|---|
| 関数(VLOOKUP/IF等) | ★☆☆ | 中 | 30分〜 | 名簿参照・条件分岐・集計 |
| 条件付き書式 | ★☆☆ | 中 | 15分〜 | 在庫アラート・期限管理 |
| マクロ記録 | ★★☆ | 高 | 1時間〜 | 定型操作の繰り返し |
| VBA(コード編集) | ★★☆ | 高 | 2〜4時間〜 | 転記・集約・チェックリスト生成 |
| Power Query | ★★☆ | 高 | 2〜3時間〜 | 複数シート・ファイルのデータ統合 |
| ChatGPT×Excel | ★☆☆ | 高 | 30分〜 | コード生成補助・関数の自動作成 |
総務がExcel自動化すべき業務7選
実際に私が総務の現場で「これを自動化してよかった」と感じた業務を、優先度の高い順に7つ挙げます。
①勤怠集計の転記を自動化(VLOOKUP×集計シート)
月次の勤怠集計は、総務担当者の「毎月2〜3時間」がここに消えていく業種横断の定番作業です。各部署から届く勤怠シートを1枚ずつ確認して集計シートに転記する……ヒューマンエラーが最も起きやすい業務のひとつでもあります。
まず試してほしいのが、VLOOKUP(またはXLOOKUP)を使った「集計シートから各部署シートを自動参照する仕組み」です。
=VLOOKUP(A2, 部署A!$A:$D, 3, FALSE)
「部署Aシートの社員番号(A列)を検索キーにして、3列目の残業時間を引っ張ってくる」というシンプルな式です。これを全社員分に展開するだけで、転記の手作業はゼロになります。
名前が変わったとき・部署異動があったときはエラーになるので、IFERROR関数を組み合わせておくと安心です。
②備品在庫アラートを自動化(IF関数×条件付き書式)
「コピー用紙が切れた」「トナーが足りない」という報告が来てから発注するのが総務あるあるですが、発注タイミングを毎回人間が目視で判断するのは非効率です。
在庫管理シートに以下の式を追加し、条件付き書式でセルを赤くするだけで「発注アラート」が完成します。
=IF(B2<=C2, "要発注", "")
B2が現在の在庫数、C2が発注基準数量です。「要発注」と表示されたら発注する、というルールを誰でも守れる形で見える化できます。条件付き書式で「要発注」の行を赤くしておくと、見落としもなくなります。
③入退社チェックリストをボタンひとつで生成(マクロ記録)
入社・退社のたびに「名簿追加・システム登録・備品準備・説明資料配付…」という決まった手順を毎回手動で入力していませんか。
マクロ記録機能を使えば、「社員名を入力したら対応チェックリストが自動生成される」Excelをコードを書かずに作れます。手順は以下のとおりです。
- 「開発」タブ→「マクロの記録」をクリック
- チェックリストの作成操作を手動で行う
- 「記録終了」をクリック
- 以降はボタン1つで同じ操作が再現される
記録したマクロはボタンに割り当てられるので、「新入社員ボタン」を押すだけでチェックリストが生成されるシートが完成します。
④稟議書の転記・集約を自動化(VBA)
紙やPDFで受け取った稟議書の内容をExcelの管理台帳に手入力している場合、VBAで「フォームに入力→台帳に自動追記」の仕組みを作ると転記作業がゼロになります。
以下は「入力フォームの内容を管理シートの最終行に追記する」VBAの最小サンプルです。
Sub 稟議書を追記する()
Dim ws As Worksheet
Set ws = Worksheets("管理台帳")
Dim lastRow As Long
lastRow = ws.Cells(Rows.Count, 1).End(xlUp).Row + 1
ws.Cells(lastRow, 1).Value = Worksheets("入力フォーム").Range("B2").Value
ws.Cells(lastRow, 2).Value = Worksheets("入力フォーム").Range("B3").Value
ws.Cells(lastRow, 3).Value = Worksheets("入力フォーム").Range("B4").Value
ws.Cells(lastRow, 4).Value = Worksheets("入力フォーム").Range("B5").Value
MsgBox "追記が完了しました"
End Sub
「入力フォーム」シートのB2〜B5に申請内容を入力してボタンを押すだけで、管理台帳に自動追記されます。私が職場で最初に作ったVBAツールと同じ構造で、1.5時間ほどで完成しました。
⑤社員名簿のVLOOKUP自動参照
「社員番号を入れたら氏名・所属・内線番号が自動で入る」仕組みは、VLOOKUP(またはXLOOKUP)一本で作れます。各種申請書・備品管理表など、社員情報を使うシート全体に展開すれば、名前の打ち間違い・転記ミスが一気に減ります。
⑥月次報告資料の自動作成(VBA+テンプレート)
毎月決まった書式で「先月の〇〇件数・△△コスト」をまとめるレポートを作っているなら、VBAで「テンプレートを複製してデータを転記する」マクロを作ると、毎月の作業が5分以内に収まります。
完成版コードと業務別テンプレートはNoteにてまとめています。構造としては「テンプレートシートをコピー→今月のデータを貼り付け→ファイル名を変えて保存」という3ステップをVBAで書くだけです。
⑦ChatGPT×ExcelでVBAコードを自動生成する(2026年版)
2026年現在、VBAを自分で書けなくてもChatGPTに依頼すれば動くコードが生成されます。私自身も「このコードを書いてほしい」というプロンプトを使うことで、実装時間が半分以下になりました。
例えばこんなプロンプトで試してみてください。
「Excelで、シート名”入力フォーム”のB2〜B5の値を、シート名”管理台帳”の最終行に追記するVBAコードを書いてください。追記後にメッセージボックスで完了を通知すること。」
細かい業務要件を伝えるほど精度が上がります。生成されたコードは必ずテスト環境で動作確認してから本番に使ってください。ChatGPT×Excelの具体的なプロンプト集については総務のChatGPT活用15選も参考にしてください。
自動化の方法別:使い分けポイント
関数で解決できること・できないこと
関数(VLOOKUP・IF・SUMIF等)は「計算・参照・条件分岐」に強く、学習コストが最も低い手段です。一方で「ボタン操作を自動化する」「別ファイルから定期的にデータを取り込む」といった動的な処理は関数では対応できません。
「転記せずに参照できればいい」業務なら関数で十分。「定期的に決まった操作を実行したい」なら次のステップへ進みましょう。
マクロ記録機能の使い方(コード不要で自動化)
マクロ記録はVBAを書かずに自動化できる最初のステップです。「開発タブ」が表示されていない場合は、ファイル→オプション→リボンのユーザー設定から「開発」にチェックを入れてください。
注意点として、マクロ記録は「行を固定して動く」ため、データの行数が毎月変わるような処理には向きません。そういう場合はVBAで書き直す必要があります。
Power Queryでデータ整理を自動化
複数の部署から届く同形式のExcelファイルを1枚に統合する作業があるなら、Power QueryのExcelから結合データを取得する機能が便利です。VBAより設定が直感的で、ファイルが追加されるたびに「更新ボタン」を押すだけで最新データに反映されます。
実際にやってつまずいたこと・注意点
Excelバージョンによる関数の違い
XLOOKUP関数はMicrosoft 365またはExcel 2021以降でのみ使えます。Excel 2019・2016の場合は動作しないため、VLOOKUPで代用してください。関数を入れる前に「Excelのバージョン確認」を先にしておくと無駄な手戻りがありません。
私自身、XLOOKUP式を全社展開しようとしたところ、古いPCでエラーが続出して2時間の修正作業が発生した経験があります。バージョン確認は先に行うのが一番得策です。
VBAが動かないときのよくある原因
- マクロが無効になっている:セキュリティセンターの「マクロの設定」を確認
- ファイルが.xlsx形式で保存されている:VBAを保存するには.xlsm形式が必要
- シート名が合っていない:コード内のシート名と実際のシート名が1文字でも違うとエラーになる
- 日本語変数名でのエラー:変数名は英語かアルファベット混じりにした方が安全
属人化させないための運用ルール
自動化したExcelで最も多い失敗は「作った本人しか使えない・直せない」状態になること。以下の3つだけでも守っておくと、引継ぎ時の混乱が大幅に減ります。
- VBAコードにコメントを入れる(「何をしているか」を日本語で書く)
- マスターシートとデータシートを分ける(参照元の名簿・コードと、実際のデータを混ぜない)
- バックアップ用の手動手順書を1枚用意しておく(VBAが動かなくなったときの保険)
まとめ:今日から始める最初の一手
「Excel自動化」と聞くと大がかりなプロジェクトのように聞こえますが、総務の仕事においては「今の業務の中で一番繰り返しているものを1つ選んで、まずそこだけ自動化する」のが一番早い方法です。
今日の一手として、まず以下のどちらかから始めてみてください。
- VLOOKUPで社員名簿の参照を自動化する(30分でできます)
- IF関数+条件付き書式で備品の在庫アラートを設定する(15分でできます)
どちらも「コードなし・無料・今日できる」自動化です。一度「自動化できた」という体験をすると、次のステップへの動機になります。
今回紹介したVBAコードの完成版・業務別テンプレート(稟議書管理・勤怠集計・備品在庫・入退社チェックリスト)は、Noteにてまとめています。手順を覚える時間より完成済みコードをそのまま使う方が早い場合も多いです。「コードを書くより完成品がほしい」という方はこちらもご確認ください。
また、Excelの自動化に慣れてきたら、次のステップとしてChatGPTを使ったコード生成やPython×業務ツール自作に進むのがおすすめです。
→ 総務のChatGPT活用15選|コピペOKプロンプト集
→ Python + ChatGPTで業務ツールを自作する方法【総務部で活用した経験】
→ 総務の業務改善アイデア10選|予算ゼロ・今日から使えるものだけ選んだ