条件/级联/从属下拉列表

我本质上是试图做这个家伙试图做的: Excel下拉列表使用vLookup

我已经经历了步骤,因为我的数据集有大约400个不同的下拉选项,我希望有一个比命名范围更容易的方法。 我有一个约400个不同的帐户名称的列表。 这些帐户名称中的每一个都与家庭关联,并由家庭ID号标识。 一个家庭可以有1-5个帐户名称。 我想我的下拉菜单能够识别一个家庭ID号码,然后提供下拉与相关的帐户名称。

例:

数据

家庭ID号是标识符。

我也去了这里以及http://sites.madrocketscientist.com/jerrybeaucaires-excelassistant/data-validation/dynamic-indirect,并试图find一种方法来保存一些手工work.I是一个总新手所以提前感谢您的帮助,您可以提供。

假设你有三张工作表。 第一张工作表Sheet1是用户将要查看的工作表,它具有下拉列表。 我们会说包含第一个下拉选项的单元格在B1中(包含大约400个不同选项的单元格),包含相关下拉列表的单元格在B2中:

Sheet1示例

在我们称之为MasterList第二张纸上,是所有的数据选项和相应的数据。 第1行是标题行; 第2行和第2行是实际的数据:

MasterList的例子

在你的第三张纸上,我们将叫DropDownLists ,是魔术发生的地方。 首先需要列出所有独特的数据选项。 我已经把它放在A列中。你可以通过你喜欢的任何方式(高级filter,数据透视表,公式,VBA等)从主列表中获得独特的数据选项。 该唯一数据选项列表是Sheet1单元格B1的下拉列表的基础。 然后在DropDownLists B2单元格中,按照需要复制下来,以确保它将抓取与所选数据选项关联的所有数据,请使用此公式(调整工作表名称和范围以适合您的实际数据):

 =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示例

最后,我们需要将该列表(基于所选数据选项的数据)作为dynamic命名范围。 我把它命名为listFilteredData ,并用这个公式来定义它:

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

然后,对于Sheet1单元格B2,使用数据validation并使用=listFilteredData定义列表,您将得到如我的示例中所示的结果。

用这个练习…..它会得到你所需要的。

你的数据将不得不为了这个工作。

sorting的数据

排序的数据

数据validation的节目

在这里输入图像说明

在这里输入图像说明

数据validation的情节

这个公式在数据validation框中

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

在这里输入图像描述

在这里输入图像描述

input数组公式以查找持续时间必须通过Ctrl&Shift&Enter确认

=INDEX($C$4:$C$18,MATCH(1,(E4=$A$4:$A$18)*(F4=$B$4:$B$18),0)) 在这里输入图像描述