Excel関数で無理やり可変式のプルダウンリストを作成した
背景
諸事情でテーブル機能が使えなかったため、この方法を思いつきました。
特に理由がなければ、この方法ではなく、テーブルを使った方法で実現した方がいいと思います。
やりたいこと
こんな感じのリストから選択するセル(プルダウンリスト)を作ります。

リストへの追加や変更などは、Excel操作に詳しくない人でできるようにする必要がありました。
やったこと
リスト内の情報(例として「りんご」や「ばなな」など)は、別シート(シート名:マスタ)に入力します。
マスタシートの中は、こんな感じです。

リスト内の情報が増えた時、リストの設定を可変式となるようにします。
普通であれば、データの入力規則で「元の値」を次のようにすると思います。

しかし、これだとマスタシートのB5やB6に新しい情報を追加した場合、データの入力規則(元の値)の変更が必要になってしまいます。
例えば、こんな風に「なし」を追加したとします。

データの入力規則を変更しない場合は次のように「なし」が出ません。

そのため、入力規則の「元の値」に下記のように記載してあげると、可変式になります。
=OFFSET(マスタ!$B$1,0,0,50-COUNTIF(マスタ!$B$1:$B$50,""),1)

解説
さっき掲載した「元の値」の内容を再掲載し、流用する場合の変更箇所を簡単に説明します。
=OFFSET(マスタ!$B$1,0,0,50-COUNTIF(マスタ!$B$1:$B$50,""),1)
「マスタ!」の「マスタ」の文字はリストのシート名です。
「$B$1」は、リストとなる始点のセルです。この場合は「B1」セルが始点です。
「$B$50」は終点のセルです。この場合は「B50」セルが終点です。
上記箇所を編集すれば簡単に流用できます。
注意点としては、リストには50行目までしか反映できません。
数式を変更すれば、51行目以降も対象とできますが、今回は50行もあれば十分だったため、このようにしました。
数式(元の値)の部分見切れていますが、参考。

以上です。
今年は、利用者が入力するための、各種Excel資料を作成/提供する機会が多く、その中で何とかしたネタを掲載してみました。
あと、どうでもいいですが、no+e初投稿です。