【Excel】プルダウンで表の列・行全体の色を変更する方法

#1.何をしようとしているのか
こんなものを作ろうと考えた↓↓
一番上のプルダウンで選択した状態によって、表の行すべてのセルの色を変える、というもの。
![hoge.gif](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/1233990/9c55f870-ead3-532b-b2df-ca6389035533.gif)

できればプログラムを使うことなく、Excel関数とかの範疇でなんとかしたい…！

#2.前提条件（準備したもの）
当方のパソコンはWindows10だが、Excel使うんだしそこはあんまり関係なさそう…。
使うExcelはExcel2019で、下のような表をパパっと準備しよう。
![スクリーンショット (165).png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/1233990/4098126b-af56-6398-6e60-91f0a301575d.png)

#3.プルダウンを作る
プルダウンの作り方は、別にここで紹介しなくても皆さんご存じかと思うが、自分は明日には忘れてそうなので備忘録的に。

##①該当するセルを選択
##②上のタブの「データ」にいって、
##③「データの入力規則」にいく
![スクリーンショット (166)_LI.jpg](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/1233990/5f20c3d6-d5f5-eccc-5a8a-13c30adbbe6e.jpeg)
##④出た画面の「入力値の種類」を「リスト」にして、
##⑤選択肢となる値を入力したら完了
「ドロップダウンリストから選択する」のチェックマークが外れていたらつけてあげる。
![スクリーンショット (167).png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/1233990/3a266bc8-ae08-4547-8070-dba85123caf3.png)
プルダウンが一個できたら、必要なセルにコピーしておこう。
ここまでできたら次へ進む。
![スクリーンショット (169).png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/1233990/2c7c033f-8aad-b0d4-d0cf-78b078948fa8.png)

#4.プルダウンで表の行全体の色を変更する（前編）
準備ができていたら本題に入ろう。
まずは一個のセルだけ、特定のセルの情報次第で色が変わるようにする。

##①該当するセルを選択
##②「ホーム」タブの「条件付き書式」→「新しいルール」
![スクリーンショット (170).png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/1233990/484758fb-0904-84ae-e9fe-466175d38f8d.png)
##③「数式を使用して、書式設定するセルを決定」
![スクリーンショット (171).png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/1233990/8aa07841-541b-1536-52cb-1ad189bcbbbb.png)
##④「ルールの内容」編集
プルダウンのセルをカチッと選択参照したらok。
##⑤「書式」→「セルの書式設定」→「塗りつぶし」
好きな色を選んでおく。
![スクリーンショット (174)_LI.jpg](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/1233990/b3e47d8b-92ad-2ced-5829-a05dd9c7001b.jpeg)
##⑥設定完了したら、「OK」何回か押して、「適用」してまた「OK」
セルの書式設定のところを「OK」、書式ルールの編集のところで「OK」、そうしたら条件付き書式ルールの管理の画面にくるから、そこで「適用」させて「OK」。
![スクリーンショット (175).png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/1233990/894a0ee7-f72a-4785-1a82-16d93d5adb7c.png)
##⑦試してみる
プルダウンを選択して条件を満たしたら、ちゃんと色変わるかな？

#5.プルダウンで表の行全体の色を変更する（後編）
正直、前編の内容を何十回と手作業しても、表を完成することは可能だ。
だがそれでは非効率すぎる、ということで少し手を加えてみよう。

##①セルのルールの設定編集
前編で作成したルールに少し介入。
さっき絶対参照で、特定のセルを選択したが、これを状況に合わせて相対参照にする。
今回は行全体の色を変える、という感じなので、行のところの絶対参照を外す。
![スクリーンショット (177)_LI.jpg](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/1233990/1ec4f399-12da-65c7-f719-8b47a6c26437.jpeg)
##②OKと適用を押した後、これでもちゃんと色が変わるのか確認
前編の時は変わったのに今変わっていなかったら、その間の工程のどこかで失敗している可能性がある。
##③あとはこのセルをコピペするだけ…！
![スクリーンショット (180).png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/1233990/5a0055f1-d9dd-4ee7-5f3d-13f8d75cc129.png)
##④もう一度ちゃんと動くか試してみて、動いていたら完成！
![スクリーンショット (181).png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/1233990/7320705e-e1ec-72fb-df17-69bda131b02e.png)

#6.着目するべきところ
まとめとして、個人的に着目してほしいと思っているところをいくつか紹介したい。

まず一つの仕様として、Excel関数には書式の色を変えるようなものは用意されていない、そうだ。Excelに詳しい方に聞いたので間違いないと思われる。
そしてもう一つの仕様として、Excelの条件付き書式ルールの管理における適用先は、どうも絶対参照以外を受け付けないようである。ここが相対参照できれば、今回のような、一つ一つのセルにルールを仕込んで自分自身の色を変えてもらう、といったことをしなくてもよかったのだが…。

少し蛇足してしまった。上記のような仕様に悩みつつ、知恵を振り絞ってこの形になったわけだが、こだわりがあったのは色を付けたセルに「面談」とか「休憩」とか、文字を書き込むことを想定したものを作りたかったということである。
そのために絶対参照と相対参照を使い分けたり、その他もろもろ悩んだりしなければならなかったりしたのだが…これもまたExcelの勉強といえよう。

以上