[英]Conditional/cascading/dependent drop-down list
我實質上是想做這個家伙想要做的事情: 使用vLookup的Excel下拉列表
我已經完成了這些步驟,並且由於我的數據集具有大約400個不同的下拉選項,所以我希望有一種比命名范圍更簡單的方法。 我有大約400個不同帳戶名的列表。 這些帳戶名中的每一個都與一個家庭相關聯,並由家庭ID號標識。 一個家庭可以有1-5個帳戶名。 我希望下拉菜單能夠識別住戶ID號,然后為下拉菜單提供與其關聯的帳戶名。
例:
其中,住戶編號是標識符。
我也去過這里http://sites.madrocketscientist.com/jerrybeaucaires-excelassistant/data-validation/dynamic-indirect,並試圖找到一種節省一些手工工作的方法。預先感謝您提供的任何幫助。
假設您有三個工作表。 第一個工作表Sheet1
是您的用戶將要查看的工作表,並且具有下拉列表。 我們將說,包含第一個下拉選項的單元格在B1中(具有大約400個不同選項的單元格),而包含從屬下拉列表的單元格在B2中:
在第二張紙上,我們將其稱為MasterList
,其中是所有數據選項和相應的數據。 第1行是標題行; 第2行及以下是實際數據:
在您的第三張紙上,我們將其稱為DropDownLists
,這就是魔術發生的地方。 首先需要具有所有唯一數據選項的列表。 我已將其放在A列中。您可以通過自己喜歡的任何方式(高級過濾器,數據透視表,公式,VBA等)從主列表中獲得唯一數據選項。 該唯一數據選項列表是Sheet1
單元格B1的下拉列表的基礎。 然后在DropDownLists
單元格B2中並根據需要向下復制,以確保它將捕獲與所選Data Option相關的所有數據,請使用以下公式(調整工作表名稱和范圍以適合您的實際數據):
=IF(OR(Sheet1!$B$1="",ROW(B1)>COUNTIF(MasterList!$A$2:$A$10000,Sheet1!$B$1)),"",INDEX(MasterList!$B$2:$B$10000,MATCH(1,INDEX((MasterList!$A$2:$A$10000=Sheet1!$B$1)*(COUNTIF(B$1:B1,MasterList!$B$2:$B$10000)=0),),0)))
這使您的DropDownLists
表如下所示:
最后,我們需要使該列表(基於所選數據選項的數據)成為動態命名范圍。 我將其命名為listFilteredData
,並使用以下公式進行定義:
=DropDownLists!$B$2:INDEX(DropDownLists!$B:$B,MAX(2,ROWS(DropDownLists!$B:$B)-COUNTBLANK(DropDownLists!$B:$B)))
然后,對於Sheet1
單元格B2,使用數據驗證並使用=listFilteredData
定義列表,您將獲得如我的示例所示的結果。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.