Googleスプレッドシート:編集履歴を自動記録 1
- egachira0250

- 9月14日
- 読了時間: 3分
更新日:9月27日
チームや業務で使うGoogleスプレッドシートほど、「誰がいつどこを編集したか」が曖昧になりやすいものです。標準機能のバージョン履歴では後から探す手間がかかり、監査やトラブル対応には不十分。
そこでGoogle Apps Script(GAS)を活用し、編集イベントをトリガーにセル単位で変更履歴を自動記録する仕組みを設計します。
■ 動作環境
OS:Windows 10 Home(64ビット)
Chrome:140.0.7339.208(Official Build) (64 ビット)
■ 編集履歴自動記録のアプローチ比較
本シリーズでは、導入の手軽さとカスタマイズ性を両立できる「GASによるログ記録」を代表手法として解説していきます。
■ GASでの編集ログ自動記録の基本設計
4-1. 全体フロー
ユーザーがセルを編集
onEdit(e) トリガーが発火
編集情報を取得
「ログ用シート」に1行ずつ追記
4-2. ログ用シートのカラム設計
4-3. 最小コード例
解説:使用する主なクラス・メソッド
onEdit(e):ユーザー操作によるセル編集時に自動実行されるトリガー関数。
e.range:編集されたセルの Range オブジェクト。getA1Notation() で位置を文字列取得。
e.value / e.oldValue:編集後/編集前のセル値。複数セル編集時は oldValue 未定義となる場合がある。
Session.getActiveUser().getEmail():編集者のメールアドレスを取得(Workspace 環境前提)。取得不可時は 'UNKNOWN' を補填。
Sheet.appendRow():指定シートに配列を1行として追記。
■ さいごに
今回は「GASによる変更履歴自動記録」の全体像と基本システム設計を解説しました。次回は、標準機能のバージョン履歴とGASログ記録を比較し、使い分けポイントを詳しく見ていきます。
「どこまでGASでカバーすべき?」を明確にする第2回をお楽しみに!

コメント