Excelでは、日付や時刻を自動で計算できる「日付・時刻系関数」が数多く用意されています。
たとえば「今日の日付を自動で表示したい」「2つの日付の間の日数を知りたい」「翌月末の日付を求めたい」など、ビジネスでよくある要望にすぐ対応できる便利な機能です。
本記事では、Excelでよく使う代表的な日付・時刻系関数を厳選して解説します。
関数の基本構文や使い方、実際の例も交えながら紹介するので、初心者でもすぐに活用できる内容です。
- TODAY関数:今日の日付を自動で表示する
- NOW関数:現在の日付と時刻を表示する
- DATE関数:年・月・日から日付を作る
- TIME関数:時・分・秒から時刻を作る
- YEAR関数:日付から「年」を取り出す
- MONTH関数:日付から「月」を取り出す
- DAY関数:日付から「日」を取り出す
- HOUR関数:時刻から「時」を取り出す
- MINUTE関数:時刻から「分」を取り出す
- SECOND関数:時刻から「秒」を取り出す
- WEEKDAY関数:曜日を数値で返す
- WEEKNUM関数:日付が第何週かを求める
- EDATE関数:指定月数前後の日付を求める
- EOMONTH関数:月末の日付を求める
- DATEDIF関数:2つの日付の差を求める
- NETWORKDAYS関数:営業日数を求める
- WORKDAY関数:指定営業日後の日付を求める
- YEARFRAC関数:2つの日付の間の年数差を小数で求める
- まとめ
TODAY関数:今日の日付を自動で表示する
構文:
=TODAY()
解説:
TODAY関数は、パソコンのシステム日付をもとに「今日の日付」を自動で表示する関数です。
日付が変わると自動的に更新されるため、報告書や請求書の日付欄などに便利です。
使用例:
=TODAY()
→ 2025/10/18 など、現在の日付を表示します。
ポイント:
- 時刻は含まれません。
- 関数の引数は不要です。
- 日付が自動更新されるため、履歴管理には注意が必要です。
NOW関数:現在の日付と時刻を表示する
構文:
=NOW()
解説:
NOW関数は「今日の日付+現在の時刻」を表示します。
たとえば、2025/10/18 9:30
のように表示されます。
使用例:
=NOW()
→ システムの日時がそのまま表示されます。
ポイント:
- 分単位で現在時刻が更新されます。
- タイムスタンプを残したい場合は、値貼り付けで固定しましょう。
DATE関数:年・月・日から日付を作る
構文:
=DATE(年, 月, 日)
解説:
DATE関数は、年・月・日の数値を組み合わせて正しい日付データを作る関数です。
使用例:
=DATE(2025, 10, 18)
→ 2025/10/18 と表示されます。
応用例:
=DATE(YEAR(TODAY()), MONTH(TODAY())+1, 1)
→ 来月の1日を求めることができます。
TIME関数:時・分・秒から時刻を作る
構文:
=TIME(時, 分, 秒)
解説:
TIME関数は、時刻を数値から作成する関数です。
たとえば勤務表で「9時30分」を時刻データにしたいときなどに便利です。
使用例:
=TIME(9, 30, 0)
→ 9:30:00 と表示されます。
YEAR関数:日付から「年」を取り出す
構文:
=YEAR(シリアル値)
解説:
YEAR関数は、指定した日付から「年」を数値として取り出します。
使用例:
=YEAR(TODAY())
→ 現在の年(2025)が返ります。
MONTH関数:日付から「月」を取り出す
構文:
=MONTH(シリアル値)
解説:
MONTH関数は、日付データから「月」の部分を抽出します。
使用例:
=MONTH(TODAY())
→ 現在の月(10)を返します。
DAY関数:日付から「日」を取り出す
構文:
=DAY(シリアル値)
解説:
DAY関数は、指定した日付から「日付」部分だけを取り出します。
使用例:
=DAY(TODAY())
→ 今日が「18日」なら「18」と表示されます。
HOUR関数:時刻から「時」を取り出す
構文:
=HOUR(時刻)
解説:
HOUR関数は、時刻から「時」の部分を抽出します。
使用例:
=HOUR(NOW())
→ 現在の時(9など)を返します。
MINUTE関数:時刻から「分」を取り出す
構文:
=MINUTE(時刻)
解説:
分単位で時間を扱いたいときに使用します。
使用例:
=MINUTE(NOW())
→ 現在の分(30など)を返します。
SECOND関数:時刻から「秒」を取り出す
構文:
=SECOND(時刻)
解説:
秒単位での処理を行うときに使います。
使用例:
=SECOND(NOW())
→ 現在の秒数を返します。
WEEKDAY関数:曜日を数値で返す
構文:
=WEEKDAY(日付, [種類])
解説:
WEEKDAY関数は、日付に対応する曜日を数値(1~7)で返します。種類
を指定することで、どの曜日を1とするかを変更できます。
使用例:
=WEEKDAY(TODAY(), 2)
→ 月曜=1、日曜=7として曜日を数値で返します。
補足:
種類を1にすると「日曜=1、土曜=7」になります。
WEEKNUM関数:日付が第何週かを求める
構文:
=WEEKNUM(日付, [種類])
解説:
WEEKNUM関数は、その日付が年の中で第何週にあたるかを求めます。
使用例:
=WEEKNUM(TODAY())
→ 現在の週番号を返します。
ポイント:
- 業務週報の整理などでよく使われます。
EDATE関数:指定月数前後の日付を求める
構文:
=EDATE(開始日, 月数)
解説:
EDATE関数は、指定した日付から前後に何か月ずらした日付を返します。
使用例:
=EDATE(TODAY(), 1)
→ 1か月後の日付を返します。
=EDATE(TODAY(), -3)
→ 3か月前の日付を返します。
活用例:
契約更新日や定期支払日などの計算に最適です。
EOMONTH関数:月末の日付を求める
構文:
=EOMONTH(開始日, 月数)
解説:
EOMONTH関数は、指定した月数だけ前後した月の「月末日」を返します。
使用例:
=EOMONTH(TODAY(), 0)
→ 当月の月末日を返します。
=EOMONTH(TODAY(), 1)
→ 翌月の月末日を返します。
DATEDIF関数:2つの日付の差を求める
構文:
=DATEDIF(開始日, 終了日, 単位)
解説:
DATEDIF関数は、2つの日付の間の差を「年・月・日」単位で求める関数です。
使用例:
=DATEDIF(A1, B1, "D")
→ A1とB1の日付の差を「日数」で返します。
単位の種類:
- “Y”:年数の差
- “M”:月数の差
- “D”:日数の差
- “YM”:”年を除いた月数”
- “MD”:”月と年を除いた日数”
応用例:
=DATEDIF(A1, B1, "Y") & "年" & DATEDIF(A1, B1, "YM") & "か月"
→ 「○年○か月」と表現できます。
NETWORKDAYS関数:営業日数を求める
構文:
=NETWORKDAYS(開始日, 終了日, [休日])
解説:
NETWORKDAYS関数は、土日を除いた「平日の日数」を自動計算します。
さらに、祝日リストを指定して除外することもできます。
使用例:
=NETWORKDAYS(A1, B1)
→ 開始日から終了日までの平日数を返します。
=NETWORKDAYS(A1, B1, C1:C10)
→ C1:C10に祝日を指定して除外。
活用例:
納期日数や勤務日数の計算に便利です。
WORKDAY関数:指定営業日後の日付を求める
構文:
=WORKDAY(開始日, 日数, [休日])
解説:
WORKDAY関数は、指定した日数分の営業日を加えた日付を求めます。
使用例:
=WORKDAY(TODAY(), 5)
→ 今日から5営業日後の日付を返します。
=WORKDAY(TODAY(), -3)
→ 3営業日前の日付を返します。
YEARFRAC関数:2つの日付の間の年数差を小数で求める
構文:
=YEARFRAC(開始日, 終了日, [基準])
解説:
YEARFRAC関数は、2つの日付の差を「年単位の小数」で求める関数です。
たとえば半年なら「0.5」、3か月なら「0.25」といった結果を返します。
使用例:
=YEARFRAC(A1, B1)
→ 年数差を小数で返します。
応用例:
社員の勤続年数を計算したり、利息期間を算出したりするときに便利です。
まとめ
Excelの日付・時刻系関数を使いこなすことで、日報・請求書・スケジュール管理などの業務を大幅に効率化できます。
- TODAY/NOWで現在の日時を取得
- DATE/TIMEで日付・時刻を生成
- YEAR/MONTH/DAYで日付の一部を抽出
- EDATE/EOMONTHで月単位の計算
- DATEDIF/NETWORKDAYS/WORKDAY/YEARFRACで期間や営業日を正確に算出
これらを組み合わせることで、Excelを「自動更新する日付管理ツール」として活用できます。
関数の基礎をしっかり押さえて、実務で即戦力となるスプレッドシートを作ってみましょう。
コメント