本ページはプロモーションが含まれています

Excel

Excelで日付を分解!YEAR・MONTH・DAY関数の使い方と活用術

はじめに

 Excelで日付を扱うとき、「年・月・日」を個別に取り出したい場面は多くあります。たとえば、売上データから月別集計をしたり、誕生日から年齢を計算したり。そんなときに便利なのが YEARMONTHDAY 関数です。

基本構文と役割

関数役割結果
YEAR(date)年を取り出す=YEAR("2025/10/12")2025
MONTH(date)月を取り出す=MONTH("2025/10/12")10
DAY(date)日を取り出す=DAY("2025/10/12")12

date:日付形式の値(セル参照や "YYYY/MM/DD" 形式)

B2セルには、C2セルに表示されている =YEAR(A1) の結果が使われており、A1セルの日付から「年」の部分を取り出しています。
同様に、B3セルには =MONTH(A1)、B4セルには =DAY(A1) を使って、A1の日付からそれぞれ「月」と「日」の部分を抽出しています。

このように YEARMONTHDAY 関数を使えば、1つの日付から年・月・日を個別に取り出すことができ、集計や条件分岐に役立ちます。

よくある活用例

① 年齢を計算する

=YEAR(TODAY()) - YEAR(A1)

A2に誕生日が入っている場合、今年の年から生まれ年を引いて年齢を算出。

この式がしていること

=YEAR(TODAY()) - YEAR(A1)

は、A1セルに入力された日付の「年」と、今日の「年」との差を計算しています。

具体例で見てみましょう(例)

A1セルの値TODAY()の結果(例)YEAR(TODAY())YEAR(A1)計算結果
2000/10/122025/10/122025200025

この場合、「2025年 − 2000年 = 25」 なので、25という結果になります。

よくある用途

  • 年齢の計算ただし誕生日がまだ来ていない場合は1歳多くなるので注意
  • 勤続年数のざっくり計算
  • 経過年数の目安を出すとき

注意点

 この式は「年の差」だけを見ていため、誕生日がまだ来ていない場合でも1年加算されてしまうことがあります。
正確な年齢を求めたい場合は、DATEDIF関数を使うのがおすすめです👇

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

 この式は、A1の日付から今日までに何年経ったかを「満年数」で返します。
これなら、誕生日が来ていない場合は年齢を繰り下げてくれるので、より正確です。

「関数ってなんだか難しそう…」そんなあなたにこそ読んでほしい、最初に覚えると便利な『単機能関数』まとめ記事はこちら👇

【初心者向け】最初に覚える関数(単機能関数まとめ)記事へ

② 月別売上を抽出する

=MONTH(A1)

 A1に売上日が入っている場合、月だけを取り出してピボットテーブルやフィルターに活用。

この式 =MONTH(A1) は、A1セルに入力された日付から「月」の部分だけを取り出す関数です

分解してみよう

部分意味
A1日付が入力されているセル
MONTH()その日付の「月」だけを数値で返す関数(1〜12)

具体例

A1セルの値結果
2025/10/1210
2023/04/254

よく使われる場面

  • 月別の売上や出勤日数の集計
  • 月ごとのフィルターや条件付き書式
  • 月初・月末の計算(DATE関数と組み合わせ)

③ 日付から「月初」「月末」を作る

月初

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

この式 =DATE(YEAR(A1), MONTH(A1), 1) は、A1セルの日付から「その月の1日」を作るための関数です

分解してみよう

部分意味
YEAR(A1)A1の日付から「年」を取り出す
MONTH(A1)A1の日付から「月」を取り出す
1日付の「1日」を指定

 この3つを DATE 関数で組み合わせることで、A1セルと同じ年月の「月初日(1日)」を作成できます。

具体例

A1セルの値式の結果
2025/10/122025/10/01
2023/04/252023/04/01

く使われる場面

  • 月別集計で「月初日」を基準にする
  • 月初からの経過日数を計算する
  • 月初を起点に条件付き書式やフィルターを設定する

月末

=EOMONTH(A1, 0)

月末を求めるには?

 逆に、月末を求めたい場合は =EOMONTH(A1, 0) が有効です。
この関数は、A1セルの日付が属する月の「月末日」を返すものです。

  • EOMONTH は「End Of MONTH」の略。
  • 第1引数:基準となる日付(例:A1
  • 第2引数:何か月後の月末を求めるか(0なら同じ月)

具体例

A1セルの値結果
2025/10/12=EOMONTH(A1, 0)2025/10/31
2025/02/05=EOMONTH(A1, 0)2025/02/28(うるう年でない)

よく使われる場面

  • 月末締めの処理や集計
  • 月末までの残日数計算
  • 月初〜月末の範囲抽出(DATE(YEAR(A1), MONTH(A1), 1) と組み合わせ)

他にも、DATE関数とMONTH関数を組み合わせることで、指定した日付の「月末日」を求めることができます。

=DATE(YEAR(A1), MONTH(A1)+1, 1)-1
  • 翌月の1日から1日引くことで、今月の月末を求める
  • EOMONTHが使えない環境(古いExcelなど)でも有効

応用テクニック

日付を再構成する

=DATE(YEAR(A1), MONTH(A1), DAY(A1))

分解した日付を再び組み立てることで、日付の整形や補正が可能。

「日付って、組み立てられるんだ!」と驚いたあなたに👇

DATE関数を詳しく説明

曜日と組み合わせる

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

YEARMONTHDAYで分解する代わりに、TEXT関数で表示形式を整える方法も。

 月や日を個別に取り出さなくても、TEXT関数を使えば表示形式を自由に変えることができます。
たとえば、=TEXT(A1, "yyyy年m月d日") のように書けば、A1セルの日付を「2025年10月12日」のような形で表示できます。
見た目だけを整えたい場合は、YEAR・MONTH・DAY関数よりもシンプルに使える便利な方法です。

TEXT関数を詳しく説明

まとめ

 Excelの YEARMONTHDAY 関数で取り出される値はすべて「数値(整数)」です

数値だからこそできること

  • 四則演算(年齢や経過月数の計算など)
  • 条件分岐(IF関数で「月が4以上なら春」など)
  • 集計やフィルター(ピボットテーブルで月別に並べる)

 ちなみに、見た目だけ整えたい場合TEXT 関数を使って "yyyy年m月d日" のように表示形式を変えることもできます。
でも、計算や判定に使うなら YEARMONTHDAY の数値として取り出すのがベストです!

 YEARMONTHDAY 関数は、日付データを自在に操るための基本ツール。実務でも分析でも、これらを使いこなすことでExcelの操作がぐっと効率的になります。まずは簡単な日付分解から始めて、応用へとステップアップしてみましょう!

-Excel