[EXCEL] リスト入力④ (別解)データ追加を楽にする~入力表作成レッスン~
▶目次>様式/入力表の作成>プルダウンリスト
▶関連記事:プルダウンリスト
前記事「[EXCEL] プルダウンリストによる入力③ リストへの追加を楽にする(基本)~入力表作成レッスン~」で、項目が増えても、プルダウンリストに自動反映される方法を示しました。
一番楽なのは、増えるかもしれない分、余計に範囲指定しておく、です。
その他、テーブル化による「正攻法」も示しましたが、ちょっと面倒(私には)。
今回は、FILTER関数を使った方法です。
入力の際ではなく、既にある項目ごとに絞り込みたい、といった場合にも使えます。
この方法は、自力で思いついたのですが、当然、既にやっている方はたくさんいます。
よかったらどうぞ。
1 リストの隣にUNIQUE関数でリストを表示する
下図では、プルダウンリストに表示するものとして、B列にデータが入力されています。
通常は、この列をプルダウンリストの「元の値」として使います。

しかし、今回は違います。
B列の隣に、 =UNIQUE(B:B)と入れます。

=UNIと入れると関数候補が出るので、Tabで選んだら、B列を選んでENTER

これで下のようになります。

UNIQUE関数は、重複しているものを整理して表示する関数です。
ダブりなく、独自のものだけ表示する、というもの。
ユニクロも「独自の服(UNIQUE CLOTHING)」が元ですね。
上の図ではB列に「あ課」~「え課」が一つずつしかないので、同じようにしかみえません。
なお、一番下に「0」があるのは、B列全部を指定しているため、空欄が「0」となっています。この「0」は「セルの書式設定」(Ctrl+1)で消せます(今回はこのまま)。
UNIQUE関数の列をリストの「元の値」にする
この列を、リストの「元の値」にします。
C列全体を範囲指定します。

入力表の欄をクリック(又は Alt+↓)すると・・・

C列にあるリストが表示されます。
一番下の「0」は、やっぱりちょっと邪魔ですね。
C列全体を範囲指定して「セルの書式設定」で消しておきます。

⇒「ユーザー定義」で「種類」に「#」を入れる
これで「0」が消えます。

これで入力表の入力欄の▼をクリックしても(Alt+↓でも)、0は出ません。

*プルダウンリストを開くと、リストの最後が選択されてしまっています。
一番上が選択された方が便利でしょう。
その方法は記事最後をどうぞ。
項目を増やす場合
項目を増やす場合は、UNIQUE関数の列ではなく、もともとのデータがあるB列に増やします(UNIQUE関数の入っている列の下にデータを入れるとおかしくなってしまう)。
B列の下に「か課」~「こ課」と入れていくと、同時にC列にもデータが増えていきます。
そして、入力表をクリックすると・・・

B列に追加したデータも表示されています。
難点としては、リストの一番上が出るわけではない、ということ。
上の項目を選ぶにはスクロールが必要です。
でも、それは普通のリストで下にスクロールするのと同じ。
リストは、Alt+↓で表示できますから、↑ ↓ でスクロールするのは簡単かと思います(マウスよりも楽)。
以上、こんなやり方もある、ということで。
2026/2/10追記
リストの一番上を出す方法、ありました。
①F列を元にH列に「=UNIQUE(F:F)」を入れる」
*1行目ではなく2行目に入れる。



⓶ F列の「都道府県名」を消す ⇒ H列の2行目の「都道府県名」が消えて「0」と出る。

③ H列2行目の「0」を選択 ⇒ セルの書式設定(Ctrl+1)で「0」を非表示にする(種類欄に「#」と入れる。)



④ プルダウンリストを開くと、上の空欄が選択されている。

理由:プルダウンリストは、セル内の表示と同じものをリストでも表示する。セルが空欄ならリスト内の空欄を表示する。
そのため、リスト内の上の方に空欄セルをつくることで、空欄セルでプルダウンを表示したときに、リストの上を選択させることが出来る。
(参考:上の設定をしていない場合)
都道府県の後の空欄が選択されてしまっている。

(追記は以上)
で、このやり方を見た方は、ピンとくるかもしれませんが、それはまた、いずれ。
