スプレッドシートを使っていると、「いつそのデータを入力したのか?」という疑問が浮かぶことがありますよね。特に、タスク管理や進捗確認をしているときには、データが更新された日時を記録しておくと便利です。そこで今回は、Googleスプレッドシートで「タイムスタンプ」を自動で入力する方法を、初心者の方でもわかりやすく解説します。
目次
タイムスタンプって何?
タイムスタンプとは、あるデータが「いつ入力されたのか」「いつ更新されたのか」を記録するための日時情報のことです。例えば、タスク管理のシートで「進捗状況」を更新したとき、その日時を自動で記録しておくと、後から「いつその情報が更新されたのか」が一目でわかります。
タイムスタンプを自動で入力する方法
タイムスタンプを自動で入力する方法は、大きく分けて2つあります。
Google Apps Script(GAS)を使う方法
Google Apps Script(GAS)を使うと、特定のセルが編集されたときに、その行の別のセルに自動で日時を入力することができます。例えば、タスクの「進捗状況」列が編集されたら、その行の「更新日時」列に現在の日時を自動で入力することができます。
以下のようなコードをスクリプトエディタに入力することで実現できます。
javascript
function onEdit(e) {
var sheet = e.source.getActiveSheet();
var range = e.range;
var col = range.getColumn();
var row = range.getRow();
// 編集された列が「進捗状況」列(例B列)の場合
if (col == 2) {
var timestampCell = sheet.getRange(row, 3); // 「更新日時」列(例C列)
timestampCell.setValue(new Date());
}
}
このコードは、B列が編集されたときに、その行のC列に現在の日時を自動で入力します。
関数を使う方法
GASを使わずに、スプレッドシートの関数だけでタイムスタンプを実現する方法もあります。例えば、以下のような関数を使います。
excel
=IF(B2<>"", IF(="", NOW(), ), "")
この関数は、B2セルが空でないときに、セルが空であれば現在の日時を入力し、すでに日時が入力されていればそのままにします。これにより、B2セルが編集されると、セルに日時が入力されます。
ただし、この方法では、スプレッドシートを再計算するたびに日時が更新されてしまうため、注意が必要です。
このサイトをチップで応援
タイムスタンプを活用するメリット
タイムスタンプを活用することで、以下のようなメリットがあります。
- 進捗の追跡が容易になるタスクがいつ更新されたのかがわかるため、進捗状況を把握しやすくなります。
- 履歴管理がしやすくなる過去の変更履歴を確認することで、どのような変更が行われたのかを遡って確認できます。
- 作業の透明性が向上するチームでの作業の場合、誰がいつ何を更新したのかが明確になり、コミュニケーションが円滑になります。
よくある質問や疑問
Q1: GASを使わずにタイムスタンプを入力する方法はありますか?
はい、関数を使ってタイムスタンプを入力する方法があります。例えば、`=IF(B2<>“”, IF(=””, NOW(), ), “”)`のような関数を使うことで、B2セルが編集されたときにセルに日時を入力することができます。ただし、この方法ではスプレッドシートを再計算するたびに日時が更新されてしまうため、注意が必要です。
Q2: タイムスタンプを入力する列を変更することはできますか?
はい、スクリプト内のコードや関数内のセル参照を変更することで、タイムスタンプを入力する列を変更することができます。例えば、`sheet.getRange(row, 3)`の部分を変更することで、別の列にタイムスタンプを入力することができます。
Q3: タイムスタンプを入力するタイミングを変更することはできますか?
はい、スクリプト内の条件を変更することで、タイムスタンプを入力するタイミングを変更することができます。例えば、`if (col == 2)`の部分を変更することで、別の列が編集されたときにタイムスタンプを入力することができます。
まとめ
Googleスプレッドシートでタイムスタンプを自動で入力する方法には、GASを使う方法と関数を使う方法があります。どちらの方法も、タスク管理や進捗確認を行う際に非常に便利です。自分の用途に合わせて、適切な方法を選んで活用してみてください。
他にも疑問やお悩み事があれば、お気軽にLINEからお声掛けください。



コメント