Excelピボットテーブルで日付をグループ化できない原因と対処|月別集計にする手順

スポンサーリンク

売上や勤怠のデータを、Excelのピボットテーブルで月別にまとめたい。ところが日付のグループ化がうまくいかない。次のような症状に心当たりはありませんか。

  • 右クリックしても[グループ化]が灰色で押せない
  • 押したら、グループ化できない旨のメッセージが表示された
  • 日付が1日ずつずらっと並んだまま、月にまとまらない

ピボットテーブルで日付をグループ化できない原因の多くは、元データの日付列にあります。日付に見えて実は文字列の値が1つ混ざるだけでも起きるトラブルです。放っておくと、月別の集計を手作業でやり直す羽目になりかねません。

この記事では、症状から原因を切り分けて、直し方と月別集計の手順までを順番に解説します。ピボットテーブルの基本操作から確認したい方は、Excelピボットテーブルの使い方ガイドもあわせてどうぞ。

対応バージョン: 本記事は Windows 版の Excel を想定しています。対象は Microsoft 365 / Excel 2024・2021・2019・2016 です。日付の自動グループ化は、Excel 2016 で導入されたデスクトップ版の機能。自動グループ化を無効にする設定は、Microsoft 365 / Excel 2024・2021 が公式の対象です。Excel for the web ではメニューの位置や対応状況が異なる場合があります。

結論:Excelピボットテーブルで日付をグループ化できないときは「日付列の中身」を疑う

ピボットテーブルの日付グループ化は、元データの列が日付(シリアル値)で揃っていることが前提です。文字列やエラー値が混ざると、Excelはその列を日付の列として扱えなくなります。まずは自分の症状がどれに当たるか、早見表で見当をつけましょう。

症状別・原因別の早見表

症状考えられる原因主な直し方
[グループ化]が灰色で押せない日付以外のセルを選んでいる/データモデル経由のピボット/Web版で開いている行ラベルの日付を選び直す/ピボットを作り直す/デスクトップ版で開く
グループ化できない旨のメッセージが出る文字列の日付/「未定」や #N/A などの無効な値/空白セル区切り位置・DATEVALUE で日付に変換/値を修正する
日付が日単位のまま羅列される文字列の日付/自動グループ化が働かない版や設定/グループ化を解除した元データを直す/手動で[月][年]を選んでグループ化

表のとおり、多くの症状は最後に「日付列がすべて日付になっているか」の確認に行き着きます。直し方の詳細は、このあとの「原因と直し方4つ」で順に扱います。

使っている環境も先に確認しておく

意外と見落としがちなのが、Excel の種類と版の違い。自分の環境は[ファイル]→[アカウント]の製品情報で確認できます。

ブラウザで開く Excel for the web では、グループ化の操作が見当たらないという声もあります。公式ドキュメントでも対応状況ははっきりしないため、うまくいかなければデスクトップ版で開き直すのが近道でしょう。まずは自分がどの環境で作業しているか、確かめてみてください。

症状別に切り分ける

同じ「グループ化できない」でも、見え方によって疑う場所が変わります。自分の画面に近いものから読んでみてください。

[グループ化]ボタンが押せない(灰色)

最初に確かめたいのは、選んでいるセルの場所です。グループ化は、行ラベル(または列ラベル)に並んだ日付のセルを選んだときに使えます。合計値が並ぶ値エリアや、ピボットの外のセルを選んでいると操作できません。

行ラベルの日付を選び直しても灰色のままなら、ピボットの作り方を疑います。データ モデル経由で作ったピボットかもしれません。確認方法と代わりの方法は、後述の「原因4」で紹介します。

グループ化できない旨のメッセージが出る

このメッセージは多くの場合、日付として扱えない値が列に混ざっているサインです。文字列の日付や「未定」、#N/A などが代表例。空白が混ざっている場合も、同じ症状につながることがあります。

文字列の日付を見抜くもう1つの手がかりが、複数の日付を選んでグループ化したら「グループ1」ができてしまうケースです。これは日付が文字列として扱われ、ただの項目の寄せ集めになった状態といえます。いったん右クリックの[グループ化の解除]で戻してから、元データを直しましょう。

日付が日単位のまま羅列される

Excel 2016 以降のデスクトップ版では、日付を行エリアに置くと、年・四半期・月が自動で追加されるのが基本です。日付がそのまま並ぶなら、日付が文字列になっていて自動グループ化が働いていない可能性があります。

