Excel関数で年月日を年月にする方法をお探しですね。
広告
Excelで日付から年・月・日を取り出す、バラバラの数字を日付にする方法
Excelで売上日や入会日、納期、生年月日などを扱っていると、「この日付から年だけ取り出したい」とか「バラバラの列にある年・月・日を1つの日付にまとめたい」って場面、けっこうありますよね。
見た目はただの日付でも、Excel内部では数値として管理されているので、正しく処理するには関数の使い分けが大事なんです。
この記事では、YEAR関数・MONTH関数・DAY関数で年・月・日を抽出する方法と、DATE関数でそれらをくっつけて日付に戻す方法を、初心者の方にも分かりやすく説明していきます。
YEAR/MONTH/DAY関数って何?日付から年・月・日を取り出す基本
Excelで日付から「年だけ」「月だけ」「日だけ」を取り出したいときに使うのが、YEAR関数、MONTH関数、DAY関数です。
例えばA2セルに「2024/8/15」という日付が入っているとします。
年を取り出すなら「=YEAR(A2)」、月を取り出すなら「=MONTH(A2)」、日を取り出すなら「=DAY(A2)」と入力すればOK。
結果はそれぞれ「2024」「8」「15」のように数値で返ってきます。
簡単ですよね。
なぜこんな関数が必要なの?
実は、Excelの日付って見た目どおりの文字じゃなくて、「シリアル値」という数値で管理されてるんです。
Excelでは、1900年1月1日を1として、そこから何日経ったかという連番で日付を扱っています。
「2024/8/15」のように見えているのは、表示形式でそう見せているだけなんですね。
だから、単純に文字列の左から4文字を取り出すみたいな方法だと、表示形式が変わったときに正しく処理できなくなっちゃうんです。
YEAR/MONTH/DAY関数を使えば、表示形式に左右されずに、日付データそのものから必要な部分を安全に取り出せます。
実務でこんなときに使える
– 入会日から入会年だけを集計したい
– 売上日から月別に分析したい
– 生年月日から誕生日の日だけを取り出したい
例えば「2024年のデータだけを抽出したい」って場合、元の日付列とは別にYEAR関数で年を取り出しておくと、フィルターやピボットテーブルで扱いやすくなります。
日付をそのまま眺めるだけじゃなくて、集計や分析に使える形に整えるのが、これらの関数の大きな役割なんです。
DATE関数って何?バラバラの年・月・日を1つの日付にする方法
DATE関数は、別々に入力されている「年」「月」「日」の数値を組み合わせて、Excelで計算できる日付データを作る関数です。
基本の書き方は「=DATE(年,月,日)」。
例えばA2セルに「2024」、B2セルに「8」、C2セルに「15」が入っているとします。
「=DATE(A2,B2,C2)」と入力すると、2024年8月15日の日付が作成されます。
ただ文字をつなげるんじゃなくて、Excelが日付として認識できるデータになるのがポイントです。
文字列をつなげるのとは違うの?
年・月・日を「&」でつなげて「2024/8/15」みたいな文字列を作ることもできます。
でもそのままだと、日付の計算に使えないことがあるんです。
例えば期限までの日数を計算したり、月末日を求めたり、曜日を表示したりするには、Excelが日付として認識できる状態じゃないとダメ。
DATE関数で作った日付なら、引き算で日数差を出したり、表示形式を変更したり、他の日付関数と組み合わせたりできるんです。
DATE関数の便利な特徴
DATE関数には面白い特徴があって、月や日が範囲外の値になった場合に自動で調整してくれるんです。
– 「=DATE(2024,13,1)」→2025年1月1日になる(13ヶ月目=翌年1月)
– 「=DATE(2024,9,0)」→2024年8月31日になる(9月の0日目=前月末)
この性質を使うと、月末日を求める「=DATE(年,月+1,0)」みたいな便利な式も作れます。
ただし、意図せず月や日がずれててもエラーにならずに勝手に補正されちゃうので、入力ミスに気づきにくいっていう注意点もあります。
抽出と結合を組み合わせる実務例:日付計算・集計に使おう
YEAR/MONTH/DAY関数とDATE関数は、単独で使うだけじゃなくて、組み合わせることで実務にめちゃくちゃ強くなります。
翌月の同じ日を求める
例えばA2セルにある日付の「翌月同日」を求めたいとき、「=DATE(YEAR(A2),MONTH(A2)+1,DAY(A2))」と入力します。
A2の日付から年・月・日を取り出して、月だけを1増やしてから、DATE関数で日付に戻してるんですね。
このように、日付をいったん分解して必要な部分だけ変更して、また日付として組み立てる考え方は、すごく便利です。
年度を判定する
よく使う例として、年度の判定があります。
日本の会社では4月始まりの年度を使うことが多くて、1月から3月の日付は前年の年度として扱うケースがありますよね。
A2の日付が属する年度を表示したい場合は、「=YEAR(A2)-(MONTH(A2)<4)」のように書けます。 MONTH(A2)で月を取り出して、4月より前なら年を1つ戻すっていう仕組みです。 さらに年度開始日を日付として作りたいなら、「=DATE(YEAR(A2)-(MONTH(A2)<4),4,1)」のようにDATE関数と組み合わせます。
月別集計をしやすくする
月別集計をしやすくするために、日付から「その月の1日」を作る方法もよく使われます。
A2に売上日があるとき、「=DATE(YEAR(A2),MONTH(A2),1)」とすれば、その売上日が属する月の月初日を作成できます。
これで、日付ごとにバラバラだったデータを月単位にそろえられるので、ピボットテーブルやグラフで集計しやすくなります。
単に月の数字だけを取り出すより、年月を含んだ日付として保持できるから、年をまたぐデータでも混同しません。
使い分けのポイント
代表的な使い分けはこんな感じです。
– **年・月・日を個別に見たい**→YEAR、MONTH、DAYを使う
– **年・月・日から正式な日付を作りたい**→DATEを使う
– **表示だけを「202408」のように変えたい**→TEXT関数や表示形式を使う
この区別を理解しておくと、日付の扱いで迷いにくくなります。
特に「表示を変えたいだけ」なのか、「データとして加工したい」のかを分けて考えることが大切です。
年月だけを見せたいだけならセルの表示形式で対応できることもありますが、別システムへ渡すデータや集計用のキーとして使うなら、関数で必要な形に加工する必要があります。
よくある失敗とエラーを防ぐコツ
日付に見える文字列に注意
日付関数でよくある失敗の1つが、日付に見える文字列をそのまま使っちゃうことです。
セルに「2024/8/15」と表示されていても、それがExcelの日付データじゃなくて文字列として保存されている場合、YEAR関数やMONTH関数が期待どおりに動きません。
特にCSVファイルや外部システムから取り込んだデータでは、見た目は日付でも中身が文字列になってるケースがよくあります。
うまく抽出できないときは、セルの表示形式だけじゃなくて、Excelが日付として認識してるかを確認しましょう。
年は4桁で指定しよう
もう1つの注意点は、DATE関数の年を2桁で指定しないことです。
「=DATE(24,8,15)」みたいに入力すると、意図した2024年じゃなくて別の年として扱われる可能性があります。
基本的には「=DATE(2024,8,15)」のように西暦4桁で指定するのが安全です。
あと、日付セルをDATE関数の年の引数にそのまま入れるのも避けましょう。
日付セルの中身はシリアル値なので、「=DATE(A2,1,1)」って書くと、A2の日付が年として扱われちゃって、想定外の結果になります。
表示形式と関数の役割を混同しない
表示形式と関数の役割を混同しないことも重要です。
例えば「2024/8/15」を「2024年8月」と表示したいだけなら、セルの書式設定で表示形式を変える方法が適しています。
一方で、「202408」という文字列を作りたい場合は「=TEXT(A2,”yyyymm”)」のようにTEXT関数を使います。
YEAR関数とMONTH関数を「&」でつなぐ方法もありますが、月を2桁にそろえたい場合はTEXT関数のほうが扱いやすいです。
抽出した結果は数値
最後に、年・月・日を抽出した結果は数値だっていう点も押さえておきましょう。
MONTH関数で取り出した「8」は、文字列の「08」じゃありません。
だから、見た目を2桁にしたい場合は表示形式を「00」にするか、TEXT関数で「=TEXT(A2,”mm”)」のように変換します。
計算や集計に使うなら数値のまま、コードやファイル名の一部に使うなら文字列として整える、っていうふうに目的に応じて使い分けると、Excelの日付処理が安定します。
まとめ
YEAR/MONTH/DAY関数は日付を分解する関数、DATE関数は分解された要素を日付に戻す関数です。
この基本を押さえるだけで、日付データの整理、月別集計、年度判定、期限計算などの作業がぐっと効率化します。
Excelの日付は見た目じゃなくて中身が大切なので、表示形式・文字列・日付データの違いを意識しながら使うことが、ミスを防ぐ一番の近道です。
最初はちょっと難しく感じるかもしれませんが、慣れてくると日付の扱いがすごく楽になりますよ!
広告
