Article

Excelの変更履歴を管理する方法|誰が・いつ更新したかを残す方法

「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の変更履歴を管理する方法

主な方法は次のとおりです。

  1. ファイル名を分けて保存する
  2. OneDrive・SharePointのバージョン履歴を使う
  3. 変更履歴用シートを作る
  4. VBAで変更内容を自動記録する
  5. データを直接上書きしない設計にする
  6. 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システムの履歴管理を比較

項目ExcelWebシステム
過去ファイル確認可能可能
変更前・変更後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システム化について相談する

Contact

お問い合わせ

システム導入、Webアプリ開発、AI導入、業務委託での開発支援などのご相談を受け付けています。

要件が固まっていなくても大丈夫です。使う方・運用する方の視点で整理し、分かりやすく進めます。

まずはお気軽にお問い合わせください。