「月別の集計だる…」が「え、もう終わった!?」に!エクセルMONTH関数のとっておき活用術

エクセル

売上データを整理するだけで一苦労…

エクセルの日付から月だけ抽出する方法がわからない…

あなたも、こんな悩みを抱えていませんか?

毎月の集計作業に時間を取られ、本来の分析業務に集中できないというのはモヤモヤしますよね。

特に初心者の方は「どの関数を使えばいいの?」「なぜか思った通りに表示されない…」と頭を抱えることも多いはず。

ゆうま
ゆうま

そんな方こそ、MONTH関数を使いましょう!複雑なデータからでも月の情報だけを簡単に抽出できますよ!

この記事では、日付データから月だけをサクッと取り出せるMONTH関数の使い方を、初心者にもわかりやすく解説します!

  • MONTH関数の基本的な使い方と正しい構文
  • 日付データから月を抽出して月別集計を自動化する方法
  • 他の関数と組み合わせて業務効率を劇的に上げる方法
  • エラーと解決策

さあ、面倒な月別集計作業から解放されて、本来の分析業務に集中できる時間を手に入れましょう!

こちらもおススメ!

日付から月だけを取り出す!エクセル MONTH関数ガイド

日付から月だけを取り出す!エクセル MONTH関数ガイド

「どういう関数なの?」基本をサクッと解説

MONTH関数は、日付データから「月」の値(1~12の整数)のみを簡単に取り出せる強力な関数です。

日付シリアル値や正しい日付形式のセル参照から月の数値を返すのですが、単なる表示形式の変更とは異なり、月の数値そのものを抽出するため計算に直接利用できるんです!

DATE関数ファミリーの一部として、YEAR関数やDAY関数と同様の重要な役割を持っていますよ。

この関数を活用することで、日付データが多い業務での効率化と、より深いデータ分析が可能になります!

「こんなとき使える!」MONTH関数が役立つシーン

次のような場面で役立つ関数ですね↓

  • 売上データの月別集計や経費分析などのビジネスレポート作成
  • 顧客データの月次分析や新規顧客数の月別カウント
  • プロジェクトの月次進捗管理やスケジュール作成
  • 特定月のデータをフィルタリングする作業
  • 四半期や半期などの期間別レポート作成の基礎作業
  • 季節ごとの傾向分析を行う際の月単位分類
  • 複数年にわたるデータの月別比較
  • カレンダー年とは異なる会計年度での分析
  • 条件付き書式と組み合わせた月ごとの視覚的データ区別
  • 大量の日付データから必要な月の情報だけを抜き出す作業

MONTH関数でデータをスッキリ整理しよう!

MONTH関数でデータをスッキリ整理しよう!

「これだけは押さえよう」構文&引数に指定するもの

MONTH関数の基本構文はとてもシンプル。

SQL
=MONTH(シリアル値)

「シリアル値」は必須の引数で、日付が入力されたセル、または日付を表すシリアル値を指定します。

エクセル内部で日付は1900年1月1日からの経過日数を表すシリアル値として扱われており、正しい日付形式で認識されていれば、表示形式に関わらず月の値を抽出可能ですね。

「どうやって使うの?」気になる指定方法について

引数「シリアル値」には次のような様々な指定方法があります↓

  • 日付形式のセル参照

    例:A1セルに「2025/03/13」と入力されている場合

    SQL
    =MONTH(A1)
    日付形式のセル参照
  • TODAY関数で今日の日付から取得
    SQL
    =MONTH(TODAY())
    TODAY関数で今日の日付から取得
  • 直接日付を指定
    SQL
    =MONTH("2025/12/25")
    直接日付を指定
  • シリアル値の直接入力

    例:A1セルにシリアル値「45732」が入力されている場合

    SQL
    =MONTH(A1)
    シリアル値の直接入力

注意点を挙げるとするなら、日付として認識できない文字列(例: “abc”、”日付”)や、日付として解釈できない数値を入力した場合は#VALUE!エラーが返されること。

「この使い方いいかも!」便利な使用例

知っていると得する使い方を2つご紹介しますね!

TEXT関数で表示形式を調整

SQL
=TEXT(MONTH(A1),"00")
TEXT関数で表示形式を調整

本来なら1桁で表示される月を、画像のように2桁表示したい時ってありますよね?けっこう便利ですよ!

日付の比較

SQL
=IF(MONTH(A1)=MONTH(TODAY()),"今月のデータ","他月のデータ")
日付の比較

画像のように、特定のセルの日付が今月かどうかを判定したい時に使えます。(年に関係なく、同じ月かどうかを判定ということ)

意外と使う場面は多くて、

【今月のデータをハイライトする】
例えば、売上データやタスク管理で「今月のデータだけを目立たせたい」場合に使えます。条件付き書式と組み合わせると、今月のデータを強調表示できますよ!

【今月のデータだけをフィルタリング】
大量のデータから「今月のデータだけを抽出したい」ときに、補助列にこの式を使って、フィルタリングのキーにできます。

【レポートやダッシュボードで今月の状況を把握】
月ごとにデータを管理していて、今月分だけを特定する際に使えます。例えば、「今月の売上」と「過去の売上」で表示を分ける場合などですね。

もし、年も考慮した「今月限定」にするなら、以下の式を使いましょう。

SQL
=IF(AND(YEAR(A1)=YEAR(TODAY()),MONTH(A1)=MONTH(TODAY())),"今月のデータ", "他月のデータ")
年も考慮した「今月限定」

これで、現在の月と同じデータをチェックできます!

効率アップ間違いなし!MONTH関数のおすすめテクニック

効率アップ間違いなし!MONTH関数のおすすめテクニック

