エクセルで日付データを扱う際、「年だけを取り出したい」「月と日だけを表示したい」という場面はよくあるでしょう。
日付データはシリアル値として管理されているため、専用の関数や書式設定を使わないと正しく抽出できないのが特徴です。
本記事では、YEAR関数・MONTH関数・DAY関数といった基本的な日付関数の使い方から、表示形式を変えて年月のみを見せる方法まで、実践的な操作を丁寧に解説していきます。
日付データの整理や集計に役立つ知識を身につけて、エクセル作業をより効率化していきましょう。
目次
エクセルで年月のみを抽出・表示する最も基本的な方法
それではまず、エクセルで日付データから年月のみを抽出・表示するための基本的なアプローチについて解説していきます。
エクセルで日付から特定の要素を取り出す方法は、大きく2つに分けられます。
ひとつは関数を使って年・月・日の数値を別のセルに取り出す方法、もうひとつは表示形式を変えて見た目だけを変える方法です。
年月抽出の2つのアプローチ
①関数で数値を抽出:YEAR関数・MONTH関数・DAY関数・TEXT関数などを使用
②表示形式を変更:セルの書式設定でyyyyやm/dなどの形式コードを指定
関数を使う方法は、抽出した値を計算や条件分岐に使いたい場合に適しています。
表示形式を変える方法は、元の日付データを保持したまま見た目だけを変えたい場合に向いています。
目的に応じてどちらの方法を使うかを選択することが大切でしょう。
YEAR・MONTH・DAY関数で年月日を個別に取り出す
YEAR関数・MONTH関数・DAY関数は、日付データから指定した要素を数値として取り出す関数です。
【基本構文と使用例】
=YEAR(日付) → 年を4桁の数値で返す 例)=YEAR(“2024/3/15”) → 2024
=MONTH(日付) → 月を1〜12の数値で返す 例)=MONTH(“2024/3/15”) → 3
=DAY(日付) → 日を1〜31の数値で返す 例)=DAY(“2024/3/15”) → 15
これらの関数はシンプルな構文で扱いやすく、日付データの集計や分類に広く使われています。
たとえばA1セルに「2024/3/15」という日付が入力されている場合、=YEAR(A1)と入力すれば「2024」が返ります。
同様に=MONTH(A1)なら「3」、=DAY(A1)なら「15」が返るため、各要素を別々のセルで管理できます。
年月でグループ化して集計する表を作るときは、これらの関数が非常に役立つでしょう。
TEXT関数で年月を自由なフォーマットで表示する
TEXT関数を使うと、日付を好きな文字列フォーマットで表示できます。
YEAR・MONTH関数と異なり、TEXT関数は文字列として結果を返すため、「2024年3月」のように和文フォーマットで表示することも可能です。
【TEXT関数の構文と例】
=TEXT(値, 表示形式)
=TEXT(A1, “yyyy年m月”) →「2024年3月」と表示
=TEXT(A1, “m/d”) →「3/15」と表示(月日のみ)
=TEXT(A1, “yyyy/mm”) →「2024/03」と表示(ゼロ埋め)
TEXT関数の結果は文字列なので、数値計算には使えませんが、レポートや帳票の表示用途には非常に便利です。
ゼロ埋めが必要な場合はmではなくmmと指定することで「03」のように2桁表示ができます。
表示形式の変更で元データを保持したまま年月のみ表示する
関数を使わずに、セルの表示形式を変えるだけで年月のみを表示させることができます。
セルを選択してCtrl+1でセルの書式設定ダイアログを開き、「表示形式」タブの「ユーザー定義」を選択します。
種類の欄に「yyyy/mm」や「yyyy年m月」などの形式コードを入力してOKをクリックすれば、見た目だけが変わります。
この方法は元の日付データ(シリアル値)がセルに保持されたままなので、後から日付として利用することもできます。
元データを変えずに表示だけを変えたい場合は、表示形式の変更が最適な方法です。
月日のみ・日付のみを表示するテクニックと実用例
続いては、年を省いて月日だけを表示したり、特定の日付要素だけを見せるための実用的なテクニックを確認していきます。
誕生日リストや年間カレンダーなど、年は不要で月日だけを表示させたい場面は多くあるでしょう。
月日のみを表示形式で設定する方法
年を非表示にして月日だけを表示したい場合も、セルの書式設定で対応できます。
ユーザー定義の種類に「m月d日」や「m/d」と入力することで、年を省いた表示が実現します。
| 表示形式コード | 表示例(2024/3/5の場合) |
|---|---|
| m/d | 3/5 |
| m月d日 | 3月5日 |
| mm/dd | 03/05 |
| yyyy/mm/dd | 2024/03/05 |
| yyyy年m月 | 2024年3月 |
「m」は月を1桁または2桁で表示し、「mm」は常に2桁表示です。
「d」は日を1桁または2桁で、「dd」は常に2桁で表示します。
この使い分けを覚えておくと、さまざまな日付表示に対応できるでしょう。
MONTH関数とDAY関数を組み合わせた月日のみ抽出
関数で月日の数値を取り出したい場合は、MONTH関数とDAY関数を組み合わせるか、TEXT関数を使う方法が便利です。
たとえば「3月5日」という文字列として表示したい場合は以下のように記述します。
=MONTH(A1)&”月”&DAY(A1)&”日”
→ 結果:「3月5日」(文字列として結合)
=TEXT(A1, “m月d日”)
→ 結果:「3月5日」(TEXT関数による書式指定)
どちらも同じ結果になりますが、TEXT関数の方が記述がシンプルでわかりやすいでしょう。
表示用の文字列として月日を扱うときはTEXT関数が最もすっきり記述できるのでおすすめです。
年のみを切り出す方法と年度計算への応用
日付から年だけを取り出すにはYEAR関数が基本ですが、会計年度や年度計算に応用する場合は少し工夫が必要です。
日本の会計年度は4月始まりのため、1月〜3月は前年度として扱われます。
【年度を求める数式例】
=YEAR(A1)-IF(MONTH(A1)<=3, 1, 0)
→ 4月以降はそのまま年を返し、1〜3月は1を引いた年(前年度)を返す
この数式を使えば、日付データから自動的に年度を算出できます。
年度ごとに集計やグループ分けをしたい場合に非常に役立つ応用テクニックでしょう。
よくあるトラブルと日付表示に関する注意点
続いては、日付の年月抽出でよく発生するトラブルと、その対処法について確認していきます。
日付データを扱うときは、数値として認識されているかどうかが重要なポイントになります。
文字列として入力された日付に関数が効かない場合
エクセルでは、見た目が日付でも文字列として入力されているセルには日付関数が正しく機能しません。
YEAR関数やMONTH関数を使ってもエラーや意図しない値が返る場合は、そのセルが文字列として認識されている可能性があります。
確認方法は、セルを選択して数式バーで内容を確認するか、セルの左上に緑の三角マークが出ているかを見ることです。
文字列の日付をシリアル値に変換するにはDATEVALUE関数が有効です。
=DATEVALUE(A1)と入力することで、文字列の日付をシリアル値(数値)に変換できます。
1900年と1904年の日付システムによる誤差
エクセルにはWindowsとMacで異なる日付システムが存在します。
Windowsでは1900年1月1日を起点、Macでは1904年1月1日を起点とするため、異なる環境でファイルを開くと日付がずれることがあります。
ファイルの共有時に日付のズレが発生した場合は、「ファイル」→「オプション」→「詳細設定」から「1904年から計算する」のチェックを確認しましょう。
通常はチェックを外した状態(1900年基準)で統一するのが安全です。
2桁の年表示と4桁表示の切り替え
「24」のように2桁で年を表示したい場合は、ユーザー定義の書式コードに「yy」を使います。
「yyyy」が4桁表示、「yy」が2桁表示です。
ただし、2桁表示は西暦が明確でなくなるため、ビジネス文書では4桁表示が推奨されることが多いでしょう。
用途に応じて適切な桁数を選ぶようにすることが大切です。
まとめ
本記事では、エクセルで日付データから年月のみを抽出・表示する方法について幅広く解説してきました。
YEAR・MONTH・DAY関数による数値抽出、TEXT関数による文字列フォーマット、セルの表示形式変更という3つのアプローチをそれぞれの用途に合わせて使い分けることが重要です。
元データを保持したまま見た目だけを変えるなら表示形式の変更、別セルで値として使うなら関数が適切な選択です。
文字列として保存された日付にはDATEVALUE関数を使って変換することで、日付関数を正しく機能させることができます。
年度計算への応用など、少し工夫するだけでより実践的な集計表が作れるようになるでしょう。
日付データの扱いに自信を持てるようになることで、エクセルを使ったデータ管理のレベルが大きく向上します。