ほかに、以前の版を使っている場合や、自動グループ化を無効にしている場合も日付は並んだままです。過去に[グループ化の解除]をした場合も同様でしょう。元データに問題がなければ、後述の「月別集計にする正しい手順」で手動でまとめてみてください。

原因と直し方4つ

原因を1つずつ探すより、まず問題の行をまとめて見つけるほうが早く片付きます。最初に診断の方法を紹介し、そのあと原因ごとの直し方を見ていきましょう。

30秒診断:ISNUMBER で問題の行を探す

Excel の日付の正体は、シリアル値という数値です。そこで ISNUMBER 関数を使えば、日付として認識されていない行を一発で見分けられます。ここでは次のサンプルで試してみましょう。

行A列(日付)セルの中身
22026/4/1日付
32026/4/2文字列(見た目は日付)
4(空白)何も入っていない
5未定文字列
62026/5/10日付
7#N/Aエラー値

手順は次のとおりです。

  1. 日付列の右隣に、空いている列を1つ挿入します。
  2. 挿入した列の2行目(B2)に、次の数式を入力しましょう。
=ISNUMBER(A2)
  1. B2 のフィルハンドルを、データの最終行までドラッグします。
  2. 見出しの行を選び、Ctrl+Shift+L でフィルターを付けます。
  3. B列のフィルターボタンで、[FALSE]だけにチェックを入れれば準備完了。

サンプルの結果は、2行目と6行目が TRUE、残りの4行が FALSE になります。FALSE の行が、グループ化を邪魔している可能性のある行です。

件数だけ先に知りたいときは、次の数式も便利です。

=ROWS(A2:A7)-COUNT(A2:A7)
=COUNTA(A2:A7)-COUNT(A2:A7)
=COUNTBLANK(A2:A7)

1つ目は日付(数値)以外の件数で、サンプルでは4。2つ目は、そのうち空白を除いた件数で3になります。3つ目は空白の件数で、結果は1です。確認が終わったら、補助列は削除してかまいません。

原因1:文字列の日付(区切り位置・DATEVALUE)

もっとも多いのが、見た目は日付なのに中身が文字列になっているケースです。CSV の取り込みや、別システムからのコピー貼り付けで起こりがち。セルの表示形式が[文字列]の列に日付を入力した場合も同じ状態になります。

見分け方の目安は、セル内の配置。配置を変えていなければ、日付は右寄せ、文字列は左寄せで表示されます。列の中に左寄せの日付があれば、それが文字列の日付です。

直し方A:区切り位置で一括変換する

「2026/4/2」のような4桁年の文字列なら、区切り位置で列ごと日付に変換できます。

  1. 日付の列(例:A列)の列番号をクリックします。
  2. [データ]タブの[区切り位置]をクリックします。
  3. ウィザードの1画面目は何も変えずに、[次へ]へ進みましょう。
  4. 2画面目も同じく、そのまま[次へ]をクリック。
  5. 3画面目の[列のデータ形式]で[日付]を選びます。
  6. 右側の一覧が[YMD]になっていることを確認します。
  7. 最後に[完了]をクリックすれば変換完了。

区切り位置は、1列ずつしか選べない点に注意してください。

直し方B:DATEVALUE 関数で変換する

関数で直すなら DATEVALUE です。すでに日付の行と文字列の行が混ざっている列では、次のように ISNUMBER と組み合わせます。

=IF(ISNUMBER(A2),A2,DATEVALUE(A2))

前述のサンプルで計算すると、A3 の文字列「2026/4/2」は 46114 というシリアル値に変わります。空白と「未定」の行は #VALUE!、#N/A の行は #N/A のまま。エラーになった行は、A列の値を原因2・3の方法で先に直しておきます。

すべての行が日付になったら、次の手順で元の列に戻しましょう。

  1. 数式の列をコピーします。
  2. A2 セルを右クリックし、[形式を選択して貼り付け]→[値]で貼り付けます。
  3. A列を選び、表示形式を[短い日付形式]にすれば完成。

DATEVALUE の詳しい使い方は、DATEVALUE関数の使い方で解説しています。なお、「26/4/2」のような2桁年の文字列なら、セル左上の緑の三角から「20XX に変換」を選ぶ方法もあります。4桁年の文字列には使えないので、そのときは直し方AかBを選んでみてください。

原因2:空白セル

空白が混ざっていると、グループ化できない・「(空白)」という項目が残る、といった症状につながることがあります。必ずグループ化できなくなるとは限りませんが、トラブルの切り分けでは真っ先に潰しておきたいポイントです。

