次の DEMO を見にいく
Excel

日付から月・四半期・上期下期まで一気に作るExcel関数まとめ

k.w
\お買い物マラソン開催中/
スポンサーリンク

この記事でできること(完成イメージ)

日付データを集計するときは、「月」「四半期」「上期・下期」のような“くくり”が作れると一気に見やすくなります。たとえば売上や工数の一覧が日付のままだと、行が増えるほど全体像がつかみにくくなりますが、月別や四半期別にまとめられるだけで「どの時期に増えた/落ちた」が見えるようになります。

この記事では、次の流れを1本でつなげて作れるようにします。途中で式が複雑になりやすいポイントは「材料を分けて列で持つ」方針に寄せるので、後から見直したときも追いかけやすいはずです。

  • 日付から「月(1〜12)」を取り出す
  • 月(1〜12)から「第1〜第4四半期」を作る(4月始まりの例)
  • 四半期から「上期・下期」を作る

ゴールは、日付列があるデータに対して「月」「四半期」「上期・下期」の列を追加し、集計や並べ替え、ピボットテーブルの行ラベルにそのまま使える状態にすることです。月を作れれば四半期は“分けるだけ”、四半期を作れれば上期下期は“まとめるだけ”なので、順番に積み上げると迷いにくくなります。

また、実務では式を作る以前にデータ側で詰まることがよくあります。ピボットテーブルで日付をグループ化できない、オートフィルが効かない、関数が見つからない(バージョン差)など、つまずきやすいポイントも合わせて整理します。関数を覚えるだけで終わらず、「なぜうまくいかないのか」を切り分けられるようにするのがこの記事の狙いです。

まずは準備:日付が「本物の日時」か確認する

MONTH関数やピボットテーブルのグループ化は、セルの中身が“本物の日付(日時)”として扱われていることが前提です。
見た目が「2025/4/1」でも、実は文字列になっていると、うまく動かない原因になります。

見分け方の目安は次のとおりです。

  • セルを選ぶと、数式バーに先頭のアポストロフィ(’)が見える → 文字列の可能性が高い
  • 右寄せではなく左寄せになっている(設定によっては例外あり) → 文字列の可能性がある
  • 並べ替えをすると、日付順にならず「文字の順」で並ぶ → 文字列の可能性が高い

直し方は複数ありますが、まずは“変換の方向性”を押さえると迷いません。

  • 文字列の日付を「日付として認識させる」
  • 不要な空白や見えない文字(全角スペースなど)を取り除く

データが外部から貼り付けられている場合は、空白や区切り文字が混ざっていることもあります。
日付処理に入る前に、ここを一度チェックしておくと後工程が安定します。

MONTH関数で「日付→月(1〜12)」を取り出す

日付から月(1〜12)だけを取り出すなら、MONTH関数が最短です。やりたいことが「月だけ欲しい」なのに、文字列処理や複雑な分解を始めると回り道になりがちなので、まずはMONTHで“月(数字)”を作ってしまうのが手堅いです。
基本形は次のとおりです。

  • =MONTH(A2)

A2に「2025/04/15」が入っていれば、結果は「4」になります。月末や月初でも同様で、たとえば「2025/04/01」でも「2025/04/30」でも、返ってくるのは同じ「4」です。
ここで作る“月(1〜12)”は、四半期判定の材料としてそのまま使うので、列として作っておくと便利です。四半期の式を直接日付にぶつけることもできますが、月を別列にしておくと「月の取り出しが正しいか」「四半期の分岐が正しいか」を別々に点検でき、ミスの切り分けがしやすくなります。

たとえば、元の列が「日付」、隣の列に「月」を作るイメージです。

  • A列:日付
  • B列:月(=MONTH(A2))

列を分けるメリットは、ピボットやフィルターでも実感できます。日付列だけだと「日付の粒度」が細かすぎて見づらい場面でも、月列があれば月単位で並べ替えたり、月だけで集計したりがしやすくなります。

日付が空欄の行がある場合は、まず空欄をどう扱うか(空欄のままにするのか、0にするのか)も決めておくと、集計時のブレが減ります。たとえば空欄をそのままにしたいなら、次のようにして空欄判定を先に入れるのも考え方として有効です。

  • 空欄なら空欄、それ以外は月:=IF(A2="","",MONTH(A2))

このひと手間で、未入力行が「1月扱い」「0扱い」になって集計が崩れるのを防ぎやすくなります。

