Excelで「選択済み」の人を自動で除外!動的なプルダウンリストの作り方
Excelで当番表や役割分担を作る際、「誰を既に選んだか分からなくなる」「同じ人を二度選んでしまう」といった悩みはありませんか?
今回は、ソースをもとに、「選ぶたびに候補が減っていく、動的なプルダウンメニュー」の作成方法を解説します。
1. 「まだ選ばれていない人」を抽出する数式を作成
まず、名簿の中から「まだ入力(選択)されていない名前」だけを表示する作業用リストを、FILTER関数とCOUNTIF関数を組み合わせて作成します。
=FILTER(名簿の範囲, COUNTIF(入力する範囲, 名簿の範囲) = 0)
- 名簿の範囲:元のメンバー一覧がある場所
- 入力する範囲:実際に名前を選択して入力していく場所
この数式により、「入力済みの中に名前がない(=カウントが0)」の人だけが抽出されるようになります。
2. プルダウン(データの入力規則)の設定
次に、実際に名前を選択するセルにプルダウンを設定します。
- 設定したいセル範囲を選択し、「データ」タブ > 「データの入力規則」を開きます。
- 入力値の種類を「リスト」に設定します。
- 「元の値」ボックスに、先ほど数式を入力した先頭のセル番地を指定し、末尾に「#(シャープ)」を付けます(例:
=$G$2#)。
この「#」はスピル範囲演算子と呼ばれ、数式の結果(リストの長さ)が変動しても自動で対応してくれる便利な記号です。
3. 全員選び終わった際のエラー対策
全員を選択し終えると、抽出する候補者がいなくなるためエラーが表示されてしまいます。これを防ぐために、数式をIFERROR関数で囲んでおきましょう。
=IFERROR(FILTER(...), "")
このように修正することで、候補者がいない場合は空欄が表示されるようになり、シートの見た目がスッキリします。
まとめ
この設定を行うと、以下のようなメリットがあります。
- 選びやすくなる:リストがどんどん短くなるので、探す手間が省ける。
- ミスを防げる:重複して同じ人を選んでしまうリスクがなくなる。
チームの当番表作成などに、ぜひ活用してみてください。

