見出し画像

Excelの見やすい表の作り方

普段Excelで表を作成する時、図1のように表全体に同じ太さの罫線を引いていませんでしょうか?

もちろんその状態でも問題はないのですが、図2のように分類の変わり目ごとに罫線を変えることで、見る人がより理解しやすい表にすることができます。

これを手作業でやろうとしますと、スクロールして分類の変わり目を探してセルを選択して罫線を引く、という作業を繰り返すことになりますが、そのような事をしなくてもExcelの基本的な機能を組み合わせるだけで、何千行の表でも簡単に図2の状態を実現することができます。

今回はその方法をご紹介いたします。

先に答えを言いますと、IF関数とフィルタを使って罫線を引くことになります。
これで想像がついた方は、多分あっていますのでご覧にならなくても大丈夫だと思います。

とても単純な作業で実現できますし色々応用もききますので、ご興味ある方はぜひご覧ください。

■手順

では、分類ごとに罫線を引く手順をご説明いたします。

大まかな流れとしては、
1.分類順に並べ替えをして、全体的な罫線を引いておく
2.区切りの罫線を引きたい行にIF関数で印をつける
3.フィルタで印を付けた行だけにして区切りの罫線を引く
になります。

1.分類順に並べ替えをして、全体的な罫線を引く

分類ごとに区切りの罫線を引きますので、分類ごとに並んでいることが前提になります。
もし並んでいない場合は分類順に並べ替えてください。


このあと分類ごとに区切り線を引きますが、その前に全体的な罫線を引いておきます。
表全体を選択して、セルの書式設定の罫線を開きます。
ここでは、表の内側の線を一番細い実線、表の外枠(上下左右)を通常の実線で引いてみます。
もし区切りの罫線以外の罫線がいらない場合は、この作業は不要です。


2.区切りの罫線を引きたい行にIF関数で印をつける

分類が変わる最後の行とそれ以外の行を分けるため、IF関数で印をつけます。
まず表の右端の隣の列に適当な名前のタイトルを追加します。


次にその列のデータ1行目に、現在の行の分類と一つ下の行の分類が違っていたら1、同じなら0を返すIF関数を入力します。


データ1行目のセルをコピーして表の一番下まで貼り付けます。
一応、目視で何件か分類の最後の行が1になっていることをご確認ください。


3.フィルタで印を付けた行だけにして区切りの罫線を引く

表全体にフィルタをかけます。
そしてIF関数を追加した列を1だけにして、分類最後の行だけが表示されるようにします。


分類最後の行だけになりましたら、表全体を選択してセルの書式設定の罫線タブを開きます。
ここで内側の水平線と一番下の水平線に通常の実線を引きますが、内側の水平線が無い場合は一番下にのみ線を引きます。
一番上の線は引きませんのでご注意ください。


フィルタを解除すると、分類の変わり目に実線が引かれています。


目印に使用したIF関数の列は不要ですので列ごと削除します。
列の削除が難しい場合はIF関数が入っているセル全部を選択してDELETEでIF関数を削除、罫線の設定で水平方向を全て「なし」にしてください。


これで完成です。

■考え方

作業手順は上記の通りですが、考え方を解説いたします。

  1. フィルタがかかっている状態で書式設定をすると、表示されているセルに対してのみ書式が設定されます。

  2. という事は、罫線を引きたい行だけがフィルタで表示されている状態になれば良いという事になります。

  3. 今回の場合、分類が変わる最後の行に下罫線を引きたいので分類の最後の行にフィルタ抽出用の目印を付けます。

  4. 「分類が変わる最後の行」とは、現在の行の分類と次の行の分類が違う行になりますので、IF関数を使って現在の分類と次の行の分類が違っていたら1、それ以外は0のIF関数を作り、分類最後の行に印を付けます。

「この状態になるにはどのようにすれば良いか」を最終状態から逆算で段階的にたどっていくと考えやすくなります。

■大分類、中分類ごとに罫線を引いてみる

罫線を引きたい分類が一段階だけでなく、大分類、中分類のように何階層かある場合は、それぞれの階層の変わり目で罫線を引くと見やすくなります。
このような形ですね。


では実際に作成してみます。
下の表の地域(大分類)ごとに左端から右端まで罫線を引き、都道府県(中分類)ごとに都道府県の列から右端まで罫線を引きます。


まずは地域(大分類)ごとに罫線を引きます。
これは今までと同じ手順ですので省略しますが、IF関数で、地域が次の行と変わる行に1、それ以外を0の列を作りフィルタをかけて下罫線を引きます。
地域の罫線を引きましたらフィルタを解除します。


都道府県(中分類)用のIF関数を追加しますが、地域のIF関数を消してその列に追加しても、もう1列タイトルを付けて都道府県用のIF関数にしても、どちらでも大丈夫です。
都道府県の最後の行を1にしますので、IF関数はこのようになります。

1行目のIF関数を最後までコピーして、フィルタで都道府県の最後の行だけを表示します。


次に罫線を引く範囲を選択しますが、地域(大分類)の時は表全体でしたが、今回は都道府県から右端までの罫線を引きたいので、都道府県の列から右端の最終行までを選択します。
(都道府県のタイトルセルをクリック、CtrlとShiftを押しながら右矢印、下矢印、で選択すると楽です)
この範囲で水平の罫線を引きます。


罫線を引くとこのようになります。


フィルタを解除して、IF関数の列を削除すれば完成です。


今回は大分類を左端から右端までの罫線、中分類をその列から右端までの罫線で設定しましたが、必ずこの形にしなければならい訳ではなく、例えば中分類も左端から右端までの罫線にして罫線の色を灰色で薄くする、などで強弱を付ける方法もあります。

■最後に

この、「IF関数で目的の行に印をつけて、フィルタで抽出、書式などを設定する方法」は、単純ですけどとても応用範囲が広いです。
今回は分類の変わり目に罫線を引きましたが、売上が〇〇万円以下のセルに色を付ける、不要な行を削除する、というような使い方もできたりします。
単に色を付けたいだけであれば条件付き書式を使わなくてもこの方法で実現できますし、印を付けるIF関数もANDやORを使ったり、ネストさせる事でより複雑な抽出をすることができます。

このようにIF関数とフィルタというExcelの基本的な機能だけでも使い方次第でたくさんの事ができますので、ぜひ色々と試してみてください。

最後までご覧いただきましてありがとうございました。


この記事が気に入ったらサポートをしてみませんか?