「Excelの数字が変わっているが、誰が修正したのか分からない」
「顧客情報が削除されているが、いつ変更されたのか確認できない」
「複数人でExcelを編集していて、変更前の内容を確認したい」
「重要なデータなので、誰が何を変更したか履歴を残したい」
このような場合は、Excelの変更履歴を管理する方法を見直す必要があります。
少人数で簡単な表を管理するだけであれば、履歴を細かく残さなくても大きな問題にならないことがあります。
しかし、
- 顧客情報
- 案件情報
- 売上
- 在庫
- 契約
- 申請
- 社内マスター
などを複数人で管理している場合、
現在の値だけではなく、変更前の値や変更した担当者を確認したい
という場面が増えてきます。
例えば、案件管理表で、
ステータス:商談中
だった案件が、
ステータス:失注
へ変更されていたとします。
現在のExcelだけを見ても、
- 誰が変更したのか
- いつ変更したのか
- 変更前は何だったのか
- なぜ変更したのか
が分からないことがあります。
Excelには、OneDriveやSharePointを利用したバージョン履歴など、過去の状態を確認する方法があります。
また、VBAで独自の変更ログを残すこともできます。
一方、顧客や案件単位で詳細な操作履歴が必要になると、Excelだけで管理することが複雑になります。
この記事では、Excelの変更履歴を管理する方法、履歴を残すメリット、VBAによる記録方法、Webシステムへ移行する判断基準を解説します。
Excelの変更履歴が必要になる理由
Excelでは、セルの値を簡単に変更できます。
これは便利な反面、
以前どのような値だったのか分からなくなる
という問題があります。
例えば在庫数が、
100
から、
80
へ変更されていた場合です。
現在のExcelだけを見ると、在庫80という結果しか分かりません。
本来は、
7/29 10:30
田中
100 → 80
理由:20個出庫
という情報が必要な場合があります。
このような情報を変更履歴として管理します。
Excelの変更履歴で確認したい情報
業務によって異なりますが、一般的には次の情報があります。
- 変更日時
- 変更した担当者
- 変更したファイル
- 対象のシート
- 対象データ
- 変更前の値
- 変更後の値
- 変更理由
例えば、
変更日時
2026/07/29 10:30
担当者
田中
顧客
株式会社A
項目
ステータス
変更前
見積提出
変更後
契約済み
といった記録です。
Excelで変更履歴が必要になりやすい業務
顧客管理
例えば、
担当者
営業ステータス
契約状況
顧客ランク
などが変更された履歴を確認したい場合があります。
案件管理
案件では、
見積中
↓
契約
↓
作業中
↓
完了
とステータスが頻繁に変わります。
現在の状態だけでなく、過去の進捗を確認できると便利です。
在庫管理
在庫数だけでなく、
いつ
何個
入庫・出庫したか
を記録する必要があります。
在庫管理では、現在値を直接書き換えるだけでは履歴を確認できません。
売上・金額管理
例えば、
100,000円
↓
80,000円
へ変更された場合、金額変更の経緯が重要になることがあります。
マスターデータ
商品単価や顧客区分などのマスターを変更した場合、
「いつからこの値になったのか」
を確認したいケースがあります。
Excelの変更履歴を管理する方法
主な方法は次のとおりです。
- ファイル名を分けて保存する
- OneDrive・SharePointのバージョン履歴を使う
- 変更履歴用シートを作る
- VBAで変更内容を自動記録する
- データを直接上書きしない設計にする
- Webシステムで操作履歴を管理する
順番に解説します。
方法1.Excelファイルを世代管理する
最も単純なのは、ファイルを別名保存する方法です。
例えば、
顧客管理_20260701.xlsx
顧客管理_20260715.xlsx
顧客管理_20260729.xlsx
という形です。
メリット
- 特別な仕組みが不要
- 過去のファイルを確認できる
- バックアップにもなる
デメリット
- ファイル数が増える
- どれが最新版か分からなくなりやすい
- セル単位の変更者が分からない
- 変更内容を比較するのが大変
少人数の簡単な業務であれば使えますが、継続的な履歴管理には向いていません。
「最新版」「最終版」は避ける
例えば、
顧客管理_最新版.xlsx
顧客管理_最新版2.xlsx
顧客管理_最終版.xlsx
顧客管理_最終版修正.xlsx
という運用はおすすめできません。
ファイル名ではなく、日付やバージョン番号を付けた方が明確です。
例えば、
customer_20260729.xlsx
または、
customer_v1.3.xlsx
などです。
方法2.OneDrive・SharePointのバージョン履歴を使う
Microsoft 365を利用している場合、ExcelファイルをOneDriveやSharePointへ保存してバージョン管理する方法があります。
ファイルが更新されるたびに過去の状態が保存されるため、以前のバージョンを確認できます。
バージョン履歴のメリット
- 過去の状態を確認できる
- 誤って上書きした場合に戻せる
- 別名保存を繰り返さなくてよい
- 複数人利用と相性がよい
例えば、
現在
2026/07/29版
過去
2026/07/28版
2026/07/27版
のように確認できます。
バージョン履歴が向いているケース
- Microsoft 365を利用している
- 同じExcelを複数人で共有する
- 誤操作時に元へ戻したい
- ファイル単位で履歴を確認できればよい
バージョン履歴だけでは不足するケース
例えば、
「顧客Aの契約金額を誰が変更したのか」
を業務画面のように簡単に確認したい場合です。
ファイル全体の履歴と、業務データ単位の変更履歴は別物です。
詳細な監査ログが必要なら、別の仕組みを検討します。
方法3.変更履歴シートを作る
Excel内に「変更履歴」というシートを作る方法があります。
例えば、
| 日時 | 担当者 | 対象 | 項目 | 変更前 | 変更後 |
|---|---|---|---|---|---|
| 7/29 10:30 | 田中 | A社 | ステータス | 見積中 | 契約 |
| 7/29 11:15 | 鈴木 | B社 | 担当者 | 田中 | 鈴木 |
という形式です。
手入力で変更履歴を残す方法
担当者がデータ変更時に、変更履歴シートへ記録します。
メリット
- 簡単に始められる
- 理由まで記録できる
- 特別な開発が不要
デメリット
- 履歴記入自体を忘れる
- 入力者に負担がかかる
- 実際の変更内容と履歴が一致しない可能性がある
重要な履歴を人の手入力だけに依存するのは限界があります。
方法4.VBAで変更履歴を自動保存する
Excel VBAを利用すると、セルが変更されたタイミングで履歴を保存する仕組みを作れます。
例えば、
顧客一覧シート
A社
ステータス
見積中 → 契約
と変更したときに、自動で履歴シートへ、
2026/07/29 10:30
対象:A社
項目:ステータス
変更前:見積中
変更後:契約
と記録します。
VBAで保存できる情報
設計次第で、
- 日時
- Windowsユーザー
- シート名
- セル
- 対象ID
- 変更前の値
- 変更後の値
などを保存できます。
VBAによる履歴管理のメリット
- 担当者が履歴を入力しなくてよい
- 自動で記録できる
- 既存Excelを活用できる
- 小規模な業務なら導入しやすい
VBAによる履歴管理の注意点
Excel VBAだけで本格的な監査ログを作るには限界があります。
例えば、
- マクロを無効化される
- 履歴シート自体を編集される
- ファイルコピーごとに履歴が分散する
- MacやWeb版Excelなど利用環境によって制約がある
- VBAコードが複雑になる
といった問題があります。
「参考として変更履歴を残したい」用途には使えますが、厳格な監査が必要なシステムの代わりにはなりません。
方法5.データを上書きしない設計にする
業務によっては、変更履歴を記録するより、
過去データを上書きしない
方が適しています。
特に在庫管理や取引履歴で重要です。
在庫数を直接変更する例
例えば、
現在在庫
100
というセルを、
80
へ直接変更します。
この方法では、
「なぜ20減ったのか」
が分かりません。
入出庫履歴で管理する
代わりに、
7/28 入庫 +100
7/29 出庫 -20
という履歴を記録します。
現在在庫は、
100 - 20 = 80
と計算します。
これなら、
- いつ
- 何個
- なぜ
変化したか確認できます。
金額やステータスでも履歴方式を使える
例えばステータス変更も、
7/01 問い合わせ
7/03 見積中
7/10 契約
と履歴として記録できます。
現在値だけを上書きするより、業務の経緯を確認しやすくなります。
「変更履歴」と「バックアップ」の違い
似ていますが目的が異なります。
バックアップ
データが壊れた場合に復旧するためのものです。
変更履歴
誰がどのように変更したのかを確認するためのものです。
例えば、
昨日のファイルへ戻したい
ならバックアップが重要です。
一方、
この契約金額を誰が変更したのか知りたい
なら変更履歴が必要です。
両方用意することが理想です。
Excelで変更履歴を残すときの項目
最低限、次の項目を検討します。
変更日時
2026/07/29 14:25:32
のように記録します。
変更者
誰が変更したかを残します。
対象データ
例えば、
顧客ID:C000123
など、一意に識別できる情報を利用します。
会社名だけでは名称変更時に分からなくなるため、IDがある方が安全です。
変更項目
例えば、
契約金額
です。
変更前
100,000
変更後
120,000
変更理由
必要な業務では、
追加作業が発生したため
なども記録します。
Excelの変更履歴を削除されないようにするには?
履歴を同じExcel内へ保存している場合、履歴シート自体を削除できてしまう可能性があります。
簡易的には、
- シートを保護する
- 履歴シートを非表示にする
- 編集権限を限定する
などが考えられます。
ただし、Excelファイルを自由にコピーできる環境では、完全な改ざん防止は難しくなります。
厳格な履歴管理が必要な場合は、データベースを利用したWebシステムの方が適しています。
複数人でExcelを使う場合の変更履歴
一人でExcelを管理しているなら、
以前の値へ戻したい
という目的が中心です。
複数人になると、
誰が変更したのか
という情報が重要になります。
例えば、
営業
5人
管理者
2人
で顧客管理をしている場合です。
顧客の担当者やステータスを誰でも変更できるなら、後から変更者を確認したくなる可能性があります。
Excelの変更履歴管理に限界が出やすいケース
次のような条件が増えると、Excel以外の方法を検討する価値があります。
- 利用者が多い
- 頻繁にデータが更新される
- 顧客ごとの履歴を確認したい
- 誰が変更したか必ず残したい
- 変更前と変更後を検索したい
- 変更理由を入力したい
- 権限ごとに操作範囲を分けたい
- 履歴をユーザーが削除できないようにしたい
- 長期間履歴を保存したい
- 外部からも利用したい
このような場合はWebシステム化を検討できます。
Webシステムでは変更履歴をどう管理する?
Webシステムでは、データを変更したタイミングで、データベースへ履歴を保存できます。
例えば顧客情報を、
担当者
田中 → 鈴木
へ変更します。
その際、別の履歴テーブルへ、
日時
2026/07/29 14:30
ユーザー
管理者A
顧客ID
C000123
項目
担当者
変更前
田中
変更後
鈴木
と保存できます。
顧客詳細画面から履歴を確認する
例えば、
株式会社A
基本情報
案件
対応履歴
変更履歴
というタブを作ります。
変更履歴を開くと、
7/29 鈴木
担当者を田中 → 鈴木
7/25 田中
ステータスを見積中 → 契約
7/20 田中
電話番号を変更
と表示できます。
Excelより変更履歴を管理しやすい理由
Webシステムでは、ユーザーがログインして利用します。
そのため、
誰が操作したか
をユーザーIDと紐付けて記録できます。
Excelのファイル名やPCのユーザー名だけに依存する必要がありません。
ログイン履歴も保存できる
必要に応じて、
ログイン日時
ユーザー
IPアドレス
などを記録することもできます。
ただし、保存する情報は目的やプライバシーを考慮して設計します。
削除履歴も残せる
例えば顧客データを削除した場合でも、
2026/07/29
管理者A
顧客C000123を削除
と記録できます。
重要な業務では、完全削除ではなく「無効化」する方法もあります。
変更履歴と操作履歴の違い
変更履歴
データがどう変わったかを記録します。
例えば、
金額
100,000 → 120,000
です。
操作履歴
ユーザーが何をしたかを記録します。
例えば、
CSVを出力
ログイン
PDFを発行
顧客を削除
です。
業務システムでは両方を管理することがあります。
ExcelとWebシステムの履歴管理を比較
| 項目 | Excel | Webシステム |
|---|---|---|
| 過去ファイル確認 | 可能 | 可能 |
| 変更前・変更後 | VBA等で対応 | 実装しやすい |
| 変更者 | 環境による | ユーザーIDで管理 |
| 対象データ単位の履歴 | 工夫が必要 | 管理しやすい |
| 履歴検索 | 難しい | 実装可能 |
| 権限管理 | 限定的 | 詳細に設定可能 |
| 履歴の改ざん防止 | 限界あり | 設計しやすい |
| 複数人利用 | 複雑になりやすい | 向いている |
ExcelからWebシステム化する判断基準
次の項目が複数当てはまる場合は、Webシステム化を検討できます。
- Excelを5人以上で頻繁に編集している
- 顧客や案件の変更者を確認したい
- 重要な金額を管理している
- 操作履歴が必要
- 権限を細かく分けたい
- VBAで履歴管理が複雑になっている
- ファイルが複数に分かれている
- 過去データの検索に時間がかかる
人数や件数だけで判断する必要はありません。
変更履歴が業務上どれだけ重要かで判断します。
変更履歴を残す前に考えたいこと
本当にすべてのセル変更を記録する必要があるか
例えば、
列幅を変更
まで記録する必要は通常ありません。
重要なのは、
- 金額
- ステータス
- 担当者
- 契約内容
- 在庫
など、業務上重要な変更です。
変更理由まで必要か
単純な電話番号修正なら不要でも、契約金額変更なら理由が必要かもしれません。
どのくらい保存するか
すべての変更履歴を永久保存する必要があるとは限りません。
業務上の必要期間を決めます。
誰が履歴を見られるか
一般社員全員が変更履歴を見る必要があるのか、管理者だけでよいのか確認します。
Excelの変更履歴管理で失敗しやすいケース
履歴を手入力に頼る
重要な変更でも記録を忘れる可能性があります。
履歴シートも自由に編集できる
後から内容を書き換えられるため、履歴の信頼性が低くなります。
ファイルごとコピーする
顧客管理A.xlsx
顧客管理B.xlsx
に分かれると、変更履歴も別々になります。
現在値だけを上書きする
在庫やステータスの経緯が必要なら、履歴形式で記録した方が適しています。
すべての変更を記録しすぎる
不要なログが大量に残ると、本当に確認したい変更を探しにくくなります。
変更履歴だけでバックアップを取らない
履歴とバックアップは目的が異なります。
重要なファイルでは両方を考えます。
hiro-dev-labのExcel変更履歴・業務システム化支援
hiro-dev-labでは、中小企業向けに、Excelで管理している業務データの履歴管理やWeb化を支援しています。
対応内容の例は次のとおりです。
- Excel管理方法の整理
- OneDriveを前提とした共有方法の整理
- Excel変更履歴シートの作成
- VBAによる変更ログ
- 更新日時の自動記録
- 変更者の記録
- Excelデータの一元化
- Web管理画面への移行
- 操作履歴
- 変更前・変更後の保存
- ログイン履歴
- 権限管理
- 顧客・案件ごとの履歴表示
- CSV出力履歴
- PDF発行履歴
最初からWebシステムを開発する必要はありません。
例えば、
現在
共有Excelを複数人で編集
第1段階
OneDriveでファイルを一元化
第2段階
重要項目だけ変更履歴を記録
第3段階
VBAで履歴を自動化
第4段階
必要ならWebシステムへ移行
という段階的な改善も可能です。
一方、
- 利用者が多い
- 重要なデータを扱う
- 誰が何を変更したか確実に残したい
- 権限管理が必要
という場合は、Excelに機能を追加し続けるより、Webシステムへ移行した方が管理しやすいことがあります。
千葉市内では、必要に応じて対面で現在のExcelや業務フローを確認できます。
オンラインであれば、千葉県内・全国から相談可能です。
Excelの変更履歴に関するよくある質問
Excelで以前の状態へ戻せますか?
OneDriveやSharePointなどでバージョン履歴を利用していれば、過去の状態へ戻せる場合があります。
誰がセルを変更したか記録できますか?
利用環境や方法によります。
VBAで変更者を記録する仕組みを作る方法もあります。
変更前と変更後の値を残せますか?
VBAや専用システムを利用して記録できます。
変更履歴を別シートへ自動保存できますか?
VBAを使って実装できる場合があります。
履歴シートを編集できないようにできますか?
シート保護などで制限できます。
ただし、厳格な改ざん防止が必要ならExcel以外の方法も検討します。
在庫数の変更履歴を残せますか?
単純なセル上書きより、入庫・出庫履歴として記録し、現在在庫を計算する方法が適しています。
顧客情報の変更履歴を残せますか?
担当者、ステータス、電話番号などの変更を記録できます。
複数人で使う場合も履歴管理できますか?
可能ですが、利用人数や重要度が増えるほどWebシステムの方が管理しやすくなります。
Webシステムでは誰が変更したか分かりますか?
ログインユーザーと変更内容を紐付けて保存できます。
ExcelのデータをそのままWebシステムへ移せますか?
現在のデータを整理し、データベースへ移行できる場合があります。
誰が何を変更したか分からず困っている方へ
Excelでは簡単にデータを書き換えられます。
少人数で利用するうちは便利ですが、複数人で重要なデータを扱うようになると、
- 誰が変更したか分からない
- 変更前の値が分からない
- なぜ変更したか分からない
- 誤操作しても気づけない
- 過去の状態を探すのに時間がかかる
といった問題が発生します。
まずは、
OneDrive・SharePoint
↓
バージョン履歴
など、現在利用している環境で改善できないか確認します。
さらに詳細な履歴が必要なら、
Excel
↓
VBAによる変更ログ
という方法があります。
それでも運用が複雑になる場合は、
Webシステム
↓
ログインユーザー
↓
変更内容を自動記録
という形へ移行できます。
hiro-dev-labでは、現在のExcelと「どこまで履歴を残す必要があるか」を確認し、
Excel改善・VBA・Webシステムの中から、業務規模に合った変更履歴管理を提案・実装します。
Excelの変更履歴管理・Webシステム化について相談する