ピボットで日付をグループ化できないときの典型原因

ピボットテーブルで日付を「月」「四半期」でグループ化できないとき、原因の多くは“日付が混ざっていない”ではなく“文字列日付が混ざっている”です。
たとえば、同じ列に本物の日付と文字列日付が混在していると、Excelはグループ化を正しく判断できません。見た目が同じでも「セルの中身の型」が違うと、Excel側は同じ種類のデータとして扱えないためです。

典型的には次のようなパターンがあります。

  • 取り込み元(CSVなど)で日付が文字列のまま入っている
  • 「2025/4/1 」のように末尾に空白がある
  • 区切りが「2025-04-01」などで、設定によって文字列扱いになる

加えて、見落としやすいのが「一部だけ違う」ケースです。たとえば、ほとんどの行は日付として入っているのに、数行だけが文字列で混ざっていると、グループ化が突然できなくなります。原因の切り分けとしては、まず該当列をざっと見て「明らかに並びが変」「一部だけ左寄せ」「フィルターで空白が多い」など、違和感がある行を探すのが近道です。

集計を急ぐときほど、まずは“日付が日付になっているか”を確認すると解決が早いです。MONTHが想定外の結果を返す場合も、式のミスより前に「日付が文字列」の可能性を疑うと手戻りが減ります。

オートフィルが効かないときの確認ポイント

月を取り出す列や四半期を作る列は、同じ式を下にコピーする場面が多いです。
それなのにオートフィルが効かないときは、Excelの設定やデータの状態が原因のことがあります。特に「途中までしか伸びない」「ドラッグしても同じ値が繰り返される」「コピーはできるが連続にならない」など、症状によって原因が分かれます。

よくあるチェックポイントは次のとおりです。

  • オートフィルが無効になっていないか(Excelのオプション)
  • 連続データとして認識されているか(途中に空行や結合セルがないか)
  • 表(テーブル)になっている場合、列の式が自動で反映される設定になっているか

作業としては、まず「少し下まで手動コピーしてみる」→「それでもずれるならデータ側(空行・結合)」→「コピーできるのにドラッグだけダメなら設定」を疑うと切り分けしやすいです。
「式は合っているのに増やせない」というときは、式そのものより“入力・コピーの仕組み”に原因があることが多いです。

月(1〜12)→四半期:先に「対応表」を押さえる(4月始まり例)

四半期は「1〜3月が第1四半期」と思いがちですが、会社や年度によって起点が違うことがあります。ここを曖昧にしたまま式を書き始めると、見た目は動いているのに集計結果だけがズレる、という事故が起きやすくなります。

まず押さえたいのは、「四半期=必ず1月始まり」ではないという点です。事業年度(いわゆる“年度”)を採用している場合、4月始まり・10月始まりなど、組織によって起点が変わることがあります。たとえば「年度の第1四半期」と言われたときに、社内では4〜6月を指すのに、自分だけ1〜3月を第1四半期として集計してしまうと、会議資料の数字が合わなくなります。

ここでは、よくある「4月始まり(年度)」の例で進めます。もし「1月始まり(暦年)」で集計したい場合は、後で対応表の行を入れ替えるだけで考え方は同じです。大事なのは、どちらで作るかを最初に決めて、式と資料の前提を揃えることです。

まずは、月(1〜12)と四半期の対応を表で固定しておくと迷いません。表を先に置く理由は、式の正しさを“目視で点検できる”からです。四半期の式は条件分岐になるので、対応表があるだけで「今どこが第2なのか」「境目はどこか」を確認しやすくなります。

月(1〜12)四半期(4月始まり)
4〜6第1四半期
7〜9第2四半期
10〜12第3四半期
1〜3第4四半期

この対応がズレたまま式を書くと、集計結果が全部ズレます。特に注意したいのは「境目の月」です。4月始まりなら4月・7月・10月・1月が切り替わりになるので、この4つの月をテストしてズレていないかを確認すると安心です。

「1月始まりなのか、4月始まりなのか」は、最初に決めてから式に落とし込むのが安全です。共有資料や引き継ぎがあるなら、表のすぐ近くに「本記事は4月始まりで作成」と一言残しておくだけでも、後から見返したときの混乱が減ります。

IFS関数で「月(1〜12)→四半期」を作る

