Excel。一行おきの塗り分けじゃなくて、アイテムごとで行を塗り分けたい。
<条件付き書式+MOD関数とCOUNTIF関数>
BLOGで以前書きましたし、有名なテクニックで、1行おきに塗り分ける。
要するに、横縞模様に表をしたい時のテクニックで、
MOD+ROW関数と条件付き書式のコラボレーション技を使うのですが、
先日の研修でリクエストがあった中に、どうやったらいいんだぁ~という、
なかなか、歯ごたえのあるものがありましたので、今回はそれを紹介したいと思います。
それは、どんなリクエストだったのかというと、
プロジェクト名ごとに並び替えをしたデータがあって、しかも、数千件クラス。
そのままだと分かりにくいので、プロジェクトが変わるたびに、
そのプロジェクトの行を塗りつぶしたいというもの、
要するに、プロジェクト名ごとに横縞模様にしたいということ。
人力で塗り分けても良いのかもしれませんが、数千の件数では、
とんでもない時間がかかってしまいます。
幸いすでに並び替えは終わっているということだったので、
こんな方法はということで、早速ご紹介をしていきましょう。
まず考え方ですが、
プロジェクト名が変わったか?変わらないか?を判定させることが必要になります。
また今回は、プロジェクト名ごとにまとまっておりますので、その変わり目に、数値。
今回は、1を出力させて、それを元に、条件付き書式を設定していくことにします。
では、C3にIF関数ダイアログボックスを表示させます。
論理式には、COUNTIF(A$3:A3,A3)=1
真の場合には、1
偽の場合には、""
数式は、
=IF(COUNTIF(A$3:A3,A3)=1,1,"")
慣れている方は、直接数式バーで入力した方が楽だと思います。
あとは、数式をオートフィルを使ってコピーしましょう。
これで、文字が変わったことが分かるようになりました。
それでは、この1を使って、条件付き書式を作成していきます。
該当の範囲を選択します。
今回は、A3:B21です。
そして、ホームタブの条件付き書式から、
新しいルールの「数式を使用して、書式設定するセルを決定」を選択しましょう。
続いて、「次の数式を満たす場合に値を書式設定」のボックスに数式を入力してきます。
=MOD(SUM(C$3:$C3).2)=1
と数式を入力して、書式ボタンをクリックして、任意の書式を設定しましょう。今回は、赤系の色を選択しました。
そして、OKボタンをクリックすると、
これで、完成しました。
このように、アイテム(プロジェクト名)ごとに塗り分けることが出来ました。
今回のようにワンクッション置くことによって、
比較的容易にやりたいことが表現できますので、
いっぺんに作ろうとはしないで、Excelの資料を作るようにするといいかもしれませんね。