「Excelでどんな作業をしたのか覚えていない」「誰がいつ変更したのか分からない」──そんな経験はありませんか?
Excelは便利なツールですが、作業履歴を自動で残す機能が限られているため、後から「なぜこの数式が変わったのか」などを追跡するのが難しいことがあります。
この記事では、Excelで何をしたか記録する方法をわかりやすく解説します。
標準機能を使った簡単な方法から、VBAを使って自動で記録する応用まで、実務に役立つテクニックを紹介します。
Excelで作業履歴を残すことには、次のようなメリットがあります。
Excelは単なる表計算ツールではなく、業務記録の一部としても活用できます。
Excelの標準機能の中に「ブックの共有」設定とともに利用できる変更履歴の記録があります。
とはいえ、ローカル環境での業務ファイル管理にはまだまだ有効な手段です。
Microsoft 365を利用している場合、OneDriveやSharePointに保存するだけで自動的に変更履歴が残ります。
チームでExcelを扱う場合は、この方法が最も安全で効率的です。
より柔軟に履歴を残したい場合、**VBA(マクロ)**を使って作業内容を自動的に記録することが可能です。
以下のコードを「ThisWorkbook」モジュールに記述します。
Private Sub Workbook_SheetChange(ByVal Sh As Object, ByVal Target As Range)
Dim logSheet As Worksheet
Dim nextRow As Long
Set logSheet = ThisWorkbook.Sheets("作業ログ")
'ログシートがなければ作成
If logSheet Is Nothing Then
Set logSheet = ThisWorkbook.Sheets.Add
logSheet.Name = "作業ログ"
logSheet.Range("A1:E1").Value = Array("日時", "シート名", "セル", "変更前", "変更後")
End If
nextRow = logSheet.Cells(Rows.Count, 1).End(xlUp).Row + 1
Application.EnableEvents = False
logSheet.Cells(nextRow, 1).Value = Now
logSheet.Cells(nextRow, 2).Value = Sh.Name
logSheet.Cells(nextRow, 3).Value = Target.Address
logSheet.Cells(nextRow, 5).Value = Target.Value
Application.EnableEvents = True
End Sub
これでセルが変更されるたびに、日時や変更内容が自動的に記録されます。
VBAが使えない環境(マクロ禁止の会社など)では、手動で記録できるテンプレートを活用しましょう。
| 日付 | 担当者 | 作業内容 | 対象シート | 備考 |
|---|---|---|---|---|
| 2025/10/27 | 田中 | 売上集計の修正 | 売上表 | 数式を修正 |
| 2025/10/28 | 鈴木 | 新商品データ追加 | 商品一覧 | 行追加済み |
このように「作業ログ」シートを1枚追加し、作業ごとに記入するだけでも効果的です。
手動ではありますが、**「いつ・誰が・何をしたか」**の記録が残るだけで業務の信頼性が大きく向上します。
Microsoft 365ユーザーなら、Power Automateを使ってさらに高度な履歴管理も可能です。
これにより、Excelの変更があるたびに通知が届き、作業ログを自動で保存・共有できます。
クラウド環境ではVBAよりも安全で運用しやすい方法です。
Excelファイルのプロパティ情報(作成者、更新日、コメントなど)を使って、簡単な履歴を残すことも可能です。
手動ではありますが、「何のためにこの更新を行ったのか」を短くメモするだけでも、後からの追跡が容易になります。
社内で複数人がExcelを扱う場合は、ファイル監視ソフトやバージョン管理ツールの導入もおすすめです。
ツールを使うことで、人為的なミスや削除にも強い仕組みを作れます。
Excelで「何をしたか」を記録する方法は、目的や環境によって最適解が異なります。
作業履歴を残すことは、業務の信頼性と効率化を高める重要なステップです。
まずは自分の環境に合った方法から試し、少しずつ記録の精度を上げていきましょう。