Excel日付自動入力の極意!関数とショートカットの使い分け徹底解剖

Excel日付自動入力の極意!関数とショートカットの使い分け徹底解剖

Excel日付自動入力の極意!関数とショートカットの使い分け徹底解剖に関する主要なデータを丁寧に解説いたします。

日々の案件管理やタスク表で、「ステータスを『完了』に変更した瞬間、その横のセルに完了日を自動で刻印したい」というニーズは非常に高いです。しかし通常のTODAY関数を使うと翌日に日付が変わってしまい、手入力では漏れが生じます。ここで役立つのが、Excel文字入力時に日付を自動反映させる高度なアプローチです。

1つ目の手法は、Excelの標準機能である「反復計算」を活用した数式ハックです。通常、自分自身のセルを参照する計算式は循環参照エラーとなりますが、Excelの「ファイル」>「オプション」>「数式」から「反復計算を行う(最大反復回数: 1)」にチェックを入れることで、以下のような条件式が機能するようになります。

=IF(B2="","",IF(C2<>"",C2,TODAY()))

この数式をC2セルに配置すると、B2セルに文字が入力された瞬間に現在日付が入り、以降は自分自身のセル値を保持し続けるため、翌日になっても日付が書き換わりません。アドインや特別なプログラムを使わずに実装できる軽量な裏技として重宝されます。

2つ目の手法が、信頼性と保守性に優れたExcel日付自動入力マクロVBAによる制御です。シートの変更イベント(Worksheet_Change)を検知して日付を書き込むため、計算設定に依存せず堅牢なタイムスタンプを実現できます。対象シートのコードウィンドウに以下の数行を記述するだけで動作します。

Private Sub Worksheet_Change(ByVal Target As Range) Dim r As Range ' B列(2列目)が更新された場合にC列へ日付を記録 For Each r In Target If r.Column = 2 And r.Row > 1 Then If r.Value <> "" Then If r.Offset(0, 1).Value ="" Then r.Offset(0, 1).Value = Date End If End If End If Next r End Sub

このVBAコードを組み込めば、B列に作業担当者名や進捗内容を入力した瞬間に、C列へ確定日付がシリアル値として自動入力されます。入力の手間をゼロにしながら、改ざんや誤更新の余地を排除したExcel日付自動入力2026年最新手順の決定版と言えます。

林 結菜
著者

林 結菜

エンタメ・カルチャー業界の深掘り取材を得意とし、現場のリアルな声をお伝えします。