如何在下拉列表中隱藏先前使用過的項目?
在 Excel 中,建立標準下拉式清單是一種常見的資料輸入技巧;但若您希望每次選擇後,清單都能自動縮短——移除已選過的項目,確保每個選項僅能被挑選一次呢?舉例來說,假設您的下拉清單包含 100 個不重複的姓名:當您選取其中一個姓名後,該姓名便會立即從下拉選項中消失,僅剩 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 欄提取對應項目,並將所有未使用的姓名彙整於 C 欄。一旦您選取某個姓名並從 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,引用您剛才定義的動態名稱範圍。

按一下確定完成設定。在下拉選單中每次選取一個姓名後,該姓名便會自動從其他下拉選單中排除,確保所有選擇皆為唯一;若您嘗試在其他儲存格中再次選取同一姓名,將發現該選項已不可用。

提示:請勿刪除或覆寫任何輔助欄位(B 欄與 C 欄),因為它們對下拉式清單的正確更新至關重要。若您希望保持工作表整潔,可考慮隱藏這些欄位,功能將完全不受影響!若遇到清單更新問題,請檢查公式範圍是否相符,並確認所有資料驗證連結皆正確指向預期的名稱範圍。
此方法的一項限制在於:若有多位使用者同時進行選擇(例如在共用工作表上),仍可能發生衝突。若您需要更進階且具擴充性的解決方案,或希望以更少的工作表視覺干擾來自動化此任務,建議採用 VBA——下一節將為您示範此替代做法。
相關文章:
最佳 Office 生產力工具
| 🤖 | KUTOOLS AI 助手:基於以下內容徹底革新數據分析:智慧執行 | 產生程式碼| 建立自訂公式 | 分析資料並產生圖表| 呼叫增強函數…… |
| 熱門功能:尋找、醒目提示或標記重複值 | 刪除空白行 | 合併列或儲存格而不遺失資料 | 不使用公式的四捨五入…… | |
| 高級 LOOKUP:多重條件 VLookup | 多重數值 VLookup | 跨多個工作表 VLookup | 模糊查找…… | |
| 高級下拉列表:快速建立下拉式清單 | 相依式下拉式清單 | 多選下拉式清單…… | |
| 欄位管理員:新增指定數量的欄位|移動欄位|切換隱藏欄位的可見狀態|比較範圍與欄位…… | |
| 精選功能:網格聚焦 | 設計視圖 |增強編輯欄 | 工作簿與工作表管理員 | 資源庫(自動文字)| 日期提取 | 合併工作表 | 加密/解密儲存格 | 依清單傳送電子郵件 | 超級篩選 | 特殊篩選(篩選粗體儲存格/斜體/刪除線……) ...... | |
| 頂尖 15 工具組:12 文字工具(添加文本,刪除特定字符,……)| 50+ 圖表 類型(甘特圖,……)| 40+ 實用公式(基於生日計算年齡,……)| 19 插入工具(插入二維碼,從路徑插入圖片,……)| 12 轉換工具(金額轉大寫,匯率轉換,……)| 7 合併和拆分工具(高級合併行,分割儲存格,……)|……以及更多 |
運用 Kutools for Excel 強化您的 Excel 技能,體驗前所未有的高效能!Kutools for Excel 提供超過 300 項進階功能,大幅提升生產力並節省寶貴時間。立即點擊,取得您最需要的功能……
Office Tab 為 Office 帶來分頁式介面,讓您的工作更輕鬆自在!
- 在 Word、Excel、PowerPoint 中啟用分頁式編輯與閱讀功能,以及 Access、Visio 與 Project。
- 在同視窗的新分頁中開啟並建立多份文件,而非另開新視窗。
- 每天為您提升 50% 的工作效率,並省下數百次滑鼠點擊!
所有 Kutools 增益集,一個安裝程式
Kutools for Office 套件整合了 Excel、Word、Outlook 與 PowerPoint 的增益集,以及 Office Tab Pro,非常適合需要跨多個 Office 應用程式協作的團隊使用!
- 全能套件— 包含 Excel、Word、Outlook 與 PowerPoint 增益集,以及 Office Tab Pro
- 一個安裝程式,一個授權— 數分鐘內即可完成設定(支援 MSI)
- 協同運作更出色— 在多個 Office 應用程式間實現流暢的生產力體驗
- 30 天完整功能試用— 無需註冊,無需信用卡
- 超值之選— 比單獨購買各增益集更省費用