いまさら聞けないExcelの使い方講座
【Excel】伸縮自在のドロップダウンリストを実現! スピル演算子を使った省力化テク
2026年2月25日 06:55
テーブルを使わなくても伸縮可能
特定の項目を繰り返し入力する表では「ドロップダウンリスト」を組み込むことがあります。しかし、リストの項目が追加・削除された場合はメンテナンスに手間がかかります。
例えば、運用中に「サービス」という部署が追加された場合、ドロップダウンリストには自動的に反映されません。
これは入力規則として設定されているセル範囲がセルE2~E4であることが原因です。[データ]タブにある[データの入力規則]をクリックして、ドロップダウンリストの[元の値]を確認すると、「=$E$2:$E$4」と設定されていることがわかります。
更新頻度は低くても、項目漏れは入力ミスや管理上の問題の原因になりかねません。できれば自動的に伸縮させたいですよね? 参照する表を「テーブル」に変換する方法が定番ですが、今回はスピル範囲演算子「#」を使ったテクニックを紹介します。
セル範囲を参照すると「スピル」で返される
以前にオートフィル不要という切り口で紹介したスピル範囲演算子「#」の動作を振り返ってみましょう。
例えば、セルに「=E2:E5」と入力すると、その範囲の値が下方向にスピルで表示されます。そして、スピルの結果を表示しているセル(F2)を指す数式は「=F2#」となります。
実は、この「=F2#」はドロップダウンリストの[元の値]に指定可能です。試しに設定してみましょう。
セル範囲を広げてフィルターする
しかし、このままでは項目の追加には対応できていません。「=E2:E5」と参照しているので当たり前ですね。“参照する範囲”が固定されている限り、「#」を使っても自動拡張にはなりません。セル範囲を広げて、FILTER関数を利用しましょう。入力規則を変更する必要はありません。
途中の項目を削除した場合でも、ドロップダウンリストは自動更新されます。FILTER関数は、引数[配列]に抽出対象の列、[含む]に条件を指定することで、必要なセル範囲を取り出す関数です。
今回は、セルE2~E100までを[配列]と指定し、不要な空白セルを取り除くために[含む]に「E2:E100<>""」と条件を指定しました。

入力規則は、固定のセル範囲で管理するものという発想を見直してみましょう。スピル範囲演算子「#」を組み合わせれば、項目の増減に強いドロップダウンリストを簡単に作成できます。
メンテナンスの省力化におすすめのテクニックです。


























![【Amazon.co.jp限定】1冊ですべて身につくHTML & CSSとWebデザイン入門講座[第2版] (特典:「Webデザイナーのポートフォリオの作り方入門講座」データ配信) 製品画像:2位](https://m.media-amazon.com/images/I/51skMJ-OVcL._SL160_.jpg)







