【完全版】Excelの日付と時刻関数全24種類を徹底解説!初心者から使える使い方と活用例

「日付と時刻関数って、全部で何種類あるの?」

「どんな時に使えば便利なの?」

この記事では、ExcelのOffice 365で利用できる日付と時刻関数全24種類すべてご紹介します。

この記事で分かること
  • Excel日付と時刻関数の全体像
  • 関数の分類と役割の概要
  • 各関数の具体的な使い方と書式
  • 日付データの基本知識

Excelの日付と時刻関数は全部で24種類!その役割とメリット

Excelには、日付や時刻に関する24種類もの関数が用意されています。

これらの関数を使うメリットは、「日付や時刻を正確かつ自動的に計算・操作できること」です。

Excelは日付や時刻をシリアル値という数値で管理しています。この数値を操作するために、日付・時刻関数があります。

例えば、今日の日付から3ヶ月後の月末を求めたい場合など、手動で計算すると面倒な作業も、関数を使えば一瞬で完了します。

主な関数の役割は、大きく分けて以下の4つです。

日付と時刻関数の役割
  1. 日付・時刻の作成
    年、月、日、時、分、秒を組み合わせて日付・時刻を作る
  2. 分解・変換
    日付・時刻から特定の要素(年、月、日など)を取り出したり、形式を変換したりする
  3. 計算・調整
    日付を加算・減算したり、特定期間の営業日数を求めたりする
  4. 週・曜日
    曜日や週番号を求める

役割関数名できること(概要)
日付・時刻の作成
(4種類)
DATE指定した年、月、日から日付のシリアル値を返す。
TIME指定した時、分、秒から時刻のシリアル値を返す。
TODAY今日の日付(シリアル値)を返す。(引数なし)
NOW現在の日付と時刻(シリアル値)を返す。(引数なし)
分解・変換
(8種類)
YEAR日付からの部分を数値で抽出する。
MONTH日付からの部分を数値で抽出する。
DAY日付からの部分を数値で抽出する。
HOUR時刻からの部分を数値で抽出する。
MINUTE時刻からの部分を数値で抽出する。
SECOND時刻からの部分を数値で抽出する。
DATEVALUE文字列形式の日付を日付シリアル値に変換する。
TIMEVALUE文字列形式の時刻を時刻シリアル値に変換する。
計算・調整
(7種類)
EDATE指定した日付から指定月数後(前)の日付を返す。
EOMONTH指定した日付から指定月数後(前)の月末日を返す。
DAYS2つの日付間の総日数を返す。
DAYS3601年を360日として計算した場合の期間日数を返す。
WORKDAY開始日から指定日数の営業日後の日付を返す。(土日・祝日を考慮)
WORKDAY.INTL休日を自由に設定し、指定日数の営業日後の日付を返す。
YEARFRAC2つの日付間の期間を1年に対する割合(小数)で返す。
週・曜日・営業日数
(5種類)
WEEKDAY日付の曜日を数値(1~7)で返す。
WEEKNUM日付が今年の何週目か(週番号)を返す。(一般的な基準)
ISOWEEKNUMISO基準に従って日付の週番号を返す。
NETWORKDAYS2つの日付間の営業日数を返す。(土日・祝日を考慮)
NETWORKDAYS.INTL休日を自由に設定し、2つの日付間の営業日数を返す。

【基本編】日付・時刻の入力・作成に関する関数(4種類)

まずは、日付や時刻のデータを作成・入力する、基本の4つの関数から見ていきましょう。

この4つは、日付・時刻を扱う上で最も使う機会の多い関数です。

関数名概要
DATE指定した年、月、日から、日付のシリアル値を返します。
TIME指定した時、分、秒から、時刻のシリアル値を返します。
TODAY今日の日付(シリアル値)を返します。
NOW現在の日付と時刻(シリアル値)を返します。

DATE:日付を構成する

書式:

=DATE(年, 月, 日)

使い方:

