【コピペOK】総務のExcel自動化7選|総務歴10年が実際に使っているVBA・関数まとめ

毎月末の勤怠集計、同じシートへの転記作業、備品の在庫確認……。「またこれか」と思いながら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. 「開発」タブ→「マクロの記録」をクリック
  2. チェックリストの作成操作を手動で行う
  3. 「記録終了」をクリック
  4. 以降はボタン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つだけでも守っておくと、引継ぎ時の混乱が大幅に減ります。

  1. VBAコードにコメントを入れる(「何をしているか」を日本語で書く)
  2. マスターシートとデータシートを分ける(参照元の名簿・コードと、実際のデータを混ぜない)
  3. バックアップ用の手動手順書を1枚用意しておく(VBAが動かなくなったときの保険)

まとめ:今日から始める最初の一手

「Excel自動化」と聞くと大がかりなプロジェクトのように聞こえますが、総務の仕事においては「今の業務の中で一番繰り返しているものを1つ選んで、まずそこだけ自動化する」のが一番早い方法です。

今日の一手として、まず以下のどちらかから始めてみてください。

  • VLOOKUPで社員名簿の参照を自動化する(30分でできます)
  • IF関数+条件付き書式で備品の在庫アラートを設定する(15分でできます)

どちらも「コードなし・無料・今日できる」自動化です。一度「自動化できた」という体験をすると、次のステップへの動機になります。


今回紹介したVBAコードの完成版・業務別テンプレート(稟議書管理・勤怠集計・備品在庫・入退社チェックリスト)は、Noteにてまとめています。手順を覚える時間より完成済みコードをそのまま使う方が早い場合も多いです。「コードを書くより完成品がほしい」という方はこちらもご確認ください。

また、Excelの自動化に慣れてきたら、次のステップとしてChatGPTを使ったコード生成Python×業務ツール自作に進むのがおすすめです。

総務のChatGPT活用15選|コピペOKプロンプト集
Python + ChatGPTで業務ツールを自作する方法【総務部で活用した経験】
総務の業務改善アイデア10選|予算ゼロ・今日から使えるものだけ選んだ