ドロップダウンリストで以前使用した項目を隠すにはどうすればよいですか?
Excelでは、標準的なドロップダウンリストを作成することは一般的なデータ入力技術ですが、選択するたびにドロップダウンリストが短くなっていくようにしたい場合はどうすればよいでしょうか?以前に選択された項目を削除して、各オプションが一度しか選べないようにしたい場合です。例えば、100個のユニークな名前を持つドロップダウンリストがあるとします。1つの名前を選択すると、その名前はドロップダウンの選択肢から削除され、99個のオプションが残ります。選択を続けるにつれて、リストは自動的に縮小し、最終的にオプションがなくなるまで続きます。このようなインタラクティブな機能は、タスクの割り当て、座席配置、または抽選など、すべての選択が一意である必要があるシナリオで非常に役立ちます。ただし、Excelはこの機能を直接提供していないため、特定の回避策を採用する必要があります。次のセクションでは、これを実現するためのステップバイステップの手順を紹介します。
ヘルパーカラムを使用してドロップダウンリストで以前使用した項目を隠す
ヘルパーカラムを使用してドロップダウンリストで以前使用した項目を隠す
列Aに名前のリストがあると仮定します(下のスクリーンショット参照)。以前使用した項目を隠すドロップダウンリストを設定するには、以下に記載されている内容を順を追って行ってください。このアプローチは、すでに選択された項目を追跡し、動的なドロップダウンソースリストを構築するために追加のヘルパーカラムを使用します。この方法は複雑に見えるかもしれませんが、直感的でプログラミングスキルも必要ありません。
適用されるシナリオには、スケジュール管理、リソース割り当て、または項目がリストが尽きるまで1回しか選ばれないべきケースが含まれます。利点は、フォーミュラを通じて明確さがあり、トレース可能なロジックを持っていることですが、ワークシート上に追加のカラムを維持する必要があります。
名前のリストの横にあるセルB1に、以下の数式を入力して、目的のドロップダウン範囲で名前が既に選択されているかどうかを確認します:
=IF(COUNTIF($F$1:$F$11,A1)>=1,"",ROW())
この数式は、各名前をドロップダウンで選択されたもの(範囲 F1:F11)と比較します。もし名前が既に選択されていた場合、空白セルを返します。それ以外の場合、行番号をヘルパー値として返します。必ずF1:F11の範囲をドロップダウンリストを配置する場所に合わせて調整し、A1の参照を名前のリストの場所に合わせてください。
注意: 'F1:F11' の範囲がすべてのドロップダウンセルを含んでいることを再度確認してください。'A1' は名前のリスト内の現在の行を指している必要があります。
2. フィルハンドルをドラッグして、この数式を名前のリストのすべての行に適用します。これにより、未使用の名前を識別する一連のヘルパー結果が生成されます。
3. 列Cで、セルC1に別のヘルパー数式を設定して、未使用の名前のみを含むクリーンなリストを動的に作成します:
=IF(ROW(A1)-ROW(A$1)+1>COUNT(B$1:B$11),"",INDEX(A:A,SMALL(B$1:B$11,1+ROW(A1)-ROW(A$1))))
この数式は、列Bのヘルパー値に基づいて列Aから適切な項目を抽出することによって、未使用の名前を集めます。名前が選択されて列Bから削除されると、列Cのリストは自動的に更新されます。リストが11名以上の場合、すべての範囲を適切に調整してください。
4. この数式をコピーして、元の名前のリストと同じ長さになるようにします。塗りつぶす範囲は、列Aのリストと同じ長さにする必要があります。
5. この動的に更新されたリストをドロップダウンで使用可能にするために、名前付き範囲を定義します。列Cで新しく作成されたリスト(例:C1:C11)を選択し、[数式] > [名前の定義] をクリックします。
6. [新しい名前] ダイアログボックスで、名前(例:namecheck)を入力し、この動的参照数式を使用して、名前付き範囲を正しいサイズに保ちます:
=OFFSET(Sheet2!$C$1,0,0,COUNTA(Sheet2!$C$1:$C$11)-COUNTBLANK(Sheet2!$C$1:$C$11),1)
これにより、列Cの空白でない値のみがドロップダウンのオプションとして使用されます。シート名とセル参照を慎重にチェックし、正確なアドレス形式を使用して、自分のワークシートに一致させます。
注意: 名前のリストを変更したり、行を追加または削除したり、異なるワークシートを使用する場合、エラーを防ぐために数式を適切に更新してください。
7. 実際のドロップダウンリストを作成するには、ユーザーが選択を行うセル(例:F1:F11)を選択します。次に、[データ] > [データの入力規則] > [データの入力規則] に移動します。
8. [データの入力規則] ダイアログボックスで、[設定] タブの下で「リスト」を選択し、「=namecheck」と入力して、定義した動的な名前付き範囲を参照します。
[OK] をクリックして終了します。ドロップダウンで名前が選択されるたびに、それは他のドロップダウンリストから除外され、すべての選択肢が一意であることが保証されます。同じ名前を別のセルで選ぼうとしても、その名前はもうオプションとして利用できないことがわかります。
ヒント: ヘルパーカラム(列BとC)を削除したり上書きしたりしないでください。これらはドロップダウンリストが正しく更新されるために不可欠です。ワークシートを整理しながら機能を損なわないようにするには、これらのカラムを非表示にすることを検討してください。リストの更新に問題がある場合は、範囲の不一致や、すべてのデータ入力規則リンクが正しいか確認してください。また、指定された名前付き範囲を参照しているかどうかも確認してください。
このアプローチの制限は、多くのユーザーが同時に選択を行う場合(例えば共有ワークシートの場合)、競合が発生する可能性があることです。より高度でスケーラブルなソリューションを求める場合や、ワークシートの煩雑さを減らしてこのタスクを自動化する場合、VBAを使用することをお勧めします。次のセクションではこの代替案を紹介します。
関連記事:
最高のオフィス業務効率化ツール
🤖 | Kutools AI Aide:データ分析を革新します。主な機能:Intelligent Execution|コード生成|カスタム数式の作成|データの分析とグラフの生成|Kutools Functionsの呼び出し…… |
人気の機能:重複の検索・ハイライト・重複をマーキング|空白行を削除|データを失わずに列またはセルを統合|丸める…… | |
スーパーLOOKUP:複数条件でのVLookup|複数値でのVLookup|複数シートの検索|ファジーマッチ…… | |
高度なドロップダウンリスト:ドロップダウンリストを素早く作成|連動ドロップダウンリスト|複数選択ドロップダウンリスト…… | |
列マネージャー:指定した数の列を追加 |列の移動 |非表示列の表示/非表示の切替| 範囲&列の比較…… | |
注目の機能:グリッドフォーカス|デザインビュー|強化された数式バー|ワークブック&ワークシートの管理|オートテキスト ライブラリ|日付ピッカー|データの統合 |セルの暗号化/復号化|リストで電子メールを送信|スーパーフィルター|特殊フィルタ(太字/斜体/取り消し線などをフィルター)…… | |
トップ15ツールセット:12 種類のテキストツール(テキストの追加、特定の文字を削除など)|50種類以上のグラフ(ガントチャートなど)|40種類以上の便利な数式(誕生日に基づいて年齢を計算するなど)|19 種類の挿入ツール(QRコードの挿入、パスから画像の挿入など)|12 種類の変換ツール(単語に変換する、通貨変換など)|7種の統合&分割ツール(高度な行のマージ、セルの分割など)|… その他多数 |
Kutools for ExcelでExcelスキルを強化し、これまでにない効率を体感しましょう。 Kutools for Excelは300以上の高度な機能で生産性向上と保存時間を実現します。最も必要な機能はこちらをクリック...
Office TabでOfficeにタブインターフェースを追加し、作業をもっと簡単に
- Word、Excel、PowerPointでタブによる編集・閲覧を実現。
- 新しいウィンドウを開かず、同じウィンドウの新しいタブで複数のドキュメントを開いたり作成できます。
- 生産性が50%向上し、毎日のマウスクリック数を何百回も削減!
全てのKutoolsアドインを一つのインストーラーで
Kutools for Officeスイートは、Excel、Word、Outlook、PowerPoint用アドインとOffice Tab Proをまとめて提供。Officeアプリを横断して働くチームに最適です。





- オールインワンスイート — Excel、Word、Outlook、PowerPoint用アドインとOffice Tab Proが含まれます
- 1つのインストーラー・1つのライセンス —— 数分でセットアップ完了(MSI対応)
- 一括管理でより効率的 —— Officeアプリ間で快適な生産性を発揮
- 30日間フル機能お試し —— 登録やクレジットカード不要
- コストパフォーマンス最適 —— 個別購入よりお得