YEAR、MONTH、DAYで日付を分解する
日付の値から各要素を取り出します。
「YEAR、MONTH、DAYで日付を分解する」はCoddyKit上の無料Excel Formulas Academyレッスンです。 これはレッスン2/4です。 下記で完全なレッスンを無料で読むことができます。その後、ブラウザ内の組み込みコードエディタと24時間対応のAIチューターでハンズオン演習できます。 これはExcel Formulas Academy学習パスの一部であり、ウェブとCoddyKitアプリ全体で進捗が同期されます。 Excel Formulas Academyコースには全4レッスンが含まれています。
日付を分解する理由
2026-06-18のような日付には、1つのセルに年、月、日の3つの情報が含まれています。実際には、そのうち1つだけが必要になることもよくあります。たとえば、売上を月別に集計したり、データを特定の年だけに絞り込んだりする場合です。
日付の各要素を通常の数値として取り出す関数が、YEAR、MONTH、DAYです。どの関数も1つの日付を受け取り、対応する要素を返します。
このレッスンでは、3つすべての関数と、それらを組み合わせて使う方法を学びます。
YEAR関数
YEAR関数は日付を受け取り、4桁の年を数値として返します。セルA2に2026-06-18が入っている場合、=YEAR(A2)は2026を返します。
結果は日付ではなく通常の数値なので、比較や合計に使ったり、ほかの数式の中で使ったりできます。たとえば、データが対象の年に属しているかどうかを判定できます。
=YEAR(A2)MONTH関数
MONTH関数は、月を1から12までの数値で返します。2026-06-18の場合、6月は6番目の月なので、=MONTH(A2)は6を返します。
返されるのは月の名前ではなく数値である点に注意してください。後のシーンでは、TEXT関数を使って6をJuneという単語に変換する方法を学びます。
=MONTH(A2)DAY関数
DAY関数は、月の日を1から31までの数値で返します。2026-06-18の場合、=DAY(A2)は18を返します。
これを、曜日と混同しないでください。DAYが返すのはカレンダー上の日付の数値です。曜日(月曜日、火曜日など)を取得するには、WEEKDAYという別の関数を使います。
=DAY(A2)3つの関数を組み合わせる
日付の一覧を要素ごとに分けるために、これら3つの関数を隣り合う列に配置することがよくあります。日付がA列のA2から始まっているとします。
- B列に
=YEAR(A2) - C列に
=MONTH(A2) - D列に
=DAY(A2)
これで、年、月、日のどの要素でも並べ替え、フィルター、ピボットができるようになります。月別や年別の集計表を作る前によく行う基本的な手順です。
=MONTH(A2)月の数値を名前に変換する
レポート内に単独で6と表示されていても、あまり親切ではありません。TEXT関数を使えば、数値を先に取り出さなくても、日付を直接月名に書式設定できます。
"MMMM"というパターンは月の完全な名前を表示し、"MMM"は短縮形を表示します。そのため、=TEXT(A2,"MMMM")は2026-06-18をJuneに変換します。
これは、MONTHで得た数値を手作業で月名に対応付けるよりも簡潔です。
=TEXT(A2,"MMMM")曜日を取得する
日付が何曜日に当たるかを調べるには、WEEKDAYを使います。デフォルトでは、日曜日を1、土曜日を7として返します。
数値ではなく名前を表示するには、再びTEXTを使い、完全な曜日名には"DDDD"、短縮形には"DDD"というパターンを指定します。
そのため、=TEXT(A2,"DDDD")はThursdayを返します。
=TEXT(A2,"DDDD")実践例:月別にグループ化する
A列に日付、B列に金額が入った注文データがあるとします。各行に月名を付ける補助列を作成し、月ごとの売上を集計したいとします。
この数式をC列に入力して下までコピーします。これで各行に、グループ化に使える読みやすい月名が付くようになります。
後でこのラベルをSUMIFに渡して、月ごとの売上を合計することもできます。
=TEXT(A2,"MMMM YYYY")応用例:日付から四半期を求める
組み込みのQUARTER関数はありませんが、MONTHを使って作成できます。四半期は、月の数値を3で割り、切り上げたものです。
ROUNDUP関数は、次の整数に向かって数値を切り上げます。そのため、1月から3月は第1四半期、4月から6月は第2四半期というようになります。
これは、日付から要素を取り出すことの本当の力を示しています。元の数値を取得できれば、そこからさまざまな計算ができます。
=ROUNDUP(MONTH(A2)/3,0)よくある落とし穴:日付に見えるテキスト
これらの関数には、日付に見えるだけのテキストではなく、実際の日付が必要です。セルに"2026-06-18"がテキストとして入力されている場合、YEARは#VALUE!エラーを返すことがあります。
違いは見た目で確認できます。実際の日付は通常右揃えになり、テキストは左揃えになります。テキストを正しい日付に変換するには、まずDATEVALUE関数で囲みます。
そのため、=YEAR(DATEVALUE(A2))を使えば、テキスト形式の日付にも安全に対応できます。
=YEAR(DATEVALUE(A2))月初の日付を作成する
日付から要素を取り出す機能を使うと、日付をその月の1日にリセットすることもできます。これはグループ化に便利です。日付から年と月を取り出し、DATE関数で日を1に固定します。
そのため、=DATE(YEAR(A2), MONTH(A2), 1)を使うと、A2に入っている日付を同じ月の1日に変換できます。6月の日付はすべて6月1日になります。
これで、ばらばらの日付が入った列全体を月ごとに1つの値へまとめられ、月別集計にそのまま使えます。
=DATE(YEAR(A2),MONTH(A2),1)確認テスト
日付の構成要素について理解できたか確認しましょう。
まとめ:日付を分解する
日付から構成要素を取り出す方法を学びました。
YEAR(date)は4桁の年を返します。MONTH(date)は1から12までの数値を返します。DAY(date)は月の日を1から31までの数値で返します。- 月名には
TEXT(date,"MMMM")を、曜日名にはTEXT(date,"DDDD")を使います。 - 日付に見えるだけのテキストに注意し、まず
DATEVALUEで変換します。
次は逆に、構成要素から日付を作成する方法を学びます。
よくある質問
「YEAR、MONTH、DAYで日付を分解する」レッスンは無料ですか?
はい。「YEAR、MONTH、DAYで日付を分解する」の完全なテキストはこのウェブで無料で読めます。インタラクティブに演習し(組み込みコードエディタと24時間対応のAIチューター)、Excel Formulas Academyコースの残りをアンロックするには、CoddyKit PROにアップグレードしてください。 Excel Formulas Academyコースには全4レッスンが含まれています。
「YEAR、MONTH、DAYで日付を分解する」で何を学びますか?
日付の値から各要素を取り出します。 ブラウザで直接実行するハンズオンコードでExcel Formulas Academyを演習し、24時間対応のAIチューターがレッスンを進める中での質問に答えます。
Excel Formulas Academyを始めるのに経験は必要ですか?
事前経験は必要ありません。CoddyKitのExcel Formulas Academyは初級者から上級者向けに構成されているため、ここから始めるか最初から始めて、自分のペースで進むことができます。 これはレッスン2/4です。
「YEAR、MONTH、DAYで日付を分解する」レッスンにはどのくらい時間がかかりますか?
ほとんどのCoddyKitレッスンは約5~10分かかります。各レッスンはコンパクトでインタラクティブなので、着実に進歩し、ウェブとアプリ全体で正確に前回の場所から再開できます。
このExcel Formulas Academyレッスンでコードを書いて実行できますか?
はい。すべてのExcel Formulas Academyレッスンに組み込みコードエディタが含まれているため、ブラウザでリアルコードを書いて実行し、即座のAIフィードバックを取得できます。ローカル設定は不要です。
このコースのすべてのレッスン
- TODAYとNOWで最新の日付を扱う
- YEAR、MONTH、DAYで日付を分解する
- DATEとEDATEで日付を作成する
- 日付間の日数を数える