簡體   English   中英

條件/級聯/從屬下拉列表

[英]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中:

Sheet1示例

在第二張紙上,我們將其稱為MasterList ,其中是所有數據選項和相應的數據。 第1行是標題行; 第2行及以下是實際數據:

MasterList示例

在您的第三張紙上,我們將其稱為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表如下所示:

DropDownLists示例

最后,我們需要使該列表(基於所選數據選項的數據)成為動態命名范圍。 我將其命名為listFilteredData ,並使用以下公式進行定義:

=DropDownLists!$B$2:INDEX(DropDownLists!$B:$B,MAX(2,ROWS(DropDownLists!$B:$B)-COUNTBLANK(DropDownLists!$B:$B)))

然后,對於Sheet1單元格B2,使用數據驗證並使用=listFilteredData定義列表,您將獲得如我的示例所示的結果。

練習吧.....它將滿足您的需求。

您的數據將必須排序才能正常工作。

排序數據

排序數據

節目數據驗證

在此處輸入圖片說明

在此處輸入圖片說明

劇集的數據驗證

數據驗證框中的此公式

=OFFSET($A$1,MATCH($E$4,$A:$A,0)-1,1,COUNTIF($A:$A,$E$4),1)

在此處輸入圖片說明

在此處輸入圖片說明

輸入數組公式以找到持續時間,必須通過Ctrl&Shift&Enter確認

=INDEX($C$4:$C$18,MATCH(1,(E4=$A$4:$A$18)*(F4=$B$4:$B$18),0)) 在此處輸入圖片說明

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM