ExcelのTODAY関数の使い方|今日の日付を自動取得する方法

スポンサーリンク

「毎日シートを開くたびに日付を手入力するのが面倒」と思ったことはありませんか。手入力はミスのもとですよね。

ExcelのTODAY関数を使えば、今日の日付を自動取得できます。基本の書き方から実務パターンまでまとめて紹介します。

この記事は次のような人におすすめ

  • 今日の日付をセルに自動表示したい
  • 期限までの残り日数を自動で計算したい
  • TODAY関数とNOW関数の違いを知りたい

TODAY関数とは?

TODAY関数(読み方: トゥデイ)は、今日の日付をシリアル値で返す関数です。英語の「today(今日)」が由来です。

Excelの日付は「シリアル値」という連番で管理されています。1900年1月1日を「1」とし、1日ごとに1ずつ増えます。

TODAY関数が返すのもこのシリアル値です。ただし表示形式が自動で「日付」に変わるので、画面上は日付として見えます。

TODAY関数の最大の特徴は、再計算のたびに値が自動更新される点です。毎日変わる日付を手入力する必要がなくなります。

NOTE

TODAY関数は日付だけを返します。日付と時刻の両方が必要な場合はNOW関数を使ってください。

TODAY関数の書き方(構文と引数)

基本構文

=TODAY()

TODAY関数には引数がありません。カッコの中は空のまま入力します。

引数の説明

引数必須/省略可内容
(なし)引数は不要。カッコ () だけを付ける

引数がない関数でも、関数名のうしろの () は必ず必要です。=TODAY だけだと #NAME? エラーになります。

TIP

TODAY関数は「揮発性関数」と呼ばれ、セルの編集やファイルを開く操作のたびに再計算されます。数式の参照関係に関係なく毎回更新されるため、大量に使用するとファイルの動作が遅くなる場合があります。

TODAY関数の基本的な使い方

今日の日付を表示する

=TODAY()

セルに入力すると、今日の日付が表示されます。翌日にファイルを開くと自動的に翌日の日付に更新されます。

翌日・前日の日付を表示する

TODAY関数に数値を足し引きするだけで、前後の日付を取得できます。

=TODAY()-1

上の式で昨日の日付が表示されます。

=TODAY()+7

上の式で1週間後の日付が表示されます。

日付の加減算で使える目安をまとめました。

やりたいこと数式
昨日=TODAY()-1
明日=TODAY()+1
1週間前=TODAY()-7
1週間後=TODAY()+7
30日後=TODAY()+30

日付を固定したい場合

TODAY関数は毎回更新されるため、入力した時点の日付を固定したい場合には向きません。日付を固定する方法は2つあります。

方法1: ショートカットキーで入力する

OSショートカット内容
WindowsCtrl + ;今日の日付を入力(固定値)
MacCommand + ;今日の日付を入力(固定値)

方法2: TODAY関数の結果を値で貼り付ける

  1. TODAY関数が入ったセルをコピーする
  2. 貼り付け先で右クリック →「値」で貼り付ける

値で貼り付けると数式ではなく数値になるため、日付が変わっても更新されません。

TODAY関数の実務活用パターン

期限までの残り日数を計算する

締切日から今日の日付を引くだけで、残日数が自動計算できます。

=B2-TODAY()

B2に期限の日付が入っているとします。結果がマイナスなら期限切れです。

セルの表示形式が「日付」になってしまう場合は、表示形式を「標準」または「数値」に変更してください。

経過日数を計算する

開始日からの経過日数を求めるには、TODAY関数から開始日を引きます。

=TODAY()-A2

A2に開始日が入っているとします。たとえば入社日からの経過日数や、プロジェクト開始からの日数管理に使えます。

年齢・勤続年数を自動計算する

DATEDIF関数と組み合わせると、年齢や勤続年数を自動で計算できます。

=DATEDIF(A2, TODAY(), "Y")

A2に生年月日が入っているとします。第3引数 "Y" は「満年数」を意味します。

TODAY関数が毎日更新されるため、誕生日を過ぎると年齢も自動で変わります。

YEAR・MONTH・DAY関数と組み合わせる

TODAY関数から年・月・日だけを取り出したい場合は、それぞれの関数を組み合わせます。

=YEAR(TODAY())

今年の(例: 2025)だけを数値で返します。

=MONTH(TODAY())

今月の(例: 4)だけを数値で返します。

