
削除したファイルをゴミ箱に移動する、GO言語製の削除ツール『gomi』を使ってみた
LinuxやMacのCUI上で…
-->
Excelで、特定のセルに入力できる値を制限したいときは、「データの入力規則」を用いることが多いだろう。
で、あるセルの内容に応じて、選択出来る内容を変動させたい事がある。そんなときはどうすればよいのだろうか?
分岐が少なく、更新頻度が少ないようであれば、入力規則の箇所にIF文を記述する事で実現する。
例えば、以下の画面のようにすることで、セル「D2」の値が「AA」の場合は「aa1」~「aa5」を選択でき、それ以外の場合は「bb1」~「bb5」を選択できるようになる。
あくまでも分岐が少ない場合での採用をおすすめする。というのも、分岐が多い(上記例だと、「AA」「BB」「CC」「DD」で選択可能な値を変動させる)場合、IF文の中にIF文がある(ネストする)状態になってしまい、可読性、整備性共に悪化するからだ。
分岐が多い場合は、2番の方法を採用すると良いだろう。
分岐が複数ある場合は、IF文でネストさせるのではなく、選択範囲に名前をつける対応の方がシンプルだ。
例えば、以下のように選択範囲に名前をつける。
前提となるセルの値に対し、対象となるセルに同じ名前をつける。
後は、入力規則に以下のように設定を行う。
=INDIRECT(前提となるセル)
これで、前提となるセルの値に合わせて、選択できる内容を変動させることができるようになった。
たとえば、前提セルが「BB」の時は「bb1」~「bb5」が選択できる。
前提セルが「DD」の時は、「dd1」~「dd5」が選択可能だ。