9/19/2020

Excel。セルのロックを解除したセルをまとめて塗りつぶしたいけど、いい方法はないの?【Determine the unlocked cell】

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ボタンをクリックして完成ですね。


今回のようなセル範囲だと、自力で塗りつぶすほうが楽だと思いますが、アチラこちらにある場合は、便利だと思いますので、機会がありましたら使ってみるといいかもしれませんね。