範囲条件で四半期を作るなら、IFS関数が見通しよく書けます。
IFS関数は「条件 → 結果」を上から順番に判断し、最初に当てはまった結果を返します。

4月始まりの四半期を作る例(B2が月)です。

  • =IFS(B2<=3,"第4四半期",B2<=6,"第1四半期",B2<=9,"第2四半期",B2<=12,"第3四半期")

ポイントは、条件を“広い方から”ではなく“判定が早い順に”並べることです。
この例では「B2<=3」を最初に置くことで、1〜3月が第4四半期として確定します。
次に「B2<=6」で4〜6月、次に「B2<=9」で7〜9月、最後に「B2<=12」で10〜12月、という流れです。

式を作ったら、次のような月で試すと安心です。

  • 3 → 第4四半期
  • 4 → 第1四半期
  • 6 → 第1四半期
  • 7 → 第2四半期
  • 12 → 第3四半期
  • 1 → 第4四半期

「境目の月(3、4、6、7、9、10、12、1)」をテストすると、ズレがすぐ見つかります。

IF関数で「月(1〜12)→四半期」を作る(旧環境向け)

IFS関数が使えない環境(古いExcelなど)では、IF関数の入れ子で同じ考え方を実現できます。IFSに比べると式が長くなりやすいので最初は身構えがちですが、やっていることはシンプルで「上から順番に条件を判定して、当てはまったらそこで確定する」だけです。つまり、考え方はIFSと同じで、書き方(見た目)が違うだけだと思うと理解しやすくなります。

実務的には、共有先に古いExcelが混ざる可能性があるときに、IFで書ける形を知っておくと安心です。たとえば社内の一部が旧バージョンを使っていたり、取引先とやり取りするテンプレートになっていたりすると、IFSやSWITCHがエラーになるケースが出てきます。そういうときに「IF版も用意できる」だけで、ファイルの引き継ぎトラブルが減ります。

4月始まりの四半期をIFで書く例(B2が月)です。

  • =IF(B2<=3,"第4四半期",IF(B2<=6,"第1四半期",IF(B2<=9,"第2四半期","第3四半期")))

読み方のコツは、外側から順に見ることです。IFの入れ子は“カッコの迷路”になりやすいので、まず最外側で「最初に確定できる条件は何か」を押さえるのがポイントです。

  • まず「B2<=3」なら第4四半期(1〜3月はここで確定)
  • それ以外なら、次に「B2<=6」なら第1四半期(4〜6月はここで確定)
  • それ以外なら、次に「B2<=9」なら第2四半期(7〜9月はここで確定)
  • それ以外は第3四半期(10〜12月)

式を点検するときは、境目の月でチェックするとズレが見つかりやすいです。たとえば「3→第4」「4→第1」「6→第1」「7→第2」「9→第2」「10→第3」「12→第3」「1→第4」など、切り替わり前後を確認するだけで安心感が上がります。

入れ子が深くなるほどミスが増えやすいので、月(1〜12)を作る列と、四半期を作る列は分けておくと点検しやすくなります。さらに、IFの入れ子を編集するときは「まずは改行を入れて段をそろえる」「どのカッコがどこで閉じるかを見える化する」など、見た目を整えてから直すと手戻りが減ります。

四半期→上期・下期:SWITCH関数で「一致判定」する

上期・下期は、「第1四半期と第2四半期が上期」「第3四半期と第4四半期が下期」というように、四半期の“値の一致”で分けると考えやすいです。
このような「値がこれなら結果はこれ」という分岐は、SWITCH関数が得意です。

四半期が入っているセルをC2として、上期・下期を返す例です。

  • =SWITCH(C2,"第1四半期","上期","第2四半期","上期","第3四半期","下期","第4四半期","下期")

同じ結果(上期)が続く部分は、見た目として少し冗長に感じるかもしれません。
ただ、判定が明確で、後から見直したときに“何をしている式か”が分かりやすいのがメリットです。

IFSで作るなら(SWITCHが使えない場合の別解)

SWITCH関数が使えない環境では、IFS関数(またはIF)で「上期に当てはまる条件」「下期に当てはまる条件」を作れます。

たとえば四半期を数字(1〜4)で持っているなら、次のように範囲条件で分けられます。

  • =IFS(D2<=2,"上期",D2<=4,"下期")

