条件に合わせ自動でセルに罫線を付ける

難易度 ★★★☆☆

日付毎に自動で罫線を入れたい

質問

Excelで毎日の売上を入力し管理しています。

商品ごとに入力しているため、同じ日にちで何行にもなります。


日にちが変わったら、その都度罫線を設定していますが、フィルタで抽出すると罫線が消えてしまうし、そもそもその都度罫線を設定するのも面倒です。


フィルタをかけても消えない罫線を自動で付けることはできますか?



たとえば毎日の売上を一覧表にしている場合、日付ごとに罫線が入っているとみやすいですよね。

でも日付が変わるたびに手作業で罫線を入れていくのは面倒!

そんな場合、日付を入力し日付が変わった時だけ自動的に罫線が入ったら便利ですよね。

回答

たとえばこんな一覧表をExcelで管理しているとします。

 


まずこのような一覧表はテーブルとして書式設定をしておくとなにかと便利です。

 

1. 表全体を選択し[ホーム]タブの[テーブルとして書式設定]をクリック。 (左の図はExcel2013)


表示されたデザインの中から横罫線のついてないデザインを選びます。


こんな表になります。 

2.表全体を選択したまま [ホーム]タブの[条件付き書式設定]をクリック。


[条件付き書式設定]の[新しい書式ルール]をクリック。

一番下の[数式を使用して書式設定するセルを決定]をクリックします。

3. [次の数式を満たす場合に値を書式設定]の欄の中に数式を入力します。(右の図はExcel2013)

「=$A2 <>$A3」

 

一番左の列だからA列。

上のセルと下のセルの日付が違ったらという条件にしたいので「<>」

絶対参照の「$」マークは列の前だけに付けてくださいね。

4.上 の画面の一番下(上の図はExcel2013)の[書式]をクリックし[セルの書式設定]の[罫線]で下の罫線を指定し「OK」をクリックします。

 

もしここでたとえば赤の罫線を指定すれば、赤い罫線をつけることができますよ。

こんな感じになります!

 

ずっと見やすくなりましたね!(^^)!



ただし、この条件だけだと、フィルタをかけた時に罫線が表示されずに消えてしまう場合があります。



そこでもう1つ条件を追加。

 [次の数式を満たす場合に値を書式設定]の欄の中に数式を入力します。(左の図はExcel2013)

 

「=OFFSET($A2,-1,0)<>$A2」

 

OFFSET関数を使って上のセルを指定します。

 

書式は下の罫線ではなく上の罫線を指定します。

 


おさらいすると

 

一つ目の条件は下のセルと日付が違ったら下の罫線を表示・・・「=$A2<>$A3」

二つ目の条件は上のセルと日付が違ったら上の罫線を表示・・・「=OFFSET($A2,-1,0)<>$A2」



※ テーブル機能、フィルタ機能、OFFSET関数については、改めて解説しますね。