Excel。セルのロックを解除したセルをまとめて塗りつぶしたいけど、いい方法はないの?
<シートの保護・セルのロック・条件付き書式・CELL関数>
見積書や請求書などのシートは、様々な数式を設定して使い勝手をよくするようにしています。
例えば、次の表で確認してみます。
C列には、
=IF(B2="","",VLOOKUP(B2,$E$2:$F$7,2,0))
というIF+VLOOKUP関数の数式が設定されています。
ところが、何かのはずみで、数式を削除したら大変なことになります。
消したことがわからず、ファイルを閉じたりしたら、真っ青です。
そこで、「セルのロック」を解除することと、「シートの保護」を組み合わせて設定することで、大切な数式などを守ることができます。
確かに、数式などを守ることができるのですが、見た目、どこのセルは入力できるのかが、わかりません。
タブキーでジャンプすれば?と思うかもしれませんが、見た目ではわかりません。
セルのロックを解除したセルを選択して、塗りつぶしをしてもいいのですが、アチラこちらに範囲選択があれば、かなり面倒な作業が発生します。
つまり、やりたいことは、
「セルのロックを解除したセルを塗りつぶしたい」
ということです。
~だったらセルを塗りつぶす。
ということなので、今回登場するのは「条件付き書式」です。
でも、どうやったら、セルのロックを解除しているかわかるのでしょうか?
セルの状況を知るには、関数があります。その関数は「CELL関数」です。
試しに、B2とC2の状況をB7とC7にCELL関数をつかって、セルのロックの状況を算出してみます。
なお、シートの保護は解除しております。
B7をクリックして、次の数式を設定します。手入力をお勧めします。
B7の数式は、
=CELL("protect",B2)
この数式を、オートフィル機能でC7にコピーします。
引数の、"protect"で、セルのロック状況を確認することができます。
セルのロックが解除されていると、「0」。解除されていないと「1」を算出してくれます。
これで、判断することができますので、条件付き書式を設定することができます。
該当する範囲を選択します。シート全体でもいいですが、今回は、A1:C7を範囲選択して、条件付き書式を設定していきます。
ホームタブの「条件付き書式」にある「新しいルール」をクリックします。
新しい書式ルールダイアログボックスが表示されます。
次の数式を満たす場合に値を書式設定のボックスに
=CELL("protect", A1)=0
というCELL関数の数式を設定します。
書式ボタンをクリックします。
セルの書式設定ダイアログボックスが表示されます。
塗りつぶしの設定をしたら、OKボタンをクリックします。先程のダイアログボックスに戻りますので、OKボタンをクリックして完成ですね。
今回のようなセル範囲だと、自力で塗りつぶすほうが楽だと思いますが、アチラこちらにある場合は、便利だと思いますので、機会がありましたら使ってみるといいかもしれませんね。