社内SEの話

日々起きたことの記録用

ドロップダウンリストの空白を非表示にする

↓プログラミングで副業を考えたらこちら↓

データ入力をお願いする時によく入力規則を使用します。

これを使うと入力ミスのような変なデータが登録されないので、なくてはならない機能です。

マスタ参照などの値を配布前に予め設定できればいいのですが、入力担当者にマスタ設定をお願いするときもあります。

その際に陥りがちな問題について解説します。

今回使用している氏名はテストジェネレータで生成しています。

yamagata.int21h.jp

【問題】入力リストに空欄が発生

入力規則のリストを使った際に、リストに空欄があります。

デフォルトが空欄です。

参照元を確認します。

全部で10人まで登録可能にしているがが、全部埋まっていない状態

この状態で入力規則のリストから上図のような設定をします。

するとリストに空欄が発生しています。しかも標準が空欄が選択状態になり、入力するには不便な状態になります。

そこで空欄を削除したい。

リストが縦方向の場合

結論に近いですが、まず下記の関数を適当な場所で入力してみます。

=OFFSET($A$2,,,COUNTA($A2:$A10))

下図の結果が返ってきます。

1つのセルしか入力していませんが、関数の機能でリストとして表示しています。

この結果をリストとして使用します。

入力規則の元の値に先程の関数を入力します。

成功しました。

解説

ポイントはカンマの数です。カンマの数が違うと正しい結果になりませんので、コピーして使ってください。

関数

=OFFSET($A$2,,,COUNTA($A2:$A10))

リストが横方向の場合

前述の縦方向のリストと同様の関数ですが、一部違うので解説します。

横方向にあるリスト

=OFFSET($B$1,,,,COUNTA($B1:$K1))

目的のリストになっているか確認します。

入力規則で確認した関数を入力します。

正しい入力リストになっているか確認できれば成功です。

解説

カンマの数が重要です。カンマの数が違うと正しい結果になりませんので、コピーして使ってください。

関数

=OFFSET($B$1,,,,COUNTA($B1:$K1))