月次の集計をピボットテーブルで組み、日付を右クリックして[グループ化]を押した瞬間に「選択範囲をグループ化できません」と出て止まる。英語版の Excel なら "Cannot group that selection" と表示されます。急いで月次報告を作りたいときに限って出るので、同じ操作を何度も試してしまいがちです。
先に結論を書きます。このメッセージが出るとき、原因はほぼ3系統しかありません。しかも、日付の列を1列だけ調べれば、どの系統なのかは1分で判別できます。この記事では Microsoft の公式ヘルプで確認できる仕様だけを使い、判定 → 原因別の対処 → 再発防止の順に進めます。
なお、このメッセージそのものを解説した Microsoft の公式ページは見つかりませんでした。メッセージ文の意味を説明した公式の記載は無いという前提で、「ピボットテーブルが日付としてグループ化できる条件」の側を公式ヘルプから固めていきます。
結論:原因は「文字列の日付」「空白・混在」「範囲違い」の3系統だけ
グループ化は、対象のフィールドが日付(または数値)としてそろっている時にしか成立しません。Microsoft の公式ヘルプ「ワークシートのデータを分析するピボットテーブルを作成する」には、データの準備として「列のデータ型は同じである必要があります。たとえば、同じ列に日付とテキストを混在させることはできません。」「データを表形式でまとめ、空の行や列がないようにしてください。」と明記されています(ピボットテーブルを作成する)。
つまり、エラーの正体は「Excel から見て、その列が日付の列になっていない」という一点です。そうなる経路が3つあります。
- ①日付が文字列として入っている(最も多い。システムからの CSV 出力・他システムからの貼り付けで起きる)
- ②列の中に空白セルや日付以外の値が混ざっている(1セルでも混ざると全体が対象外になる)
- ③ピボットテーブルのデータソースの範囲が、実データとずれている(表の下の空行や、見出しの無い列まで範囲に入っている)
順番も決まっています。①と②は元データを直す話、③はピボットテーブル側の設定の話です。まず①か②かを1分で判定し、どちらでもなければ③を見る——この順で潰すのが最短です。
症状×原因×最短の対処の早見表
画面に出ている状態から、どの系統かをおおよそ絞れます。
いま見えている症状 | 当たりやすい原因 | 最短の対処 |
|---|---|---|
[グループ化]を押すとすぐエラー。日付列が左に寄って表示されている | ①文字列の日付 | エラーチェックまたは DATEVALUE で日付に変換 |
行ラベルに「(空白)」という項目がある | ②空白セル | 空白セルを埋める、または範囲を実データ分だけに直す |
「2026/4/1」と「4月1日入荷分」のような文字が同じ列にある | ②データ型の混在 | 文字の行を別列に分け、日付列は日付だけにする |
行数が実データより多い。合計が実際より少し大きい | ③範囲違い(空行を含んでいる) | [データソースの変更]で範囲を直す/テーブル化する |
グループ化はできたが「1月」「2月」だけで年が無い | 単位の選択不足 | [グループ化]の[基準]で「年」も一緒に選ぶ |
右クリックしても[グループ化]が薄くて押せない | データモデル(Power Pivot)ベースのピボットテーブル | 通常のセル範囲/テーブルから作り直す |
まず1分で判定する:右揃えと ISNUMBER の2点
1. 日付列の表示が右に寄っているかを見る
Microsoft の公式ヘルプ「文字列として保存されている日付を日付形式に変換する」には、「文字列として書式設定された日付は、セル内で (右揃えではなく) 左揃えになります。」と書かれています(文字列の日付を日付に変換する)。日付列を選び、配置をいじっていない前提で左に寄っていれば文字列、右に寄っていれば日付(シリアル値)です。
ただし、誰かが中央揃えや左揃えを手で設定している表ではこの見分けが効きません。配置を触った可能性がある表では、次の関数で確かめます。
2. 空いているセルで ISNUMBER を使う
日付列の先頭セルが A2 なら、空いているセルに =ISNUMBER(A2) と入れます。TRUE なら数値(=日付のシリアル値)、FALSE なら文字列です。公式ヘルプ「IS 関数」には、二重引用符で囲まれた数値はテキストとして扱われ、=ISNUMBER("19") は FALSE を返すと明記されています(IS 関数)。見た目が日付でも、中身が文字なら容赦なく FALSE になります。
この式を列の最後までコピーして、FALSE が1つでも出れば①か②、全部 TRUE なら③に進みます。日付がシリアル値として保存される仕組み自体は、Excel の日付がシリアル値(5桁の数字)になる理由の記事で整理しています。グループ化はこのシリアル値を前提にした機能なので、ここが崩れていると何をしても通りません。
原因①:日付が文字列として入っている
エラーチェックの通知から直す
2桁の年(「26/4/1」など)でテキストになっている日付は、Excel 自身が検知します。公式ヘルプでは、セルの左上隅に表示される小さな緑色の三角形(エラーインジケーター)をクリックし、メニューから「XX を 20XX に変換」または「XX を 19XX に変換」を選ぶ手順が案内されています。範囲を選んでまとめて変換できるので、件数が多い時はこれが最も速い方法です。
DATEVALUE で一括変換する
2桁年以外の文字列日付は、DATEVALUE 関数で変換します。公式ヘルプの手順は次の流れです。
- 空白セルを選び =DATEVALUE( と入力して、変換したいセルを選び ) で閉じて Enter を押す
- シリアル値(数字)が返るので、フィルハンドルで必要な行数ぶんコピーする
- その範囲をコピーし、[形式を選択して貼り付け]で値だけを貼り付ける
- 貼り付けた列に日付の表示形式を適用する
DATEVALUE は「テキストとして保存された日付を、Excel が日付として認識するシリアル番号に変換する」関数です。変換後にピボットテーブルを更新すれば、[グループ化]が通るようになります。
なお「区切り位置」で日付に変換する方法もよく使われますが、今回確認した Microsoft の公式ヘルプには、文字列日付の対処として区切り位置の手順は載っていませんでした。公式の手順に沿うなら、エラーチェックか DATEVALUE が確実です。数値側が同じ症状になっている場合は、エクセルの数値が文字列になって集計されないときの直し方も合わせて見ると、原因の形が同じだと分かります(公式ヘルプでは、エラーの通知から「数値に変換」を選ぶ方法と、VALUE 関数で変換して値貼り付けする方法が案内されています)。
そもそも変換で崩れている場合
CSV を開いた時点で日付が別の形に化けている、あるいは「1-2」のような伝票番号が勝手に日付になっているなら、取り込みの入口から見直したほうが早いです。この挙動と止め方は エクセルで日付に勝手に変換される現象の止め方にまとめています。入口を直しておくと、翌月また同じ変換作業をやらずに済みます。
原因②:空白セルや日付以外の値が混ざっている
日付列に1セルでも空白があると、ピボットテーブルの行ラベルに「(空白)」という項目が現れ、日付としてのグループ化が成立しません。公式ヘルプが「空の行や列がないようにしてください」と書いているのは、見た目の問題ではなくフィールドのデータ型が1つに決まらなくなるからです。
対処は2つです。1つは、空白セルに値を入れること。実務では「未定」「未入荷」といった文字を入れたくなりますが、文字を入れると今度はデータ型の混在になってグループ化できません。日付列には日付だけを入れ、区分は別の列(「状態」列など)に分けます。もう1つは、空白行がデータの末尾にあるだけなら、ピボットテーブルの範囲を実データ分に詰めることです(原因③の手順)。
注意点として、数式が ""(長さ0の文字列)を返しているセルは、見た目は空白ですが空白ではありません。ISNUMBER は FALSE を返し、グループ化も通りません。IFERROR や IF で "" を返している列は、返す値を日付か NA() などに見直す必要があります。
集計の形そのものを見直したほうが早いこともあります
毎月この変換と範囲の直しを人手でやっているなら、入力の時点で日付が日付として入る仕組みにしたほうが、合計すると短い時間で終わります。記事の途中で恐縮ですが、Mihata はスプレッドシートを入力画面ごと作り替える、そういう地味な作り替えも請け負っています。
原因③:データソースの範囲が合っていない
範囲を実データ分に直す
ピボットテーブルを選び、[分析]タブの[データ]グループから[データソースの変更]を選びます。公式ヘルプでは、別のテーブルやセル範囲に変えるときは[テーブルまたは範囲の選択]をクリックし、[テーブル/範囲]のテキストボックスに範囲を入れて OK を押す、と案内されています(ピボットテーブルのソースデータを変更する)。
ここで直すべきは次の2点です。表の下にある空行を範囲から外すことと、見出し行を1行だけ含めることです。公式ヘルプは「すべての列にヘッダーが設定されていること」「各列に対して一意でラベルが空白でないラベルが 1 つの行であること」を求めています。見出しが2行になっていたり、結合セルで見出しを作っていると、2行目が1件のデータとして読まれ、日付列に文字が混ざった状態になります。
なお公式ヘルプには、ブックのデータモデルに基づくピボットテーブルではデータソースを変更できないと記載があります。データモデル(Power Pivot)で作ったピボットテーブルは、グループ化の挙動も通常のものとは異なります。範囲の指定から作り直すのが早いですが、データモデル側のグループ化可否について公式の明記は見つかりませんでした。
テーブルにして範囲を自動で伸ばす
毎月行が増える表なら、範囲を手で直し続けるのではなくテーブル(構造化参照)にします。公式ヘルプには、テーブルの最後の行の下のセルに入力を始めると、テーブルが拡張されてその行が含まれると書かれています(行と列を追加・削除してテーブルのサイズを変更する)。貼り付けで行を増やした場合も、列数が同じか少なければテーブルが拡張されます。
ピボットテーブルのデータソースをこのテーブル名にしておけば、行が増えても範囲を直す作業は不要になります。デメリットも書いておくと、テーブル化すると見出し行の書式や結合セルが使えなくなるため、見た目を作り込んだ既存の帳票をそのままテーブルにするのは向きません。集計元は素のテーブル、見せる表は別シートに分けるのが現実的です。
グループ化はできたが月が「1月」だけにまとまる場合
エラーは消えたのに、2025年1月と2026年1月が同じ「1月」に合算されている——これはエラーではなく、グループ化の単位の選び方です。
公式ヘルプの手順では、値を右クリックして[グループ化]を選び、[開始の値][末尾の値]を必要に応じて編集し、[基準]で期間を選びます。ここで「月」だけを選ぶと、年をまたいだ同じ月が1つの項目にまとまります。年度や年月で見たいなら、[基準]で「年」も一緒に選びます。すると「年」のフィールドが追加され、年 → 月の階層で並びます。
逆に、日付を入れただけで勝手に年や四半期の階層が付くのが邪魔なこともあります。公式ヘルプには、時刻のグループ化によって「ピボットテーブルに時刻のフィールドの行を追加する際に、時刻に関連するフィールドにまたがる関係が自動的に検出され、まとめてグループ化されます」とあります。これを止める設定は、[ファイル]→[オプション]→[データ]にある「ピボットテーブルの日付/時刻列の自動グループ化を無効にします」です。説明文は「既定では、日付と時刻の列は、横に + 記号が付いてグループ化されます。 この設定では、その既定値は無効になります。」とされています(Excel のデータのインポートと分析のオプション)。この設定はブック単位ではなく Excel 側の設定なので、切ると自分が開く他のブックにも効きます。
似て非なる話:スプレッドシートのピボットが更新されない件との違い
同じ「ピボットの集計が思ったようにならない」でも、Google スプレッドシートで起きる「追加した行が合計に入らない」「数字が古いまま」という症状は、原因の系統が違います。あちらはセルの中身を書き換えれば自動で反映されるのが正常な動作で、問題になるのは参照範囲・フィルタ・参照元の再計算などです。詳しくは スプレッドシートのピボットテーブルが更新されない原因と直す手順に分けて書いています。
切り分け方は単純です。Excel の「選択範囲をグループ化できません」は、データ型の問題で操作そのものが拒否されている状態。更新されない系は、操作は通っているが参照している範囲や再計算のタイミングの問題です。前者はデータを直し、後者は範囲と更新を直す——混ぜて考えると、直ったかどうかが分からなくなります。
再発防止:翌月も同じ作業をしないために
このエラーは「毎月同じ日に、同じ人が、同じファイルで」繰り返すのが特徴です。元データの作り方を3点だけ決めておくと止まります。
- 日付列には日付だけを入れる。備考・状態・区分は別の列に分ける(公式の「同じ列に日付とテキストを混在させることはできません」に従う)
- 集計元はテーブルにする。行が増えても範囲が自動で伸び、データソースの変更が不要になる
- 取り込み直後に ISNUMBER で1列だけ検品する。FALSE が出た月だけ変換すれば、原因を探す時間がゼロになる
CSV を毎月開いて貼り付けている工程があるなら、貼り付け後の検品を1セルの数式として表に残しておくのが確実です。人の目で「左に寄っているか」を見るより早く、他の人が引き継いでも気づけます。
まとめ
「選択範囲をグループ化できません」は、Excel がその列を日付として扱えていないことだけを意味します。原因は文字列の日付・空白や混在・範囲違いの3系統で、判定は日付列に ISNUMBER を1本入れるだけです。FALSE があれば元データの変換、全部 TRUE なら[データソースの変更]で範囲を詰める。この順に進めれば、思いつく操作を総当たりする必要はありません。
そして、エラーが消えた後に残るのは「来月もまた同じことをするのか」という問題です。日付列を分ける・テーブルにする・検品の数式を1つ置く。この3つで、翌月の同じ30分はほぼ無くなります。表の作り方そのものから見直したいときは、お気軽にご相談ください。
よくある質問
「選択範囲をグループ化できません」と出る原因は何ですか?
Excel がその列を日付(または数値)として扱えていないことが原因です。具体的には、日付が文字列として入っている、列に空白セルや日付以外の値が混ざっている、ピボットテーブルのデータソースの範囲が実データとずれている、の3系統に分かれます。公式ヘルプには、列のデータ型は同じである必要があり、同じ列に日付とテキストを混在させることはできないと明記されています。
日付が文字列になっているかどうかは、どう見分けますか?
2つあります。1つは表示の寄り方で、公式ヘルプには文字列として書式設定された日付はセル内で右揃えではなく左揃えになると書かれています。もう1つは空いているセルに =ISNUMBER(日付セル) と入れる方法で、FALSE なら文字列です。配置を手で変えている表では、ISNUMBER のほうが確実です。
文字列の日付を一括で日付に変換する公式の手順はありますか?
2桁の年なら、セルの左上に出る緑色の三角形(エラーインジケーター)をクリックして「XX を 20XX に変換」を選びます。それ以外は DATEVALUE 関数で変換し、返ってきたシリアル値をコピーして形式を選択して貼り付けで値だけ貼り、日付の表示形式を適用します。区切り位置を使う手順は、今回確認した公式ヘルプには載っていませんでした。
空白セルは「未定」などの文字で埋めてよいですか?
日付列を文字で埋めると、今度はデータ型の混在になってグループ化できません。日付列には日付だけを入れ、未定や未入荷といった区分は別の列に分けてください。数式が長さ0の文字列("")を返しているセルも、見た目は空白でも空白ではなく、ISNUMBER は FALSE を返します。
グループ化できたのに年が無く「1月」にまとまってしまいます。
グループ化の単位の選び方です。値を右クリックして[グループ化]を選び、[基準]で「月」だけを選ぶと年をまたいだ同じ月が1つにまとまります。「年」も一緒に選べば、年から月への階層で並びます。逆に自動で付く階層が邪魔な場合は、[ファイル]→[オプション]→[データ]の「ピボットテーブルの日付/時刻列の自動グループ化を無効にします」で止められます。
ピボットの不具合が何度も繰り返されるなら、集計そのものをスプシ de 社内アプリで仕組み化してしまう手もあります。