年、月、日の3つの引数に数値を入れることで、その日付に対応するシリアル値(日付データ)を返します。セルに表示される際は、自動的に日付形式に変換されます。

活用例:

TIME:時刻を構成する

書式:

=TIME(時, 分, 秒)

使い方:

時、分、秒の3つの引数に数値を入れることで、その時刻に対応するシリアル値(時刻データ)を返します。セルには時刻形式で表示されます。

活用例:

TODAY:今日の日付を表示する

書式:

=TODAY()

使い方:

引数は必要ありません。関数を入力したセルの値は、Excelを開くたび再計算が行われるたびに、その時点の今日の日付に自動で更新されます。

活用例:

  • 納期の自動計算: =TODAY() + 7 とすれば、今日から7日後の日付がすぐに分かります。
  • 年齢計算の基準日: =YEAR(TODAY()) – YEAR(誕生日) のように使います。

NOW:現在の日付と時刻を表示する

書式:

=NOW()

使い方:

引数は必要ありません。TODAY 関数と同様に、常に最新の現在の日付と時刻(シリアル値)を返します。

活用例:

  • ファイル更新時刻の記録: データの最終更新時刻を記録するセルに関数を入力しておくと便利です。

【分解・変換編】日付や時刻を分解・シリアル値に変換する関数(6種類)

次に、入力されている日付や時刻のデータから、年、月、日などの特定の部分を取り出したり、文字列として入力された日付をExcelが認識できるシリアル値に変換したりする関数をご紹介します。

関数名概要
DATEVALUE文字列形式の日付を日付シリアル値に変換します。
TIMEVALUE文字列形式の時刻を時刻シリアル値に変換します。
YEAR日付のシリアル値からの部分を返します。
MONTH日付のシリアル値からの部分を返します。
DAY日付のシリアル値からの部分を返します。
HOUR時刻のシリアル値からの部分を返します。
MINUTE時刻のシリアル値からの部分を返します。
SECOND時刻のシリアル値からの部分を返します。

DATEVALUE:文字列の日付をシリアル値に変換

書式:

=DATEVALUE(日付文字列)

使い方: 文字列として入力された日付(例: “2025年10月1日”や”10/1/2025″)を、Excelが計算に使える日付シリアル値に変換します。他のシステムからインポートしたデータなどで、日付が文字列になっている場合に重宝します。

活用例:

TIMEVALUE:文字列の時刻をシリアル値に変換

書式:

=TIMEVALUE(時刻文字列)

使い方:

文字列として入力された時刻(例: “14:30″や”2:30 PM”)を、Excelが計算に使える時刻シリアル値(0から1未満の数値)に変換します。

活用例:

YEAR / MONTH / DAY:日付から年、月、日を抽出する

これら3つの関数は、日付データからという特定の要素だけを数値として取り出したいときに使います。

書式:

  • =YEAR(日付)
  • =MONTH(日付)
  • =DAY(日付)

使い方:

引数に日付データ(シリアル値または日付が入力されたセル)を指定するだけです。

活用例:

HOUR / MINUTE / SECOND:時刻から時、分、秒を抽出する

これら3つの関数は、時刻データからという特定の要素だけを数値として取り出したいときに使います。

書式:

  • =HOUR(時刻)
  • =MINUTE(時刻)
  • =SECOND(時刻)

使い方:

引数に時刻データ(シリアル値または時刻が入力されたセル)を指定するだけです。

活用例:


【計算・調整編】日付の加算・期間計算をする関数(7種類)

ここからは、日付を基準に「数ヶ月後の日付」を求めたり、指定期間の営業日数を計算したりと、より実践的な計算を行うための関数を見ていきましょう。