MONTH関数を応用すれば、強力なデータ分析と業務効率化が実現できます。特に便利だなと感じる方法をご紹介しますね!

ヘルパー列を作る方法(データ量が多い場合向き)

数式を簡単なものにすることで計算速度があがるため、データ量が多い場合の処理速度的に有利なのがコチラ。

A列に日付、B列に売上額が入力されているデータを使用して説明しますね。

A列に日付、B列に売上額が入力されているデータ
設定方法
  • C列にヘルパー列を作成(月の値を抽出)

    C1セルに「月」と入力し、C2セルに以下の数式を入力し、データの最後までコピーします。

    SQL
    =MONTH(A2)
    C列にヘルパー列を作成(月の値を抽出)
  • D列に基準値を入力

    ここは集計の基準となる数値を入れておきます。D1セルに「基準値」、D2セルから下方向に「1~12」と入力します。

    D列に基準値を入力
  • 各月の売上合計を計算する場合

    E2セルに1月の売上合計を計算するための数式を入力し、12か月ぶんコピーします。

    SQL
    =SUMIF(C:C,D2,B:B)
    各月の売上合計を計算する場合
  • 各月の売上平均を計算する場合

    F2セルに1月の売上平均を計算するための数式を入力し、12か月ぶんコピーします。

    SQL
    =AVERAGEIF(C:C,D2,B:B)
    各月の売上平均を計算する場合

ヘルパー列なしの方法(データ量が少ない、表をスッキリさせたい場合向け)

ヘルパー列を作成しない以外は途中まで同じで、売上合計を計算する時にSUMPRODUCT関数を使用します。

SQL
=SUMPRODUCT((MONTH($A$2:$A$25)=C2)*($B$2:$B$25))
売上合計を計算する時にSUMPRODUCT関数を使用

売上の平均値を計算したい時も、同じくSUMPRODUCT関数で。

SQL
=SUMPRODUCT((MONTH($A$2:$A$25)=C2)*($B$2:$B$25))/SUMPRODUCT((MONTH($A$2:$A$25)=C2)*1)
売上の平均値を計算したい時

使用する数式が長くなるかわりに表がスッキリするというメリットはありますが、このままデータ量が増えていった場合は要注意です。

処理が重いため、データ量が増えすぎると時間がかかりすぎてイライラするか、フリーズします

「もっと便利に!」他の関数と組み合わせて威力アップ

私が「これ便利だな」と感じているものを、表にしてみました!

項目数式・説明
年月の表示形式を作成=YEAR(A1)&”年”&MONTH(A1)&”月”
月初・月末判定=IF(DAY(A1)=1,”月初”,IF(DAY(A1)=DAY(EOMONTH(A1,0)),”月末”,”その他”))
翌月の月を取得=MONTH(EOMONTH(A1,1))
月の初日を算出=DATE(YEAR(A1),MONTH(A1),1)
翌月1日の日付を生成=DATE(YEAR(A1),MONTH(A1)+1,1)
月末の日を取得=EOMONTH(A1,0)
四半期判定=CEILING(MONTH(A1)/3,1)
季節判定=CHOOSE(CEILING(MONTH(A1)/3,1),”冬”,”春”,”夏”,”秋”)
指定月の日数を取得=DAY(EOMONTH(DATE(YEAR(A1),MONTH(A1),1),0))
月名(英語表記)に変換=CHOOSE(MONTH(A1),”Jan”,”Feb”,”Mar”,”Apr”,”May”,”Jun”,”Jul”,”Aug”,”Sep”,”Oct”,”Nov”,”Dec”)
月名(日本語表記)に変換=TEXT(DATE(YEAR(A1), MONTH(A1), 1), “[$-ja]mmmm”)
「これ便利だな」と感じているもの

トラブル解決!MONTH関数のエラー対処法

トラブル解決!MONTH関数のエラー対処法

#VALUE!エラー

これは、日付として認識できない値を引数に指定した時に発生します。

少量なら手動で修正すれば良いですが、多い場合は関数で処理するほうが楽ですよ!

対処法
  • IFERROR関数でエラー処理
    SQL
    =IFERROR(MONTH(A1),"有効な日付ではありません")
  • 事前に日付の有効性を確認
    SQL
    =IF(ISTEXT(A1),IF(ISNUMBER(DATEVALUE(A1)),MONTH(DATEVALUE(A1)),"有効な日付ではありません"),MONTH(A1))

まとめ

まとめ


日付データから月だけを抽出するMONTH関数は、業務効率化の強い味方です!

「月別集計を簡単に」「データ分析をスムーズに」と、多くのシーンで活躍する便利な関数ですね。

  • MONTH関数の基本から応用まで、シンプルな構文で強力なデータ抽出が可能
  • 売上データの月別集計や経費分析など、実務で役立つ10の活用シーン
  • YEAR、DAY、EOMONTH関数などとの組み合わせで機能拡張する方法

この記事で紹介したMONTH関数テクニックを活用すれば、これまで手間がかかっていた月別集計作業が驚くほど効率化されます。

今日からさっそくMONTH関数を試してみてください!

ゆうま
ゆうま

最後までお読みいただき、ありがとうございました!

こちらもおススメです!
著者プロフィール
この記事を書いた人

【2024年10月ブログ開設】
見に来てくれてありがとうございます!
 
【発信内容】
本業で管理職をやる傍ら、趣味として会社に頼らずに生きるためのスキル磨きをしてきた経験を「お役立ち情報」として発信。
 
【将来の夢】
家族と田舎で半自給自足しながらパソコンで生活費を稼いでのんびり生きること。

ゆうまをフォローする
エクセル関数
シェアする
ゆうまをフォローする
タイトルとURLをコピーしました