「Excelでどんな作業をしたのか覚えていない」「誰がいつ変更したのか分からない」──そんな経験はありませんか?
Excelは便利なツールですが、作業履歴を自動で残す機能が限られているため、後から「なぜこの数式が変わったのか」などを追跡するのが難しいことがあります。
この記事では、Excelで何をしたか記録する方法をわかりやすく解説します。
標準機能を使った簡単な方法から、VBAを使って自動で記録する応用まで、実務に役立つテクニックを紹介します。
Excelで作業履歴を残すメリット
Excelで作業履歴を残すことには、次のようなメリットがあります。
- 作業ミスの原因を特定できる
誰が、いつ、どのセルを変更したか分かれば、修正や検証がスムーズになります。 - チーム作業での透明性が高まる
複数人で同じファイルを扱う場合、編集内容の履歴があると責任の所在が明確になります。 - 作業効率の向上
同じミスを繰り返さない、作業の流れを再利用できるなど、効率的な改善が可能になります。
Excelは単なる表計算ツールではなく、業務記録の一部としても活用できます。
方法①:Excelの「変更履歴の記録」機能を使う
Excelの標準機能の中に「ブックの共有」設定とともに利用できる変更履歴の記録があります。
設定手順
- リボンの[校閲]タブを開く。
- [ブックの共有(レガシ)]をクリック。
- 「複数のユーザーが同時に編集できるようにする」にチェックを入れる。
- 「詳細設定」から「変更履歴を記録する」にチェックを入れる。
- 保存すると、Excelが変更履歴を追跡し、誰がどのセルをいつ変更したかを確認できます。
注意点
- この機能は**レガシー(旧機能)**のため、Excelの新しいバージョンでは非推奨です。
- Excel Onlineや共同編集モードでは動作しません。
とはいえ、ローカル環境での業務ファイル管理にはまだまだ有効な手段です。
方法②:OneDriveやSharePointを使って自動でバージョン管理する
Microsoft 365を利用している場合、OneDriveやSharePointに保存するだけで自動的に変更履歴が残ります。
特徴
- 保存のたびに新しいバージョンが作成される
- 「バージョン履歴」から以前の状態に戻せる
- 誰が編集したのかが明確に表示される
手順
- ファイルをOneDriveまたはSharePointに保存。
- ファイル上で右クリック → 「バージョン履歴」を選択。
- 変更前のファイルをプレビューまたは復元できます。
メリット
- 自動で履歴が残るため、手動操作不要
- クラウドで共有してもデータが上書きされにくい
- 最新バージョン管理がチーム全員で共有できる
チームでExcelを扱う場合は、この方法が最も安全で効率的です。
方法③:VBAで自動的に作業記録を残す(応用編)
より柔軟に履歴を残したい場合、**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
使い方
- Excelを開き、「Alt + F11」でVBAエディタを起動。
- 「ThisWorkbook」に上記のコードを貼り付ける。
- 「作業ログ」というシートをあらかじめ作成しておく。
これでセルが変更されるたびに、日時や変更内容が自動的に記録されます。
応用ポイント
- 「Target.Value」を変更して変更前の値も記録するように改良可能。
- 保存時にログを別ファイルに出力することもできます。
- 社内で誰が編集したか特定する場合は、「Environ(“USERNAME”)」でWindowsユーザー名を取得できます。
方法④:マクロを使わずに手動で記録する仕組みを作る
VBAが使えない環境(マクロ禁止の会社など)では、手動で記録できるテンプレートを活用しましょう。
作業記録テンプレート例
| 日付 | 担当者 | 作業内容 | 対象シート | 備考 |
|---|---|---|---|---|
| 2025/10/27 | 田中 | 売上集計の修正 | 売上表 | 数式を修正 |
| 2025/10/28 | 鈴木 | 新商品データ追加 | 商品一覧 | 行追加済み |
このように「作業ログ」シートを1枚追加し、作業ごとに記入するだけでも効果的です。
手動ではありますが、**「いつ・誰が・何をしたか」**の記録が残るだけで業務の信頼性が大きく向上します。
方法⑤:Power Automateと連携して変更記録を自動化する
Microsoft 365ユーザーなら、Power Automateを使ってさらに高度な履歴管理も可能です。
例:Excelの変更をTeamsやメールに通知
- Power Automateで新しいフローを作成。
- トリガーに「Excelの行が更新されたとき」を選択。
- アクションとして「メールを送信」や「Teamsに投稿」を設定。
これにより、Excelの変更があるたびに通知が届き、作業ログを自動で保存・共有できます。
クラウド環境ではVBAよりも安全で運用しやすい方法です。
方法⑥:ファイルのプロパティを利用して記録を残す
Excelファイルのプロパティ情報(作成者、更新日、コメントなど)を使って、簡単な履歴を残すことも可能です。
手順
- Excelファイルを開く
- 「ファイル」→「情報」→「プロパティ」→「詳細プロパティ」を選択
- 「コメント」欄に作業内容を記入
手動ではありますが、「何のためにこの更新を行ったのか」を短くメモするだけでも、後からの追跡が容易になります。
方法⑦:外部ツールを使ってExcelの変更を監視する
社内で複数人がExcelを扱う場合は、ファイル監視ソフトやバージョン管理ツールの導入もおすすめです。
代表的なツール
- Git + Excel拡張プラグイン
開発チームなどでは、Gitでバージョン管理を行い、変更点をテキストとして比較可能。 - FileHistory(Windows標準)
Windowsの「ファイル履歴」機能で、過去のバージョンを復元できます。 - バックアップソフト(例:EaseUS、Acronis)
定期的に自動バックアップを取り、編集履歴を追跡。
ツールを使うことで、人為的なミスや削除にも強い仕組みを作れます。
まとめ
Excelで「何をしたか」を記録する方法は、目的や環境によって最適解が異なります。
作業履歴を残すことは、業務の信頼性と効率化を高める重要なステップです。
まずは自分の環境に合った方法から試し、少しずつ記録の精度を上げていきましょう。