四半期が文字列(第1四半期など)の場合は、上期に該当する値を並べる形になります。
「一致の列挙」が増えるほど、SWITCHのほうが読みやすくなることが多いです。

互換性(IFS/SWITCHがない・新しい関数を旧Excelで開く)

新しい関数を使うと、環境によっては「関数が見つかりません」「名前が無効です」といった表示になることがあります。
そのため、共有や引き継ぎが前提のファイルでは、どこまで新しい関数を使うかを先に決めておくのが安全です。

まず、IFS関数とSWITCH関数が使えるかどうかは、Excelのバージョンや更新状況で変わります。
実際の作業では、次のように考えると判断しやすいです。

  • 自分だけで使う/Microsoft 365で運用している → IFS・SWITCHを積極的に使ってよい
  • 共有先に古いExcelが混ざる可能性がある → IF中心に寄せる(互換性優先)

また、新しい関数を含むファイルを旧バージョンで開くと、次のようなことが起きやすいです。

  • 計算結果が出ず、エラー表示になる
  • そのセルの計算が止まり、後工程の列も連鎖的に崩れる

回避策としては、最初から互換性の高い関数に寄せるか、別の手段(Power Queryで列を作るなど)に寄せるのが現実的です。

関数の選び方早見表(IFS / SWITCH / IF)

どの関数を選ぶかは、「条件が範囲なのか、一致なのか」「互換性が必要か」で決めると迷いません。ここで言う“条件”は、次のどちらに近いかで考えると分かりやすいです。

  • 「〇〇以上ならA、〇〇以下ならB」のように、数値の範囲で分けたい(例:月1〜12を4つに区切る)
  • 「この値ならA、あの値ならB」のように、特定の値に一致したら返したい(例:第1四半期なら上期)

さらに、実務では「自分の環境だけ動けばOKか」「他の人のExcelでも壊れない必要があるか」で選択が変わります。社内共有の多い表や、取引先へ渡す資料は互換性が重視されやすいので、判断軸に入れておくと安心です。

やりたいこと向いている関数理由
月(1〜12)を範囲で四半期に分けるIFS上から順に範囲条件を書きやすい
四半期の値で上期/下期を決めるSWITCH値の一致で分岐を列挙しやすい
古いExcelでも動く形にしたいIF互換性が高い(入れ子は増える)
条件が増えても読みやすさを保ちたいIFS条件と結果をペアで並べられ、修正しやすい
一致判定のパターンが多い(ラベルが複数ある)SWITCH「値→結果」の対応が見た目どおりになりやすい

使い分けのコツは、表で迷ったときに「今の条件は“範囲”か“一致”か」を一度言葉にしてみることです。範囲のときにSWITCHで頑張ると列挙が増えて読みにくくなり、一致のときにIFSで頑張ると条件が増えたときの修正が大変になりがちです。

最後に、覚え方としては「範囲条件=IFS」「一致判定=SWITCH」「互換性=IF」で十分です。迷ったらこの3つに立ち戻り、

  • 将来、条件が増える可能性はあるか
  • ファイルを渡す相手のExcelは新しいか古いか

この2点を追加で考えると、実務で“後から詰む”確率を下げられます。

よくあるつまずき(3〜5個に厳選)

最後に、発生頻度の高い“つまずき”を短くまとめます。

  • 日付が文字列でMONTHが期待通りにならない
    • 見た目が日付でも、セルの中身が文字列のことがあります。まずは“日付が日付か”を確認してから式を入れると安定します。
  • 四半期がズレる(4月始まり/1月始まりの混同)
    • まず対応表を固定してから式を書くのが安全です。境目の月(3・4・6・7・9・10・12・1)でテストするとズレが見つかりやすいです。
  • IFS/SWITCHが見つからない(バージョン差)
    • 共有先に古いExcelが混ざるなら、最初からIF中心に寄せる方がトラブルが減ります。
  • オートフィルが効かない
    • 設定(Excelのオプション)や、途中の空行・結合セルが原因になることがあります。式が合っているのに増やせないときは、まず“増やし方”の環境を疑うと早いです。

おまけ:集計を楽にする周辺トピック(短く)

