日常業務でスプレッドシートにタスクや作業ログを入力するとき、こんな「地味なストレス」を感じていませんか?
- タスクを入力した後に、わざわざ
Ctrl + ;を押して日付を入力するのが面倒… - 日時を打ち忘れてしまい、「これ、いつ入力したデータだっけ?」と後から確認に手間取る…
今回は、「B列にテキストを入力した瞬間に、A列へ現在日時(2026/08/12 09:30)が全自動で記録されるGASスクリプト」を解説します!
Before / After(どれくらい楽になる?)
| 項目 | これまでの手順(Before) | GAS導入後(After) |
|---|---|---|
| 操作手順 | 1. B列にタスクを入力 2. A列を選択 3. Ctrl + ;(日付)4. Ctrl + Shift + :(時刻) |
1. B列にタスクを入力してEnter! (A列に日時が全自動で挿入されます) |
| 手間・ストレス | 1入力あたり3〜5秒。押し忘れや表記ブレ頻発 | 0秒!入力漏れ・押し忘れが完全ゼロに |
| 削減時間 | 1日30回入力 ➔ 1ヶ月で約45分の無駄時間 | 月45分の時間短縮&ストレス軽減 |
【コピペでOK】完成コード
以下のコードを、スプレッドシートのスクリプトエディタにそのまま貼り付けるだけで動きます。
/**
* スプレッドシート編集時に自動実行されるシンプルトリガー関数
* B列に値が入力されたら、同じ行のA列に現在日時を自動記入します。
*/
function onEdit(e) {
if (!e) return;
const range = e.range;
const sheet = range.getSheet();
// ──【設定項目】ご自身のシート名に合わせて変更してください ──
const TARGET_SHEET_NAME = "シート1"; // 対象シート名
const TARGET_COLUMN = 2; // 対象列(2 = B列)
const DATE_COLUMN = 1; // 日時を出力する列(1 = A列)
const START_ROW = 2; // 開始行(2 = 2行目以降、見出し除外)
// ──────────────────────────────────────────────
if (
sheet.getName() === TARGET_SHEET_NAME &&
range.getColumn() === TARGET_COLUMN &&
range.getRow() >= START_ROW &&
e.value !== undefined &&
e.value !== ""
) {
const targetCell = sheet.getRange(range.getRow(), DATE_COLUMN);
if (targetCell.getValue() === "") {
const now = new Date();
const formattedDate = Utilities.formatDate(
now,
Session.getScriptTimeZone(),
"yyyy/MM/dd HH:mm:ss"
);
targetCell.setValue(formattedDate);
}
}
}
設定手順(わずか3ステップ!)
Step 1 スクリプトエディタを開く
スプレッドシート上部のメニュー「拡張機能」➔「Apps Script」をクリックします。
Step 2 コードを貼り付ける
表示されている初期コードを消し、上記の完成コードをそのまま貼り付けます。12行目の "シート1" をご自身のシート名に変更してください。
Step 3 保存する(実行不要!)
上部のフロッピーディスクアイコン(Ctrl + S)を押して保存します。セル編集時に勝手に動くため、初回権限の承認ボタンのクリックも不要です。
まとめ
今回は、GAS超初心者でもすぐに使える「タイムスタンプ自動記録スクリプト」をご紹介しました。手動入力の地味な手間を削るだけで、日々の業務効率は確実にアップします。ぜひご自身のシートに組み込んで使ってみてください!
