Excelで行や列、図形をグループ化できないときはないでしょうか。
けど、そんな中で悩むことは、
・原因がわからず、どこを直せばよいかわからない
・図形のグループ化のやり方も知りたい
ですよね。
今回はそんなお悩みを解決する
についてまとめます!
完成イメージ
今回は、月別の売上表を四半期ごとにまとめて折りたたむことをゴールにします。
行をグループ化すると、行番号の左側に±ボタン(アウトライン記号)が表示されます。
±ボタンを押すと、その四半期の明細だけを折りたたんだり、元に戻したりできます。
画像のとおり、グループを折りたたむと不要な行が隠れて、表がスッキリします。

上の画像が完成形です。
四半期ごとに行がグループ化され、行番号の左に±ボタンが表示されます。
±を押すと、その四半期の明細だけを折りたたんだり、元に戻したりできます。
なお、グループ化できないときの6つの原因と対処法(トラブルシュート)と、
図形のグループ化、VBAで一括してグループ化する方法もあわせてご紹介します。
もくじ
STEP1. 元データを用意する
まずはグループ化したい月別の売上表を用意します。
1行目が見出しです。
2行目からは1月〜12月の明細と、四半期ごとの小計行を並べています。
小計行(第1四半期計〜第4四半期計)は、それぞれ直前の3か月を =SUM で合計しています。
この小計行が、あとでグループ化したときの「区切り」になります。

下の表をコピーして、Excelのシートに貼り付けるとそのまま試せます。
| 月 | 売上 | 備考 |
|---|---|---|
| 1月 | 520000 | 新規キャンペーン |
| 2月 | 480000 | |
| 3月 | 610000 | 決算月 |
| 第1四半期計 | ||
| 4月 | 450000 | |
| 5月 | 530000 | |
| 6月 | 590000 | |
| 第2四半期計 | ||
| 7月 | 620000 | |
| 8月 | 470000 | 夏季休暇 |
| 9月 | 550000 | |
| 第3四半期計 | ||
| 10月 | 600000 | |
| 11月 | 640000 | |
| 12月 | 720000 | 年末商戦 |
| 第4四半期計 |
※ 数式で求める列は空にしています。すでに値が入っている列はそのまま残して試せます。
STEP2. 行をグループ化する(基本の操作)
グループ化したい行を選択し、データ タブ → グループ化をクリックします。
ショートカットは Shift+Alt+→(右矢印) です。
ここでは2行目〜4行目(1月〜3月)を選んでグループ化します。
同じ要領で、6行目〜8行目、10行目〜12行目、14行目〜16行目もグループ化します。
グループ化すると、行番号の左側に±ボタンと、範囲を示すかっこ(アウトライン)が表示されます。
この±ボタンが、開閉の切り替えスイッチになります。
±ボタンは、グループの下端(小計行の行番号の左)に表示されます。
行のグループ化は データ タブ → グループ化(Shift+Alt+→)。
グループ化すると、行番号の左に±ボタンが表示されます。
列をグループ化したときは、列記号の上に±ボタンが表示されます。
STEP3. グループを折りたたむ(±ボタンで開閉)
グループを折りたたむと、その行は非表示になり、表をコンパクトにできます。
画像では4月〜12月(第2〜第4四半期)の明細を折りたたんでいます。
折りたたむと、±ボタンの表示が+に変わります。
行番号が 1〜5 のあと 9・13・17 に飛んでいるのがポイントです。
隠れている行は、+ボタンを押せばいつでも再表示できます。

STEP4. グループ化を解除する
グループ化をやめたいときは、対象の行を選択し、データ タブ → グループ解除をクリックします。
ショートカットは Shift+Alt+←(左矢印) です。
アウトラインをまとめて消したいときは、データ タブ → グループ解除 → アウトラインのクリアを選びます。
折りたたんだまま解除すると行が隠れたままになるので、先にすべて展開しておきましょう。
画像のように、±ボタンが消えて元の表示に戻れば解除完了です。

