【Excel】日付から「月」や「日」だけを取り出す!MONTH/DAY関数の基本

【Excel】日付から「月」や「日」だけを取り出す!MONTH/DAY関数の基本
🛡️ 超解決

エクセルで売上データや行動ログを管理する際、日付(2026/01/27)という一塊の情報を「月単位」や「日単位」で集計し直したい局面は多々あります。日付から特定の要素だけを論理的にパース(抽出)せずにピボットテーブルや集計関数を使おうとすると、一日単位の細かいデータが並んでしまい、時系列の大きなトレンドをロスト(見失う)することになりかねません。MONTH(マンス)関数DAY(デイ)関数は、エクセル内部で保持されている日付のシリアル値を解読し、必要な「成分」だけを取り出すための基本的なパルス解読器です。本記事では、日付から月や日を抽出する手順と、それらを活用した分析用データのデプロイ(構築)方法を徹底解説します。

結論:日付を成分分解して分析精度を最大化する3つの原則

  1. 専用関数で論理的な『数値』として取り出す:MONTH/DAY関数を用い、計算や並べ替えが可能な「1〜12」「1〜31」の整数へとコンバート(変換)する。
  2. 『表示形式』による擬似的な抽出と使い分ける:見た目だけを変える「d」設定と、データの実体を取り出す関数の論理的な差異をパースしておく。
  3. 年・月・日のマトリックスを生成する:YEAR関数も併用して「年・月・日」の各列を独立させ、多角的なフィルタリングが可能な構造をデプロイする。

ADVERTISEMENT

1. 技術解説:エクセルが日付を『シリアル値』で管理する論理

エクセルにとっての日付は、人間が見ている「2026/01/27」という形式ではなく、1900年1月1日を「1」とした通算日数、すなわち「シリアル値」という単なる整数です。

1-1. コンポーネント抽出のアルゴリズム

日付関数は、この巨大な整数を特定のカレンダーアルゴリズムに基づいてパースします。

  • YEAR(シリアル値):西暦(1900〜9999)を抽出。
  • MONTH(シリアル値):月(1〜12)を抽出。
  • DAY(シリアル値):日(1〜31)を抽出。

これらはすべて「数値(Number)」として出力されるため、抽出後に +1 したり、SUMIFS の条件として利用したりすることが論理的に可能になります。


2. 実践:月と日を別々の列にデプロイする手順

A列に日付が入っているリストから、集計用の「月列」と「日列」を生成する標準フローを確認しましょう。

操作フロー:基本関数の適用

  1. 日付の右隣に「月」と「日」という2つの新しい列を挿入します。
  2. 「月」のセル(B2)に以下の数式を入力します。
    =MONTH(A2)
  3. 「日」のセル(C2)に以下の数式を入力します。
    =DAY(A2)
  4. 数式を下方向へコピー(デプロイ)します。

3. 深掘り:『MONTH/DAY関数』 vs 『TEXT関数』の論理的差異

日付から月を取り出す際、TEXT関数 を使う手法も一般的ですが、出力されるデータの「型」に決定的な違いがあります。

3-1. 数値型か文字列型か

  • MONTH関数:「1」という 数値(整数)を返します。計算や大小比較に適しています。
  • TEXT(A2, “m”):「1」という 文字列(テキスト)を返します。見た目を整えたり(例:01月)、他の文字と結合したりするのに適しています。

後続の処理でピボットテーブルを使ったり、グラフの軸にしたりする場合は、並び替えが正しく行われる MONTH/DAY関数(数値型) をデプロイするのがエンジニアリング的な定石です。


ADVERTISEMENT

4. 比較検証:日付抽出手法の特性マトリックス

手法 出力形式(型) 主なメリット 注意点
MONTH / DAY 数値 (1, 2…) 計算、ソート、集計に強い。 「01」のような0埋めは不可。
TEXT関数 文字列 (“01”, “Jan”…) 自由な表示形式(曜日等)が可能。 そのままでは計算に使えない。
表示形式のみ変更 日付 (シリアル値保持) データの実体を壊さない。 フィルタリング時に「日」単位になる。

5. エンジニアの知恵:『日付でないデータ』の不整合をデバッグする

MONTH関数を使っても #VALUE! エラーが出る場合、元のセルがエクセルに「日付」としてパースされていない(単なる文字列になっている)可能性があります。

5-1. 文字列日付のリカバリ・プロトコル

「2026.01.27」のように、ドット区切りなどで入力されたデータは日付として認識されません。この場合は、「区切り位置」機能で日付型にコンバートするか、DATEVALUE関数 を介してシリアル値へと変換する手順が必要です。データのインテグリティ(整合性)を確保することが、関数の正常動作を支えるガードレールとなります。


6. 応用:週単位や四半期へのさらなる拡張

MONTH関数で月を取り出せたら、さらに ROUNDUP(MONTH(A2)/3, 0) という数式をデプロイすることで、日付から直接「四半期(1〜4)」を算出する論理モデルが構築できます。このように、日付の成分を一度パース(分解)してしまえば、分析の切り口は無限に広がります。


7. まとめ:『一塊の日付』を『多次元のデータ』へ

エクセルのMONTH関数やDAY関数は、一見単純な抽出ツールですが、その本質は時系列データに「階層構造」を与えるための「データ・パーサー」です。
日付をそのままにするのではなく、月や日という単位に分解して管理すること。この小さな論理的操作が、膨大なリストを意味のあるレポートへと昇華させるための第一歩となります。次に日付入りのデータを手に入れたら、まず横に「月」の列を作ってみてください。そこから新しい分析の洞察(インサイト)が生まれるはずです。

📊
Excelトラブル完全解決データベースこの記事以外にも、様々なエラー解決策をまとめています。困った時の逆引きに活用してください。

ADVERTISEMENT

この記事の監修者

📈

超解決 Excel研究班

企業のDX支援や業務効率化を専門とする技術者チーム。20年以上のExcel運用改善実績に基づき、不具合の根本原因と最短の解決策を監修しています。