関数名概要
EDATE指定した日付から指定した月数だけ前または後の日付を返します。
EOMONTH指定した日付から指定した月数だけ前または後の月末の日付を返します。
DAYS2つの日付間の日数を返します。
DAYS3601年を360日として計算した場合の2つの日付間の日数を返します。
WORKDAY開始日から指定した日数の営業日だけ前または後の日付を返します。(土日祝を考慮)
WORKDAY.INTL開始日から指定した日数の営業日だけ前または後の日付を返します。(休日の曜日を自由に設定可能
YEARFRAC2つの日付間の日数を**1年に対する割合(小数)**で返します。

EDATE:指定月数後の日付を求める

書式:

=EDATE(開始日, 月数)

使い方:

開始日から○ヶ月後」の日付を求めたいときに使います。例えば、契約開始日の3ヶ月後の日付や、誕生日から1年後の日付などを簡単に求められます。

  • 月数には、後の月数を求めるなら正の数(例: 3ヶ月後なら3)を、前の月数を求めるなら負の数(例: 3ヶ月前なら-3)を指定します。

活用例:

EOMONTH:指定月数後の月末日を求める

書式:

=EOMONTH(開始日, 月数)

使い方:

開始日から○ヶ月後の月末日」を求めたいときに使います。支払期限や契約更新日など、「月末」を基準にする業務で非常に便利です。

  • 月数の指定方法はEDATE 関数と同じです。

活用例:

DAYS:2つの日付間の日数を求める

書式:

=DAYS(終了日, 開始日)

使い方:

2つの日付(終了日と開始日)の間の日数を正確に求めます。結果は整数で返されます。期間を計算したいときに、単純な引き算よりも分かりやすい書式です。

活用例:

DAYS360:1年を360日とした期間日数を求める

書式:

=DAYS360(開始日, 終了日, [方法])

使い方:

1年を360日として計算する(金融分野で使われることが多い)場合の、2つの日付間の日数を返します。一般的な日数計算とは異なる特殊な計算方法です。

WORKDAY / WORKDAY.INTL:営業日を考慮した日付を求める

この2つの関数は、土日や祝日を数えない(飛ばす)で、指定された営業日数後の日付を求める際に使います。プロジェクトの完了日や、タスクの納期計算に必須です。

WORKDAY:一般的な営業日計算

書式:

=WORKDAY(開始日, 日数, [祝日])

使い方:

開始日から、土日を除いた営業日で数えて、指定した日数の後の日付を返します。

  • 祝日は省略可能ですが、指定するとその日を休日として除外できます。祝日の日付が入力されたセル範囲を指定します。

活用例:

WORKDAY.INTL:休日を自由に設定できる営業日計算

書式:

=WORKDAY.INTL(開始日, 日数, [週末], [祝日])

使い方:

WORKDAY とほぼ同じですが、週末(休日)を土日以外にも自由に設定できる点が異なります。例えば、週末が日月曜日の企業などで役立ちます。

  • 週末には、休日にしたい曜日の組み合わせを数値で指定します(例: 土日なら1、日曜・月曜なら7)。

週末の指定方法(一部抜粋):

数値意味
1土曜日、日曜日(WORKDAYと同じ)
2日曜日、月曜日
11土曜日のみ
12日曜日のみ

YEARFRAC:年単位の期間の割合を求める

書式:

=YEARFRAC(開始日, 終了日, [基準])

使い方:

2つの日付間の日数を、1年間を「1」とした場合の割合(小数値)として返します。退職金の計算や投資期間の計算など、年単位で期間の長さを把握したい場合に役立ちます。

勤続年数の計算を例に使ってみました。


【週・曜日編】曜日や営業日数を取得・管理する関数(7種類)

日付データから、その日が何曜日なのか、その週が今年の何週目なのか、といった情報を取得するための関数です。

関数名概要
WEEKDAY日付の曜日を数値(1~7)で返します。
WEEKNUM日付が今年の何週目か(週番号)を返します。
ISOWEEKNUMISO基準に従って日付の週番号を返します。
NETWORKDAYS2つの日付間の営業日数を返します。(土日祝を考慮)
NETWORKDAYS.INTL2つの日付間の営業日数を返します。(休日の曜日を自由に設定可能

WEEKDAY:曜日を数値で求める

書式:

=WEEKDAY(シリアル値, [種類])

使い方:

日付が何曜日であるかを、数値(1~7)で返します。この数値を基に、条件付き書式で土日だけ色を変えたり、IF関数で「週末なら割引」といった判定をしたりするのに使われます。

  • 種類は、週の始まりを何曜日とするかや、曜日をどの数値に対応させるかを指定します。省略すると「日曜日が1、土曜日が7」になります。

種類(一部抜粋):

種類1(省略時)23
日曜日176
月曜日210
火曜日321
水曜日432
木曜日543
金曜日654
土曜日765

WEEKNUM / ISOWEEKNUM:週番号を求める

これら2つの関数は、指定した日付がその年の何週目にあたるかを数値で返します。

WEEKNUM:一般的な週番号計算

書式:

=WEEKNUM(シリアル値, [週の基準])

使い方:

週の基準(週の始まりを日曜日・月曜日のどちらにするか)を指定して、週番号を計算します。

月曜始まり(基準2)で週番号を計算する

ISOWEEKNUM:ISO基準の週番号計算

書式:

=ISOWEEKNUM(日付)

使い方:

こちらはISO 8601という国際規格に基づいた週番号を返します。

  • ISO基準では「月曜日が週の始まり」で、「その年の最初の木曜日を含む週が第1週」となります。厳密な週管理をする場合に利用します。

NETWORKDAYS / NETWORKDAYS.INTL:2つの日付間の営業日数を求める

この2つの関数は、指定された期間内の営業日数(土日・祝日を除いた日数)を計算します。プロジェクトの期間計算や、稼働日数の集計に非常に便利です。

NETWORKDAYS:一般的な営業日数計算

書式:

=NETWORKDAYS(開始日, 終了日, [祝日])

使い方:

開始日から終了日までの間の、土日を除いた営業日数を返します。

  • 祝日は、WORKDAY と同様に、日付が入力されたセル範囲を指定することで、休日として除外できます。

活用例:

NETWORKDAYS.INTL:休日を自由に設定できる営業日数計算

書式:

=NETWORKDAYS.INTL(開始日, 終了日, [週末], [祝日])

使い方:

NETWORKDAYS と違い、週末(休日)を自由に設定して営業日数を計算できます。設定方法はWORKDAY.INTL と同じです。


Excel日付と時刻関数のよくあるQ&A

ここでは、日付と時刻関数を使う際によくある疑問を解消します。

Q
関数で日付を入力したら「45914」のような数字になりました。これは何ですか?
A

それはExcelが日付を管理している「シリアル値」です。

Excelは、日付を1900年1月1日を「1」として数えた通算の日数として扱っています。例えば、今日の日付が45914であれば、「1900年1月1日から45914日経過した」という意味になります。

計算がしやすいように数値として扱っているだけで、表示形式を**「日付」**に変えれば、見慣れた日付の形式に戻りますよ。

Q
TODAYやNOW関数の日付・時刻が更新されません。なぜですか?
A

TODAY や NOW 関数は、以下のタイミングで自動更新されます。

  1. ファイルを開いたとき
  2. F9キーを押して手動で再計算したとき
  3. シート内の他のセルが編集され、再計算が走ったとき

常にリアルタイムで秒単位で更新され続けるわけではないので、最新の情報が必要な場合は、F9キーを押して再計算してみてください。


まとめ:24種類の関数を使いこなして効率アップ!

ExcelのOffice 365で使える日付と時刻関数全24種類をまとめてご紹介しました!

24種類と聞くと多く感じたかもしれませんが、役割ごとに分類すれば、意外とシンプルですよね。

まずは、TODAYDATEYEARNETWORKDAYSなど、使用頻度の高い関数から使ってみるのがおすすめです。

これらの関数を使いこなせば、面倒な日付・時刻の計算や管理が一瞬で終わり、あなたの業務効率は格段に上がります!ぜひ、この記事をブックマークして、困った時にまた見に来てくださいね。

時刻の計算日数管理を極めて、あなたのExcel作業をもっとスムーズにしていきましょう!

コメント

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