はじめに
エクセルファイルのとあるシートの列の番号を以下のようにして自動入力するようにし、その数式部分はチームメンバーは触れないようにしたいケースがありました。
=ROWS()-3
この手のニーズはあると思い、一般化して解説してみました。
要は、シート内の部分的なセルにロックをかける際の利用できるExcelのTIpsです。
実装方針
特定列以外を全てunlockし、シート全体を保護する。
指定行以外のLockを外す
例えばセルを選択して右クリックして出るオプション一覧から「Format Cells...」をクリックし、「Protection」タブを選択すると以下のような画面が表示されます。
ここの「Locked」のチェックボックスがついていればセルのロックがかかります。
よってロックが必要ない列を一気に選択肢、「Locked」のチェックを外した状態にします。
逆に、ロックしたい列を選択し、「Locked」のチェックが入った状態にします。
シートをProtectする
「Review」タブにある「Protect Sheet」を選択すると以下のような画面が出ます。
ここで以下項目がツラツラとありますが、チェックするとその作業が可能になります。
- Select locked cells
- Select unlocked cells
- Format celles
何もチェックをつけない場合
全てのセルが触れなくなります。
ただし同じタブの中にある「Unprotect Sheet」を押下すればプロテクトは解除されます。
「Select locked cells」のみにチェックを付ける場合
こちらでは自動的に「Select unlocked cells」にもチェックが入ります。
この状態では、ロックされたセルも触れる設定になるためロックしているセルは変更はできませんが中の計算式は確認できます。
ただし、編集しようとしても編集はできずに以下のようにメッセージが表示されます。
The cell or chart you're trying to change is on a protected sheet. To make a change, unprotect the sheet. You might be requested to enter a password.
「Select unlocked cells」のみチェックを付ける場合
この状態であれば、ロックされているセルは選択すらできず計算式も確認できません。
終わりに
冒頭で述べたような列番号を自動で挿入する場合は、表いっぱいに事前に計算式をコピーしておいて「Select unlocked cells」を利用するのがベストケースかと思います。ただし、場合によっては計算式を見せること自体は必要である場合は「Select locked cells」を選択してください。
また、「Format celles」をチェックしなければロックしていないつもりのセルもセルのフォーマットを編集できない(文字サイズの変更や色の変更)ので必要であればこちらもチェックする必要がある点、ご注意ください。
以上、ご参考になれば幸いです。