「期限日まであと何日だっけ?」と毎回カレンダーを見て数えていませんか?
手作業で日付を入力すると、更新を忘れてしまうこともありますよね。
GoogleスプレッドシートのTODAY関数を使えば、今日の日付を自動で表示できます。期限管理や日数計算もラクになりますよ。
この記事では、TODAY関数の基本から応用テクニックまで解説します。
TODAY関数とは|スプレッドシートで今日の日付をセルに自動表示する関数
TODAY関数は、今日の日付を自動で返す関数です。読み方は「トゥデイ関数」。
ファイルを開くたびに日付が自動更新されます。手入力のように古い日付が残る心配がありません。
期限管理や日数計算の基準日として、ビジネスシーンでよく使われます。
基本の使い方と入力方法
TODAY関数の構文はとてもシンプルです。
=TODAY()
引数(カッコの中に入れる値)は不要です。カッコの中は空のまま入力してください。
セルに =TODAY() と入力してEnterを押すだけ。これで今日の日付が表示されます。
もし日付ではなく「46098」のような数値が表示される場合は心配いりません。表示形式の設定を変えるだけで直ります。
該当セルを選択して、メニューの「表示形式」→「数字」→「日付」を選んでください。
TODAY関数が返すのは「シリアル値」という数値です。スプレッドシートは日付を内部的に数値で管理しています。表示形式を「日付」にすると、見慣れた日付表記になりますよ。
TODAY関数で日数計算する方法
TODAY関数の真価は、日数計算と組み合わせたときに発揮されます。日付はシリアル値(数値)なので、足し算・引き算がそのままできます。
今日から〇日後・〇日前を求める
〇日後を求めるには、TODAY()に日数を足します。
=TODAY()+7
この数式で、今日から7日後の日付が表示されます。
〇日前を求めるには、日数を引くだけです。
=TODAY()-30
これで30日前の日付がわかります。直近1ヶ月のデータを抽出するときなどに便利ですよ。
期限まであと何日かを表示する(残り日数カウント)
期限日からTODAY()を引けば、残り日数がわかります。
A1セルに期限日が入っている場合の数式はこちらです。
=A1-TODAY()
結果がマイナスなら期限超過、0なら当日、プラスなら期限前です。
結果が日付形式で表示されてしまう場合は、表示形式を「数値」に変更してください。
TODAY関数とNOW関数の違い
TODAY関数と似た関数にNOW関数があります。この2つの違いを整理しておきましょう。
日付だけ vs 日付+時刻
| 比較項目 | TODAY() | NOW() |
|---|---|---|
| 返す値 | 日付のみ(例: 2026/03/19) | 日付+時刻(例: 2026/03/19 14:30) |
| 内部表現 | 整数のシリアル値 | 小数を含むシリアル値 |
| 主な用途 | 期限管理・日数計算 | タイムスタンプ・経過時間 |
TODAY()は日付だけを返します。一方、NOW()は現在時刻も含めて返します。小数部分が時刻を表していますよ。
どちらを使うべきか判断基準
迷ったときは、次の基準で選んでみてください。
- TODAY関数が向いている場面: 期限管理、残り日数の計算、日付の比較
- NOW関数が向いている場面: 作業ログのタイムスタンプ、経過時間の計算
日数計算にNOW関数を使うと、時刻の端数が影響します。日単位の計算にはTODAY関数を使いましょう。
月初・月末を自動取得する応用テクニック
TODAY関数を他の関数と組み合わせると、月初や月末の日付も自動取得できます。月次レポートの期間指定などに活用できますよ。
月初(1日)を取得するDATE関数との組み合わせ
当月1日を取得するには、DATE関数の使い方と組み合わせます。
=DATE(YEAR(TODAY()),MONTH(TODAY()),1)
ちょっとむずかしく見えますが、やっていることはシンプルです。
YEAR(TODAY()): 今年の「年」を取り出すMONTH(TODAY()): 今月の「月」を取り出す- 最後の
1: 「1日」を指定
この3つをDATE関数でつなげて、当月1日の日付を作っています。
翌月1日を取得したい場合は、MONTHに1を足すだけです。
=DATE(YEAR(TODAY()),MONTH(TODAY())+1,1)
12月でも自動で翌年1月になるので安心してください。
EOMONTH関数と組み合わせて月末日を求める
月末日の取得にはEOMONTH関数が便利です。
=EOMONTH(TODAY(),0)
第2引数の0は「当月」を意味します。1にすると翌月末、-1にすると先月末が返ります。
月末日は月によって28〜31日と変わりますよね。EOMONTH関数なら、うるう年の2月29日も自動で判定してくれます。
条件付き書式と組み合わせて期限切れを自動ハイライト
TODAY関数の実務的な活用として特におすすめなのが、条件付き書式との組み合わせです。期限切れのセルを自動で赤くできます。
設定手順ステップ解説(今日以前の日付を赤くする)
期限日が入ったA列を自動ハイライトする手順を解説します。
ステップ1: 対象範囲(例: A2:A100)を選択する
ステップ2: メニューから「表示形式」→「条件付き書式」を選ぶ
ステップ3: 「書式ルール」のプルダウンで「カスタム数式」を選ぶ
ステップ4: 数式欄に以下を入力する
=$A2<TODAY()
ステップ5: 書式スタイルで背景色を赤系に設定して「完了」を押す
これで期限切れの行が自動で赤くなります。ファイルを開くたびにTODAY()が更新されるので、常に最新の状態が反映されますよ。
応用として、期限が近い行を黄色にすることもできます。「3日以内に期限が来る」場合の数式はこちらです。
=AND($A2>=TODAY(),$A2<=TODAY()+3)
赤(期限切れ)と黄色(期限間近)を組み合わせると、タスク管理がぐっと見やすくなります。
TODAY関数が毎回再計算される理由|揮発性関数とは
TODAY関数には1つ注意点があります。ファイルを開くたびに値が変わるという点です。
ファイルを開くたびに更新される仕組み
TODAY関数は揮発性関数と呼ばれる種類の関数です。
通常の関数は、参照先のセルが変わったときだけ再計算されます。しかし揮発性関数は、スプレッドシートを開いたときや編集したときに毎回再計算されます。
再計算のタイミングは設定で変更できます。「ファイル」→「設定」→「計算」タブを開くと、次の3つから選べます。
- 変更時(デフォルト)
- 変更時と毎分
- 変更時と毎時
TODAY関数を大量に使うと再計算の負荷が増えます。対策として、TODAY()は1つのセルにだけ入力するのがおすすめです。他のセルからは絶対参照(例: =$B$1)で参照しましょう。
再計算させたくない場合の対処法
「今日の日付を固定値として残したい」という場面もありますよね。
その場合は、TODAY関数ではなくキーボードショートカットを使いましょう。
セルを選んだ状態で、以下のショートカットを押してください。
- Windows:
Ctrl + ;(セミコロン) - Mac:
Cmd + ;(セミコロン)
このショートカットで入力された日付は固定値です。再計算で変わることはありません。
作業記録やログなど「入力した時点の日付を残したい」場面ではこちらが適しています。
よくあるエラーと対処法
TODAY関数はシンプルですが、つまずきやすいポイントもあります。
数値(シリアル値)が表示される
表示形式が「数値」になっています。セルを選択して「表示形式」→「数字」→「日付」に変更してください。
日数計算の結果が日付で表示される
=A1-TODAY() の結果を数値で見たいのに、日付形式で表示されるケースです。結果セルの表示形式を「数値」に変更しましょう。
日付の表示形式を変えたい
「2026年3月19日」や「3/19」など、好みの形式にしたい場合があります。TEXT関数の使い方を使えば、表示形式を自由に指定できますよ。
=TEXT(TODAY(),"YYYY年MM月DD日")
#ERROR! が出る
カッコの中に引数を入れていないか確認してください。TODAY関数は =TODAY() のように、カッコ内を空にします。
まとめ
TODAY関数は、今日の日付を自動表示するシンプルな関数です。
この記事で紹介した活用パターンをおさらいします。
- 基本:
=TODAY()で今日の日付を表示 - 日数計算:
=TODAY()+7で〇日後、=A1-TODAY()で残り日数 - 月初・月末: DATE関数やEOMONTH関数と組み合わせ
- 条件付き書式:
=$A2で期限切れを自動ハイライト - 固定日付が必要なら:
Ctrl + ;ショートカットを使う
揮発性関数なので、大量に使う場合は1セルにまとめて絶対参照で使うのがコツです。
まずは =TODAY() をセルに入力するところから試してみてください。
