「空白を無視する」とは?


セルに、あらかじめ決められている文字列を入力するとき、毎回キーボードから手入力するのではなく、リストから選択できると便利です。

こうしたリストを手軽に作成できるのが、入力規則の「リスト」機能です。

入力規則の「リスト」は、[データ]タブ[データツール]グループの[入力規則]ボタンをクリックして[データの入力規則]ダイアログボックスを開き、[設定]タブの[入力値の種類]リストで「リスト」を選択します。[元の値]ボックスに、リストに表示したい項目を直接入力するか、項目が入力されているセル範囲のアドレスを指定すれば完成です。

上図ダイアログボックスには、[空白を無視する]というチェックボックスがあります。標準ではオンになっているのですが、はたしてこの設定は何でしょう。試しに、オフにしてみた方がいるかもしれませんね。でも、違いが分からなかったのではありませんか?今回は、この設定の意味をご紹介します。

まず、この"入力規則"機能とは「リストを作成する」だけの機能ではなく、本来は「入力される値に規則を定め、規則に反した値は入力させない」仕組みだということです。そして、今回定めたのは「リストに表示される値だけしか入力できない」という規則です。ですから、このセルに"リストに表示されていない値"を入力しようとすると拒否られます。

では、もし、リストに表示する項目が入力されているセル範囲に、空欄セルが含まれていたらどうでしょう。

もちろん、この場合でもリストにない値を入力することはできません。

ここまでは、特に問題ありませんね。では、セルC2の入力規則を一度クリアして、今度は次のようにしてみます。まず、リストに表示する項目が入力されているセル範囲に、名前を定義します。ここでは「名簿」としました。

今度は、この名前「名簿」を使って、入力規則の「リスト」を設定してみます。

もちろん、この設定でも「リストにない値」は入力できません。

ではまた、先と同じように、リストに表示する項目が入力されているセル範囲内に、空欄セルを含めてみます。

やっていることは同じなのですから、同じ結果になるはずですよね。ところが、今回はリストに表示されている値とは関係なく、どんな値でも入力できてしまいます。

これでは、入力規則を設定する意味がありませんね。こんなときに使うのが[空白を無視する]です。このチェックボックスをオフにしてみます。

すると今度は、リストにない値を入力できなくなります。

元の値が入力されているセル範囲に"名前"が定義されていて、入力規則の「リスト」で、その名前を[元の値]に指定したと。さらに、そのセル範囲内に"空欄セル"が含まれていると、リストに関係なくどんな値でも入力できてしまうと。それを防ぐのが、今回の[空白を無視する]チェックボックスだということです。これ、Excelの中でも、トップクラスの分かりにくさですね。正直、どうしてこういう仕組みになっているのか、その必然性が思い浮かびません。[元の値]に指定するのが、セルのアドレスなのが、それとも定義した名前なのかによって、動作が異なるなんて、ちょっと考えにくいですね。何か便利な使い方があるのか、あるいは、内輪の事情なのか、よく分からないです。