エクセルで表を作成する際、大分類や中分類をセル結合でまとめることはありませんか。
これをまとめる背景としては、表の見栄えを整えるために行うことがよくあるかもしれません。
しかし、セル結合には大きなデメリットがあります。
それは、ソート機能(フィルター設定)が上手く機能しないことです。
例えば、以下の表があるとします。この表は大分類と中分類でセル結合をしています。

これを大分類の「法令」でソートをかけてみると、次のようになります。

このように最初の法令はソートにかかりますが、最初以外のソートは一切かかりません。
では、これを解決するにはどうすればよいか。解説していきたいと思います。
1.セル結合を解除する
まずは、セル結合を解除します。
対象をドラッグ後、ホームタブ→配置の「セルを結合して中央揃え」タブ→「セル結合の解除(U)」を選択します。
2.分類を埋める
(1)対象セルをドラッグする→Ctrl +Gをクリックし、セル選択(S)→空白セル(K)→OKの順に入力する。

(2)空白箇所の選択が確認されたら、右上の空白箇所に上のセルを引用するような式(=C3)を入力し、CtrlキーとEnterキーを同時に押す。

すると、すべて入力されます。

(3)数式から値貼り付けに直す
すべての入力が確認されたら、再度、大分類と中分類の全体をドラッグして、CtrlキーとCを押した後、値貼り付け(Ctrlキー+Shiftキー +V)をします。
3.条件付き書式を設定する
(1)対象となる大分類と中分類をドラッグし、「ホーム」タブ→「スタイル」内の「条件書式付き」タブ→ルールの管理(R)を選択する。

(2)新規ルール(N)を選択する。

(3)新しい書式ルール
「数式を使用して、書式設定するセルを決定」→次の数式を満たす場合に値を書式設定(O)に「=AND(B3=OFFSET(B3,-1,0),SUBTOTAL(3,OFFSET(B3,-1,0))>0)」と入力する→書式(F)を選択する→表示形式タブ→ユーザー定義→「;;;」と入力する→罫線タブ→上の罫線を消す。
【式の意味】
=AND(B3=OFFSET(B3,-1,0),SUBTOTAL(3,OFFSET(B3,-1,0))>0)
前提知識
=AND(条件1,条件2)
条件1と条件2がともに満たすという意味。ここでは、B3=OFFSET(B3,-1,0)とSUBTOTAL(3,OFFSET(B3,-1,0))>0が両方成り立てば、効力発生する。
=OFFSET(参照,行数,列数)
参照値から行数と列数移動する。この場合、B3から行数-1、つまりB3から上に1セル移動した値として、B2を表している。B3=OFFSET(B3,-1,0)という式は、B3とB2が一致することを求めている。
=SUBTOTAL(集計方法3,参照1)>0
集計方法が3の場合、データの個数を求める式になります。参照1に入力されていれば1になり、この数式が成り立つ。一方、参照1に何も入力がなければ0になり、この数式が成り立たなくなる。つまり、データが入力されていれば、条件が満たされる。




(4)適用→OK
適用とOKを押せば、完了です。


実際に、大分類で法令を選択すると、空所も表示されるようになります。

さいごに
ご参考になれば幸いです。
コメント