次の点を確認してみましょう。

  • 日付の入力漏れがある行(後で入れるつもりだった行など)
  • データの途中に挟まった空行
  • ピボットの範囲が、データより広く取られていないか(列全体の指定など)

入力漏れの行には日付を入れ、不要な空行は削除します。行ラベルに「(空白)」が出ているなら、空白セルが範囲に含まれているサインです。ピボットの範囲を実データに合わせる方法は、後述の「範囲の再指定が必要なとき」を参照してください。

原因3:日付として無効な値(#N/A・「未定」・不正なシリアル値)

日付列に、日付以外の「意味のある文字」が入っているケースです。代表的なものを挙げます。

  • 「未定」「-」「調整中」などのメモ書き
  • VLOOKUP などの数式が返した #N/A
  • 「2026/2/30」のような存在しない日付(文字列として入る)
  • 「2026.4.1」のようなドット区切り(日付として認識されない)

メモ書きは日付に入れ替え、メモの内容は備考などの別の列に移しましょう。#N/A は数式の参照先に原因があるため、元の表のデータを直すのが先です。存在しない日付やドット区切りは、正しい日付に打ち直します。

逆に、日付が「46113」のような5桁の数字で表示されている列もあります。表示形式が[標準]のままだと、数値としてのグループ化の画面になる場合があります。表示形式を日付に直してから、ピボットを更新しましょう。

5桁の数字になる原因は日付が数字(シリアル値)になる原因と直し方で詳しく扱っているので、あわせて確認してみてください。

原因4:データモデル(OLAP)経由のピボット

ピボットを作るときに「このデータをデータ モデルに追加する」にチェックを入れた場合です。このピボットでは、通常のグループ化が使えない場合があります。元データが正しくても[グループ化]が灰色なら、この可能性を疑いましょう。

月別に集計したいだけなら、次のどちらかで対応できます。

  1. データ モデルを使わずにピボットを作り直す
  2. 元データに「月」の列を追加し、その列で集計する

作り直す場合は、[挿入]→[ピボットテーブル]のダイアログでデータ モデルのチェックを外して作成します。チェックの表記はバージョンによって異なる場合があるため、画面の文言で確かめてください。

月列を追加する方法は、後述の「再発防止」で紹介します。Power Pivot を使っているなら、モデル側に日付テーブルや月の列を用意するのが一般的な方法です。

月別集計にする正しい手順

元データが整ったら、いよいよ月別にまとめる段階です。自動グループ化が働かない場合も、この手順なら手動で月単位にできるはず。

月と年を同時に選んでグループ化する

  1. 日付のフィールドを、ピボットテーブルの[行]エリアに配置します。
  2. 行ラベルに並んだ日付のセルを1つ右クリックします。
  3. メニューの[グループ化]をクリック。
  4. ダイアログの一覧で[月]をクリックして選択します。
  5. 続けて[年]もクリックし、[月]と[年]の2つが選ばれた状態にします。
  6. それ以外の単位が選ばれていたら、クリックして外しましょう。
  7. [OK]をクリックします。

これで行ラベルが「年」→「月」の階層になり、月別の集計が完成します。[開始の値]と[末尾の値]は、通常は自動で入った日付のままでかまいません。

年を外すと別年の同月が合算される落とし穴

手順5で[年]を選ばないと、年をまたぐデータでは同じ月が1つにまとめられます。たとえば2025年4月の売上が100,000円、2026年4月が150,000円だったとしましょう。[月]だけでグループ化すると、「4月」の行に250,000円と表示されてしまいます。

1年分のデータでも、翌年分を追加した途端にこの状態になります。月別集計では、[月]と[年]をセットで選ぶのを習慣にしておくと安心です。

自動グループ化の解除・再設定

前述のとおり、Excel 2016 以降のデスクトップ版では日付に年・月などが自動で追加されます。日単位で見たいときは、自動でできたグループの項目を右クリックし、[グループ化の解除]を選びましょう。

これから作るピボットで自動グループ化を止めたいなら、次の設定が便利。公式の対象は Microsoft 365 / Excel 2024・2021 で、2019 以前は環境により異なります。

  1. [ファイル]→[オプション]をクリックします。
  2. 左側の一覧で[データ]を選びます。
  3. [データ オプション]の「ピボットテーブルの日付/時刻列の自動グループ化を無効にします。」にチェックを入れましょう。
  4. [OK]をクリックして閉じます。

この設定は、新しく作るピボット向けのものです。作成済みのピボットは、前述の[グループ化の解除]で戻してください。月単位にし直したいときは、前述の「月と年を同時に選んでグループ化する」をもう一度行えば再設定できます。

範囲の再指定が必要なとき

元データを直したら、ピボット内を右クリックして[更新]を押し、変更を反映させます。更新しても直らないときは、ピボットの範囲が古いままになっていないかを疑いましょう。

範囲の変更方法や、更新されないときの対処はピボットテーブルが更新されない原因と直し方にまとめています。行を追加したのに集計に入らないときも、こちらで確認してみてください。

再発防止:日付グループ化できない状態を作らない

一度直しても、元データに文字列の日付が入り込めば同じトラブルが繰り返されます。データを作る段階で防ぐ工夫を、3つ見ていきましょう。

Ctrl+Tでテーブル化する

元データの範囲を選んで Ctrl+T を押すと、テーブルに変換されます。テーブルを元にしたピボットは、行を追加しても範囲が自動で広がるのが利点。範囲の指定ミスで空白やゴミデータを拾うことが減ります。

テーブルの使い方はExcelのテーブル機能の使い方入門で詳しく解説しています。ピボットの元データは、まずテーブルにしておくのがおすすめです。

入力規則で日付以外を弾く

手入力の表なら、データの入力規則で日付以外を受け付けない設定にしておきましょう。

  1. 日付の列を選択します。
  2. [データ]タブの[データの入力規則]をクリックします。
  3. [入力値の種類]で[日付]を選びましょう。
  4. [データ]で[次の値の間]を選びます。
  5. 開始日に「2000/1/1」、終了日に「2099/12/31」などを入力します。
  6. 最後に[OK]をクリック。

これで「未定」やドット区切りの入力はエラーで止められます。設定の詳細はデータの入力規則完全ガイドを参考にしてみてください。

月列を元データに作る代替策(TEXT / EOMONTH)

グループ化に頼らず、元データに「月」の列を作っておく方法もあります。データ モデル経由のピボットや、グループ化の操作が見当たらない環境でも使える方法です。

=TEXT(A2,"yyyy/mm")
=EOMONTH(A2,0)

A2 が 2026/4/1 なら、TEXT は「2026/04」という文字列を返します。EOMONTH はその月の末日 2026/4/30 を返すので、表示形式を日付にして使いましょう。この列を行エリアに置けば、そのまま月別の集計になります。

TEXT の書式に年を含めているのは、前述の「別年の同月が合算される」問題を防ぐためです。空白の行は「1900/01」になってしまうため、空白がある表では次のように書きます。

=IF(A2="","",TEXT(A2,"yyyy/mm"))

EOMONTH の詳しい使い方はEOMONTH関数の使い方で解説しています。グループ化がどうしても使えない環境なら、月列の追加を試してみてください。

よくある質問(FAQ)とまとめ

最後に、日付のグループ化でよく出る疑問をまとめます。

Q&A

Q. Excel for the web でも日付をグループ化できますか?

A. Web 版ではメニューの位置や対応状況が異なる場合があり、公式ドキュメントでもはっきり示されていません。操作が見当たらないときは、デスクトップ版で開いてグループ化するか、前述の月列を追加する方法を使いましょう。

Q. Googleスプレッドシートのピボットでも同じ手順ですか?

A. 操作の名前や場所が異なります。スプレッドシートのピボットはGoogleスプレッドシートのピボットテーブルの作り方を参照してください。

Q. 値の集計が「合計」ではなく「データの個数」になります。

A. おもに数値の列に文字列が混ざっているときに起きる症状で、日付の文字列と根っこは同じです。直し方はピボットテーブルが個数になる原因と合計に変える手順で解説しています。

Q. 四半期ごとに集計したいときは?

A. 前述の「月と年を同時に選んでグループ化する」の手順4で、[月]の代わりに[四半期]を選び、[年]とセットでグループ化します。月と四半期の両方を選べば、四半期の中に月が並ぶ階層にもできます。

まとめ

ピボットテーブルで日付をグループ化できないときは、ピボットの設定より先に元データの日付列を確認するのが近道です。

  • まず ISNUMBER で、日付として認識されていない行を探す
  • 文字列の日付は、区切り位置か DATEVALUE で日付に変換する
  • 空白・「未定」・#N/A は、入力し直すか範囲から外す
  • データ モデル経由のピボットなら、作り直すか月列を追加する
  • 月別集計では[月]と[年]をセットで選ぶ
  • テーブル化と入力規則で、同じトラブルを防ぐ

直したあとは、ピボットの[更新]を忘れずに。手元の表で ISNUMBER の診断から試してみてください。

タイトルとURLをコピーしました