「資料に今日の日付を自動的に入れておきたい」「今の時刻まで正確に記録したい」と思ったとき、Excelで非常に便利なのが「TODAY(トゥデイ)関数」と「NOW(ナウ)関数」です。
どちらも「現在の日時」を出す関数ですが、なんとなく似ているため、どちらを使えばいいのか迷ってしまう方も多いのではないでしょうか。また、関数を使ったことで「明日ファイルを開いたら日付が変わっていた!」と焦った経験があるかもしれません。
この記事では、Excel初心者の方に向けて、TODAY関数とNOW関数の具体的な使い方と決定的な違い、そして実務で役立つ応用テクニックについて、詳しく丁寧に解説します。
TODAY関数とNOW関数の基本的な使い方
まずは、それぞれの関数の基本的な書き方(構文)を見ていきましょう。
TODAY関数の使い方
TODAY関数は、その日の「日付」だけを表示させたいときに使用します。
【入力方法】 セルに以下のように入力してEnterキーを押してください。 `=TODAY()`
この関数には「引数(ひきすう)」と呼ばれるカッコの中に入れる指定値が不要です。そのため、単純に`()`を付けて入力するだけで、今日の日付が表示されます。
NOW関数の使い方
NOW関数は、「日付」に加えて「現在の時刻」までを表示させたいときに使用します。
【入力方法】 セルに以下のように入力してEnterキーを押してください。 `=NOW()`
TODAY関数と同様にカッコの中は空欄で大丈夫です。入力すると、「2026/9/16 14:30」のように、日付と時刻がセットで表示されます。
【決定的な違い】TODAYとNOW、どっちを使うべき?
結論から言うと、違いは「時刻の情報を持っているかどうか」です。
機能の対比まとめ
- TODAY関数:今日の日付のみを返す。時刻の情報は持っていません。
- NOW関数:今日の日付 + 現在の時刻を返す。
「英単語の意味を考えれば簡単」と言われる通り、TODAYは「今日」、NOWは「今」を指しています。
表示形式による「見かけ上の違い」に注意
ここで一つ注意したいのが、Excelの「セルの表示形式」です。
例えば、セルの設定を「日付のみ(yyyy/m/d)」にしている場合、TODAY関数を入れてもNOW関数を入れても、画面上には同じ「2026/9/16」としか表示されません。このため、「2つの関数に違いがない」と感じてしまうことがありますが、内部的にはNOW関数が時刻データを持っています。
逆に、NOW関数で求めた結果から「時刻だけを表示したい」場合は、セルの表示形式を「時刻」に切り替えることで、時間だけを抽出して表示させることが可能です。
【重要】関数を使う前に知っておきたい「自動更新」の性質
TODAY関数やNOW関数を使う上で、最も気をつけなければならないのが「自動的に更新される」という点です。
これらの関数は、ファイルを開いたときや、何らかの操作をして再計算が行われたときに、その時点での最新の日付・時刻に書き換わります。
「作成日」に使うと失敗する理由
例えば、資料の「作成日」の欄にTODAY関数を入れて保存したとします。作成した当日は正しい日付が表示されますが、翌日にそのファイルを開くと、日付は「翌日の日付」に自動的に更新されてしまいます。
つまり、「その時点での日付を固定して記録したい」という用途には、関数は不向きなのです。
日付を固定して入力する方法(ヒント)
もし「今日の日付をそのまま固定して残したい」場合は、関数を使わずに以下の方法を検討してください。
- 直接手入力する
- ショートカットキーを活用する
(TODAY関数と同じ役割を持つショートカットキーが存在し、それを利用することで「値」として日付を確定させることができます)
実務で役立つ!TODAY・NOW関数の応用活用術
単に日付を表示させるだけでなく、他の関数と組み合わせることで、業務効率を劇的に向上させることができます。
1. 「締め切りまであと何日か」を計算する
TODAY関数は、日付の計算に非常に便利です。Excelでは日付を内部的に「シリアル値」という数値で管理しているため、単純な引き算が可能です。
例えば、セルA1に「締め切り日」が入っている場合、 `=A1 – TODAY()` という数式を入れることで、「締め切りまであと〇日」という日数を自動で算出できます。
2. DATEDIF関数と組み合わせて「年数」を出す
「入会日から今日までで何年経ったか」などの期間を求めたい場合は、DATEDIF(デイトディフ)関数とTODAY関数を組み合わせるのが定番です。
【数式の例】 `=DATEDIF(入会日のセル, TODAY(), "Y")`
このように指定することで、今日時点での経過年数を自動的に計算してくれます。わざわざ毎年手書きで修正する必要がなくなり、管理が非常に楽になります。
3. NOW関数で「受付終了」を判定する
NOW関数を使えば、日付だけでなく「時間」に基づいた判定が可能です。
例えば、申し込みの締め切り時刻を厳密に管理したい場合、以下のようなIF関数を組み合わせる方法があります。 `=IF(締切日時 < NOW(), "受付終了", "申込可")`
このように設定しておけば、現在時刻が締め切りを1秒でも過ぎた瞬間に、表示が「受付終了」に切り替わるという仕組みを作ることができます。
トラブルシューティング:数字(シリアル値)が表示されたら?
関数を入力したのに、「45551」のような見慣れない数字が表示されてしまったことはありませんか? これは故障ではなく、Excelの仕様です。
シリアル値とは?
Excelは日付や時刻を、1900年1月1日を「1」とした連番(シリアル値)で管理しています。本来であれば自動的に「日付形式」に変換されますが、セルの設定が「標準」になっていると、内部的な数値がそのまま表示されてしまいます。
解決方法
この場合は、以下の手順で「表示形式」を変更してください。
- 数字が表示されているセルを右クリックする。
- 「セルの書式設定」を選択する。
- 「表示形式」タブの「分類」から「日付」を選択し、好きな形式(例:2026/3/14)を選んでOKを押す。
これで、正しく日付として表示されるようになります。
まとめ:シーンに合わせた使い分けを
TODAY関数とNOW関数は、どちらも非常にシンプルで使いやすい関数ですが、その性質を正しく理解して使い分けることが大切です。
- 日付だけで十分なら $\rightarrow$ `TODAY()`
- 時刻まで正確に管理したいなら $\rightarrow$ `NOW()`
- 「保存したときの日付」を固定したいなら $\rightarrow$ 関数ではなく手入力やショートカットを!
「自動で更新される」という特性を活かせば、日次レポートや期限管理表などの作成時間が大幅に短縮されます。ぜひ、今日からあなたのExcelシートに取り入れてみてください。
ピックアップ記事



