Menu

TODAY関数とNOW関数の使い方: 今日の日付、現在時刻、カウントダウン

=TODAY()は今日の日付を、=NOW()は現在の日付と時刻を返し、どちらもシートが再計算されるたびに更新されます。ある日付までの日数の数え方と、Ctrl+;で変わらない日付を入れる方法を学びます。

このページのシートはすべて実際に動きます。数値や数式を変えると再計算されます。

=TODAY()は今日の日付を、=NOW()は現在の日付と時刻を返します。どちらも引数を取らず、ブックが再計算されるたびに更新されるので、今日見えている値は明日には違うものになります。変わらない日付が必要なら、代わりにCtrl+;(MacではControl+;)を押します。

今日の日付と現在の時刻
A2
AB
1TODAYNOW
22026-10-042026-10-04 9:22
セルをクリックすると数式が見えます。数値や数式を変えると、シートが再計算されます。

上のシートは、ページが読み込まれたときの日付と時刻を表示しています。シートが再計算されるたびにNOWは現在の分に進み、TODAYは1日に1回、午前0時にだけ変わります。かっこは必須です。かっこのない=TODAYは#NAME?を返します。

ある日付までの日数

TODAY()はほかの日付と同じく日数の数値なので、引き算すればカウントダウンになります。=B2-TODAY()はB2の日付までの残り日数、=TODAY()-B2はその日付からの経過日数です。

各期限までの残り日数
C2
ABCD
1TaskDeadlineDays leftStatus
2Report2026-12-3188Open
3Audit2027-03-15162Open
4Budget2025-11-30-308Overdue
セルをクリックすると数式が見えます。数値や数式を変えると、シートが再計算されます。

C列の数は毎日1ずつ減ります。Budgetの期限は過ぎているので、その日数はマイナスになり、状態はOverdueと表示されます。残りの営業日数を数えるなら=NETWORKDAYS(TODAY(),B2)を使います(NETWORKDAYSとWORKDAYを参照)。

ほかの数式の中でTODAYを使う

数式が日付を必要とする場所なら、どこでもTODAY()をその日付にできます。今年、今月の月末、30日後の日付、誰かの年齢(年齢の計算)などです。

今日から作る日付
B4
AB
1WhatFormula
2Year2026
3Month10
4End of this month2026-10-31
5In 30 days2026-11-03
6First of this month2026-10-01
セルをクリックすると数式が見えます。数値や数式を変えると、シートが再計算されます。

B5は毎日動き、B3、B4、B6は毎月1日に、B2は1月1日に動きます。-1を指定したEOMONTHは前月の末日を返すので、1を足すと今月の1日になります。

日付なしの現在時刻

NOW()は日付を整数部分に、時刻を小数部分に持っています。正午は1日の.5です。=MOD(NOW(),1)は小数部分、つまり時刻だけを残します。セルの表示形式をh:mmにすれば時刻として見え、ラベルにするならTEXTを使います。

時刻だけ
A2
ABC
1TimeAs textHour
29:229:229
セルをクリックすると数式が見えます。数値や数式を変えると、シートが再計算されます。

A2は時刻として表示された数値(1日の端数)なので、時間の計算に使えます。B2は文字列なので使えません。C2は0から23までの整数で表した時です。

変わらない日付や時刻を入れる

注文の記録や署名済みの書類のように、何かが起きた日時を記録するものにTODAYやNOWは向きません。明日になると、どの行も明日の日付を表示してしまうからです。代わりに固定の値を入力します:

入力するものWindowsMac
今日の日付Ctrl+;Control+;
現在の時刻Ctrl+Shift+;Command+;
日付と時刻Ctrl+;、Space、Ctrl+Shift+;Control+;、Space、Command+;

すでに入っている数式を固定するには、セルをコピーして、ホーム > 貼り付け > 値の貼り付けを選びます(Windows: Ctrl+Alt+Vの後VとEnter、Mac: Control+Command+Vの後「値」)。数式は、その時点で表示していた日付に置き換わります。

練習: 固定の日付で残り日数を出す

練習用に、下のシートではTODAY()の代わりにE2の固定の「基準日」を使っているので、答えは毎日同じです。自分のブックでは、この数式がE2を読んでいるところにTODAY()と書きます。

やってみよう
C2
ABCDE
1TaskDeadlineDays leftAs of
2Launch2026-11-202026-10-01
セルをクリックすると数式が見えます。数値や数式を変えると、シートが再計算されます。

やってみよう: C2に、E2の日付からB2の期限まで、残り何日かを計算してください。

TODAYとNOWが変わり続ける理由

TODAY、NOW、RAND、OFFSETは揮発性関数です。Excelはブックのどこかが変わるたび、ファイルを開いたとき、F9を押したときに、これらを再計算します。それがカウントダウンを最新に保つしくみですが、副作用が2つあります:

  • 見ただけのファイルを閉じるときに、Excelが変更を保存するか聞いてきます。揮発性のセルが再計算されたからです。
  • TODAY()のセルが何千もある大きなブックは遅くなることがあります。=TODAY()は$H$1のような1つのセルに置き、ほかの数式はそこを参照してください。

表示される日付が間違っているなら、パソコンの時計を確かめてください。TODAYはシステムの日付を読みます。更新されないなら、ブックが手動計算になっているかもしれません。数式 > 計算方法の設定 > 自動を選んでください。

よくある質問

Excelで今日の日付を入れるには?

毎日更新される日付なら=TODAY()と入力し、二度と変わらない固定の値としての今日の日付ならCtrl+;(MacではControl+;)を押します。

ExcelのTODAYとNOWの違いは何ですか?

=TODAY()は日付だけを日数の整数で返します。=NOW()は日付と現在の時刻を返し、時刻は小数部分になります。どちらもブックが再計算されるたびに再計算されます。

Excelである日付までの日数を計算するには?

その日付から今日を引きます:=B2-TODAY()。結果は毎日1ずつ減り、その日付を過ぎるとマイナスになります。

TODAY()が変わらないようにするには?

数式そのものを止めることはできませんが、値に置き換えることはできます。セルをコピーして、ホーム > 貼り付け > 値の貼り付けを選びます。または最初からCtrl+;で日付を入力します。

Excelで現在の時刻を入れるには?

固定の値としての時刻ならCtrl+Shift+;(MacではCommand+;)を押します。数式なら、=NOW()が日付と時刻を、=MOD(NOW(),1)が時刻だけを返します。表示形式はh:mmにします。

Coddyのプログラミング言語のイラスト

Coddyでコードを学ぼう

始める