目次
はじめに
Excelで「あるセルに文字が入力されたら、自動で日付を表示したい」という場面は意外と多くあります。
今回は、A列に名前やデータを入力したら、B列にその日の日付が自動で表示されるようにしたいという要望があり、
その方法を調べて実装してみました。
実現したいこと
以下のような動きをExcel関数で実現したいと考えました:
- A列に何かしらの文字が入力されたら、その日の日付をB列に表示する
- A列が空白のままであれば、B列にも何も表示しない
使用する関数:IF関数とTODAY関数の組み合わせ
実際に使用した関数は以下のとおりです。
=IF(A1<>"", TODAY(), "")
この数式を、たとえばセルB1に入力します。
すると、セルA1に文字が入力されている場合には、**今日の日付(=TODAY)**が表示され、
A1が空白の場合には、何も表示されません(空文字)。
数式の構造を解説
A1<>""
→ セルA1が「空でない」ことを意味します。つまり、何かしらの文字や値が入っているかどうかの判定です。TODAY()
→ 今日の日付を返す関数です。時間ではなく、日付のみが表示されます。IF(条件, 真のときの値, 偽のときの値)
→ 今回は「A1に値があるときは今日の日付、それ以外は空白」となるように設定しています。
注意点と補足
TODAY()
はファイルを開くたびに日付が更新されるため、「記入した当日の日付を固定したい」といった場合には不向きです。- 書き込んだ日付を固定したい場合には、VBAを使って記入時点の日付を自動で入力する仕組みを作るのが望ましいです。
- しかし、「あくまで記入済みかどうかのチェックを視覚的に行いたい」用途であれば、今回の関数だけで十分です。
まとめ
Excelでは、IF
関数とTODAY
関数を組み合わせるだけで、簡単に「入力されたら日付が出る」仕組みを作ることができます。
業務の記録、出席管理、申請チェックなど、さまざまな場面で活用できる便利な方法です。
数式ひとつでできる軽量な手法ですので、ぜひ試してみてください。
少しでも参考になれば幸いです。