STEP5. 列をグループ化する
列をグループ化したいときは、対象の列を選択して同じくデータ タブ → グループ化をクリックします。
ショートカットも同じ Shift+Alt+→ です。
列の場合は、±ボタンとアウトラインが列記号の上に表示されます。
行番号の左を見ても何も出ないので、「反応していない」と勘違いしないようにしましょう。
STEP6. 図形をグループ化する
行や列は「アウトライン」ですが、図形は「図形のグループ化」という別の機能です。
複数の図形を選んで Ctrl+G を押すと、1つのグループにまとめられます。
リボンから行うときは、図形の書式 タブ → グループ化 → グループ化をクリックします。
解除するときは Ctrl+Shift+G、または図形の書式 タブ → グループ化 → グループ解除です。
行のグループ化(Shift+Alt+→)とはショートカットが違うので、ここは注意しましょう。
行・列のグループ化と、図形のグループ化は別の機能です。
行・列は Shift+Alt+→、図形は Ctrl+G、と覚えてしまいましょう。
グループ化の種類と違い
ひとくちにグループ化といっても、行・列のグループ化と図形のグループ化では仕組みが異なります。
違いを表にまとめました。
| 種類 | 対象 | 主な操作 | 解除の操作 | 表示される記号 |
|---|---|---|---|---|
| 行のグループ化 | 行 | データ → グループ化 Shift+Alt+→ |
データ → グループ解除 Shift+Alt+← |
行番号の左に±ボタン |
| 列のグループ化 | 列 | データ → グループ化 Shift+Alt+→ |
データ → グループ解除 Shift+Alt+← |
列記号の上に±ボタン |
| 図形のグループ化 | 図形・画像 | Ctrl+G 図形の書式 → グループ化 |
Ctrl+Shift+G 図形の書式 → グループ解除 |
図形が1つにまとまる(±ボタンは出ない) |
VBAで行をまとめてグループ化する
毎回手で範囲を選ぶのが手間なときは、VBAでグループ化するのもおすすめです。
四半期ごとにまとめてグループ化するコードはこちらです。
Sub GroupQuarters()
' 明細行を四半期ごとにまとめてグループ化する
Rows("2:4").Group ' 第1四半期(1〜3月)
Rows("6:8").Group ' 第2四半期(4〜6月)
Rows("10:12").Group ' 第3四半期(7〜9月)
Rows("14:16").Group ' 第4四半期(10〜12月)
End Sub
折りたたみ(ShowDetail)と解除(Ungroup)のコードもあわせてご紹介します。
Sub CollapseQuarters()
' 第2〜第4四半期を折りたたむ(小計行の ShowDetail = False)
Rows(9).ShowDetail = False
Rows(13).ShowDetail = False
Rows(17).ShowDetail = False
End Sub
Sub ClearGroups()
' グループ化を解除してアウトラインを消す
Rows("2:16").Ungroup
End Sub
図形をVBAでグループ化するコードはこちらです。
Sub GroupShapes()
' 3つの図形をまとめて1つのグループにする
Dim g As Shape
Set g = ActiveSheet.Shapes.Range(Array("Rectangle 1", "Oval 1", "TextBox 1")).Group
' 解除するときは g.Ungroup
End Sub
設定するのは明細行ではなく、グループの区切りになる小計行です。ここが最初は戸惑いやすいポイントですね。
グループ化できない原因と対処法(トラブルシュート)
実際に試すと、思ったようにグループ化できないこともあるかもしれません。
よくある6つの原因と対処法をまとめました。
| 症状 | 原因 | 対処 |
|---|---|---|
| グループ化のボタンがグレーで押せない | シートが保護されている | 校閲 タブ → シート保護の解除をクリックする |
| グループ化のボタンが押せない | ブックが共有ブックになっている | 校閲 タブ → 共有ブックで「共有を解除」にする |
| リボンのほとんどがグレーで操作できない | 保護ビューで開いている | 画面上部の編集を有効にするをクリックする |
| グループ化しても一部の行が別々になる | 選択範囲が離れている(空白行をまたいでいる) | 連続した範囲を選び直す/「グループ化」ダイアログで行を選ぶ |
| アウトラインが二重・入れ子になる | すでにグループ化されている | 一度グループ解除してから、やり直す |
| テーブルの中でグループ化できない | 表がテーブル(リスト)になっている | テーブルを普通の範囲に変換してからグループ化する |
グループ化はできているのに±ボタンが見当たらないときは、画面の設定でアウトライン記号が非表示になっている可能性があります。
その場合は Ctrl+8 を押すと、表示を切り替えられます。
機能の説明
今回登場したアウトラインとグループ化、ShowDetailの概要です。
それぞれの違いを押さえておきましょう。
アウトライン
| できること | 行や列を階層化して、展開と折りたたみを切り替えられるようにする仕組みです。 |
|---|---|
| 表示される場所 | 行のグループは行番号の左、列のグループは列記号の上に±ボタンが表示されます。 |
| レベル | 最大8階層まで作れます。入れ子にするとレベル2、レベル3…と増えていきます。 |
| こんなときに | 四半期や月ごとの内訳をまとめ、ふだんは折りたたんでおきたいとき。 |
| 注意 | ±ボタンが消えたときは Ctrl+8 でアウトライン記号の表示を切り替えられます。 |
グループ化(データ タブ → グループ化)
| できること | 選択した行または列をアウトラインとしてまとめます。 |
|---|---|
| ショートカット | グループ化: Shift+Alt+→ / 解除: Shift+Alt+← |
| ダイアログ | 「グループ化」ダイアログで行か列を選べます。自動判別できないときはここで指定します。 |
| こんなときに | 詳細行はふだん隠しておき、必要なときだけ展開したいとき。 |
| 注意 | 範囲が離れていると別々のグループになります。テーブル・共有ブック・保護シートでは使えません。 |
ShowDetail(VBA)
| 書式 | Rows(9).ShowDetail = False |
|---|---|
| できること | グループを折りたたむ(False)/展開する(True)。 |
| 戻り値 | True / False(ブール値) |
| こんなときに | 特定の四半期だけをVBAで一括して折りたたみたいとき。 |
| 注意 | 設定するのは小計行(集計行)です。明細行に設定するとエラーになるので注意しましょう。 |
完成
四半期ごとに行をグループ化し、すべての四半期を折りたたむと、見出しと各四半期の小計だけのスッキリした表示になりました。
行番号の左の+ボタンを押せば、その四半期の明細だけをいつでも展開できます。
行番号が 1 のあと 5・9・13・17 に飛んでいることを確認してみましょう。
思ったとおりに動きましたか?
グループ化を使いこなすと、情報量の多い表もぐっと見やすくなります。

さいごに
いかがでしょうか。
今回は、
についてまとめました。
まずは今回のサンプル表で、ぜひ一度試してみてください。
グループ化を使いこなすと、情報量の多い表もスッキリ見やすくなり、確認作業がぐっとラクになりますよ。
また、他にも便利なExcelの時短テクニックがありますので、よろしければご参照頂ければと思います。
ぜひ試してみてください。














コメントを残す