KutoolsforOffice — 一套方案,五大工具。事半功倍。三月特賣:20% 折扣

如何在下拉列表中隱藏先前使用過的項目?

作者Xiaoyang修改日期

在 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——下一節將為您示範此替代做法。



相關文章:

如何在 Excel 中插入下拉式選單?

如何在 Excel 中建立包含圖片的下拉式選單?

最佳 Office 生產力工具

🤖KUTOOLS AI 助手:基於以下內容徹底革新數據分析:智慧執行     產生程式碼  建立自訂公式    分析資料並產生圖表  呼叫增強函數……
熱門功能尋找、醒目提示或標記重複值     刪除空白行     合併列或儲存格而不遺失資料     不使用公式的四捨五入……
高級 LOOKUP多重條件 VLookup    多重數值 VLookup     跨多個工作表 VLookup      模糊查找……
高級下拉列表快速建立下拉式清單     相依式下拉式清單     多選下拉式清單……
欄位管理員新增指定數量的欄位移動欄位切換隱藏欄位的可見狀態比較範圍與欄位……
精選功能網格聚焦     設計視圖   增強編輯欄    工作簿與工作表管理員     資源庫(自動文字)  日期提取     合併工作表    加密/解密儲存格    依清單傳送電子郵件     超級篩選      特殊篩選(篩選粗體儲存格/斜體/刪除線……) ......
頂尖 15 工具組12 文字工具添加文本刪除特定字符,……)   50+ 圖表 類型甘特圖,……)   40+ 實用公式基於生日計算年齡,……)   19 插入工具插入二維碼從路徑插入圖片,……)   12 轉換工具金額轉大寫匯率轉換,……)   7 合併和拆分工具高級合併行分割儲存格,……)……以及更多
在您的慣用語言中使用 Kutools—支援英文、西班牙文、德文、法文、中文及另外 40+ 種語言!

運用 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 應用程式協作的團隊使用!

ExcelWordOutlookTabsPowerPoint
  • 全能套件— 包含 Excel、Word、Outlook 與 PowerPoint 增益集,以及 Office Tab Pro
  • 一個安裝程式,一個授權— 數分鐘內即可完成設定(支援 MSI)
  • 協同運作更出色— 在多個 Office 應用程式間實現流暢的生產力體驗
  • 30 天完整功能試用— 無需註冊,無需信用卡
  • 超值之選— 比單獨購買各增益集更省費用