=DAY(TODAY())

今日の(例: 15)だけを数値で返します。

これらを応用すると、「今月の1日」や「来月の1日」を数式で作ることもできます。

=DATE(YEAR(TODAY()), MONTH(TODAY()), 1)

上の式で今月1日の日付が得られます。DATE関数で年・月・日を組み立てている形です。

=DATE(YEAR(TODAY()), MONTH(TODAY())+1, 1)

上の式で来月1日の日付が得られます。月に+1するだけで翌月を指定できます。

条件付き書式で期限切れを色分けする

TODAY関数は条件付き書式のルールにも使えます。

たとえば「B列の期限日が今日を過ぎたら赤色にする」には、条件付き書式で次の数式を設定します。

=B2<TODAY()

設定手順

  1. 対象の範囲を選択する
  2. ホームタブ →「条件付き書式」→「新しいルール」
  3. 「数式を使用して、書式設定するセルを決定」を選ぶ
  4. 上の数式を入力し、塗りつぶし色を赤に設定する

期限管理の表でよく使うテクニックです。

TEXT関数と組み合わせて曜日付きで表示する

TEXT関数と組み合わせると、好きな書式で日付を文字列にできます。

=TEXT(TODAY(), "yyyy年m月d日(aaa)")

結果: 2025年4月15日(火) のように、曜日付きで表示されます。

="本日: "&TEXT(TODAY(), "m月d日")

結果: 本日: 4月15日 のように、文章中に日付を埋め込む使い方もできます。

NOTE

TEXT関数の結果は文字列になるため、日付計算には使えません。表示用と計算用で使い分けてください。

よくあるエラーと対処法

TODAY関数自体はエラーが出にくい関数ですが、意図しない結果になるケースがあります。

症状原因対処法
5桁の数字が表示されるセルの表示形式が「標準」のまま表示形式を「日付」に変更する
#NAME? エラーが出る=TODAY のようにカッコを付け忘れた=TODAY() とカッコを付ける
残日数が日付で表示される引き算の結果に日付書式が適用されているセルの表示形式を「標準」に変更する
日付が毎回変わってしまうTODAY関数の仕様(揮発性関数)固定したい場合は Ctrl+; で入力するか、値で貼り付ける
数式が再計算されない手動計算モードになっている数式タブ →「計算方法の設定」→「自動」に変更する。または F9 キーで手動再計算

似た関数との違い・使い分け

日付・時刻を扱う関数はいくつかあります。目的に応じて使い分けましょう。

関数目的使い方の例
TODAY今日の日付を取得する=TODAY() → 今日の日付
NOW関数今日の日付 + 現在時刻を取得する=NOW() → 日付と時刻
DATE関数年・月・日の数値から日付を作成する=DATE(2025,4,1) → 2025/4/1
EDATE関数基準日から○ヶ月後/前の同日を返す=EDATE(A1,3) → 3ヶ月後
EOMONTH関数基準日から○ヶ月後/前の月末日を返す=EOMONTH(A1,0) → 当月末日
DATEDIF関数2つの日付間の期間を求める=DATEDIF(A1,B1,"Y") → 年数

TODAY関数とNOW関数の使い分け

  • 日付だけあればよい → TODAY関数(整数のシリアル値を返す)
  • 時刻も必要 → NOW関数(小数付きのシリアル値を返す)

TODAY関数が返すシリアル値は整数(時刻は0:00:00)です。日付同士の引き算で正確な日数が出ます。

一方、NOW関数は時刻の小数部分を含むため日数計算には向きません。

まとめ

TODAY関数は、今日の日付をシリアル値で自動取得する関数です。

  • 構文: =TODAY() ── 引数なし。カッコだけを付ける
  • 自動更新: ファイルを開くたび・再計算のたびに今日の日付に更新される
  • 日付の加減算: =TODAY()+7 で1週間後、=TODAY()-1 で昨日を取得
  • 固定したい場合: Ctrl+; で入力するか、値で貼り付ける
  • 実務活用: 期限管理・経過日数・年齢計算・条件付き書式との組み合わせ
  • 関連関数: NOW関数(時刻も取得)・DATE関数(年月日から作成)と目的に応じて使い分ける

TODAY関数はシンプルですが、他の関数と組み合わせると使い道が広がります。まずは期限管理から試してみてください。

関連記事

タイトルとURLをコピーしました