ここからはおまけです。関数で月・四半期・上期下期が作れるようになると、集計の土台が整うので、次の作業もやりやすくなります。特に「見せ方(ラベル)」「条件つきの集計」「ピボットの癖への対処」「前処理での列作成」は、現場でよく出てくる流れです。

  • 表示ラベル作り(例:年度+四半期)に「文字列結合」を使う発想
    • たとえば「2025年度 第1四半期」のようなラベルを作っておくと、ピボットの行ラベルが読みやすくなります。日付や月番号だけだと「どっちの年度?」となりがちなので、年度や四半期を文字として明示できるのは強みです。
    • ラベルは“並べ替えや集計のキー”にもなります。表示をきれいにする目的だけでなく、「同じ粒度でまとまる列を作る」という意味でも役立ちます。
  • 期別集計で出番があるMAXIFS/MINIFSの位置づけ
    • 「上期の最大値」「第2四半期の最小値」のように、条件つきで最大・最小を出したいときに候補になります。月や四半期の列ができていると、条件としてそのまま指定できるので式が短くなります。
    • たとえば「上期の最大売上」「第3四半期の最小工数」など、比較したい指標があるときに、ピボットを作らなくても1セルで確認できるのが便利です。
  • ピボットの日付グループ化の挙動(自動化と無効化の考え方)
    • 自動でグループ化される環境もありますが、思いどおりにならないときは設定の影響もあります。集計のルールを揃えるために、環境差がある前提で見ると混乱しにくいです。
    • また、日付グループ化は「月」「四半期」の切り口を簡単に作れる反面、日付が文字列混在だと一気に崩れます。今回のように“月列・四半期列を自前で持つ”やり方は、ピボット側の自動判定に依存しないという意味で安定します。
  • Power Queryで「月・四半期・期」を列として持つ考え方
    • データ取り込みの段階で列を作っておくと、ワークシート側の関数が減って管理が楽になることがあります。毎月同じCSVを取り込むような運用では、関数列を増やすよりも、取り込み側で整形してしまったほうが手戻りが減るケースもあります。
    • さらに、取り込み時点で「年度」「四半期」「上期下期」を付与できれば、後工程はピボットでもフィルターでも同じ前提で扱えるようになります。複数人で同じデータを扱う場合ほど、前処理で粒度を揃えるメリットが大きいです。

まとめ(今日やることチェック)

最後に、今日やることを短く整理します。ここを押さえておけば、途中で式を直すことになっても「どの工程でズレたか」をすぐ戻って確認できます。特に、日付データは一見きれいに見えても文字列が混ざったり、空欄が混ざったり、前提が崩れると一気に広範囲に影響が出るので、手順を固定しておくのが効果的です。

  • 手順:日付確認 → MONTH → 四半期(IFS/IF) → 上期下期(SWITCH/IFS)
    • 日付確認:まず“日付が日付になっているか”を確かめ、文字列日付や余計な空白がない状態に整えます。
    • MONTH:日付から月(1〜12)を取り出し、材料として別列に持ちます。
    • 四半期:対応表(4月始まり/1月始まり)を決めたうえで、IFSまたはIFで第1〜第4四半期に分けます。
    • 上期下期:四半期の値を使って、SWITCHまたはIFSで上期・下期にまとめます。
  • 迷ったら:互換性と条件の種類(範囲か一致か)で関数を選ぶ
    • 範囲で分ける(例:月1〜12を4つに区切る)ならIFSが読みやすい
    • 値の一致で分ける(例:第1四半期なら上期)ならSWITCHが分かりやすい
    • 共有先に古いExcelが混ざるなら、最終形はIFで書ける形に寄せる

月(1〜12)を作ってしまえば、四半期や上期下期は“分けるだけ”になります。逆に言うと、月の列が安定していないと、その後の四半期や上期下期が全部ズレるので、まずはMONTHの結果が期待どおりかを軽くチェックするのがコツです。

まずは小さい表でテffectedテストし、境目の月でズレがないことを確認してから本番データに広げると、作業が安定します。境目の月は、4月始まりなら「3・4」「6・7」「9・10」「12・1」をセットで見ると確認しやすいです。ここが合っていれば、残りの月もほぼ自動的に合ってきます。

最後に、運用の観点では「列を増やす」こと自体は悪ではありません。むしろ、月・四半期・上期下期を列で持っておくと、ピボットでもフィルターでも同じ粒度で扱えるため、資料作成が早くなり、引き継ぎもしやすくなります。まずは今回の流れで列を作り、必要に応じて表示ラベルや集計関数に広げていくと、日付の扱いがぐっと楽になります。

スポンサーリンク
記事URLをコピーしました