Excel中的从属和多个下拉列表

时间:2012-04-18 09:10:33

标签: excel excel-formula

我正在尝试在Excel中创建依赖下拉列表。

我有4列。公司,年龄组,会员和区域。

当我选择公司名称1时,我应该获得与该公司相关的一组详细信息。我使用了INDIRECR和SUBSTITUTE,它适用于前两列。

没有宏,我可以这样做吗?

我有一个表1 - 公司

Company 1
Company 2
Company 3

对于每个公司,我都有一组数据表,如

Age      Members          Area

我已经拍了两张工作表。

在Sheet1中,我拥有所有公司的所有数据,我自己创建了公司和其他列的定义名称。

在Sheet2中,我正在创建Dropdownlist。

在单元格A2中,我创建了我的公司列表为=源区域中的公司(因为我在定义名称范围时给出了相同的名称)

对于第二次和相关下拉(年龄),我使用了= INDIRECT(SUBSTITUTE(A2,“”,“”))并且它有效。

但是对于第三次下拉,当公司名称发生变化时也应该更改,但是没有发生。

1 个答案:

答案 0 :(得分:1)

我们假设有一家公司:Microsoft。您目前有一个命名范围(Microsoft),其中包含年龄组列表;我们假设它们是Under 1818 to 40Over 40。对于每个年龄组,都有一个成员列表。

您需要为每个成员列表指定一个源自公司名称和年龄组的名称;例如MicrosoftUnder18AliceBobCharlie; Microsoft18to40DaveEdgarFranMicrosoftOver40GertrudeHilary

假设下拉列表1位于A1,下拉列表2位于A2,而下拉列表3位于A3,您需要放置源代码 - 在A3下来:

=INDIRECT(SUBSTITUTE(A1&A2," ",""))

您需要根据需要重复此操作以获得尽可能多的下拉菜单。

如果您的数据可能经常更改,则可能更容易将数据转换为常规格式。如果您只是想查看列表,则可以使用数据透视表而不使用任何数据(只需将过滤器字段放在Page部分中,将人员放在Row部分中);如果您正在做更复杂的事情,VBA例程可以帮助您。保持许多命名范围是灾难的一种方法。