Excel中:下拉列表取决于其他下拉列表(Excel: Dropdown list dependan

2019-10-18 23:38发布

我想在Excel中的以下内容:

在相邻小区两个下拉列表:

下拉列表#1 | 下拉列表#1

Dropdown list 1:
One
Two
Three

如果我在第一个单元格中选择一个,在第二格的列表应包含以下选择:

One:<br/>
1.1<br/>
1.2<br/>
1.3

如果我在第一个单元格中选择两个,在第二格的列表应包含以下选择:

Two:<br/>
2.1<br/>
2.2

等等。 有很多教程的身边,但我有一些麻烦搞清楚这其中的解决了这一问题询问。

更新:一个例子。 当选择f.ex. 组标题(COL A),组1中列出向右(COL d)中的条目下组1应该出现在项目标题(列B)下。 与同为其他组。

Answer 1:

更新的承诺:

当您使用的验证列表,你必须输入一个范围,如下图所示。

OFFSET功能允许动态设置基于其输入标准的范围内。

如果你考虑这个问题:

=OFFSET(C1,0,0,1,1)
  • 参数1 =锚定小区
  • 参数2 =行数移动,你可以使用负数这里拉升行和正数向下移动
  • 参数3 =移动列数。 负值表示向左偏移,正面右侧。
  • 参数4 =的范围内的高度(不能为负值并且是可选的,默认值为1)
  • 参数5 =的范围内的宽度(不能为负值并且是可选的,默认值为1)

在这种情况下,返回的范围将是C1因为我们没有行或列偏移和高度和宽度被设置为1

MATCH函数将返回的其中值出现在一单元格范围的索引(范围必须是1个细胞宽或1个细胞高)

基于上述丝网印刷=MATCH("Group2",D1:F1,0)将返回2中,作为“组2”出现在第二小区D1:F1范围。 (“组1”将返回1,“组3”将返回3,和“组4”将返回#N / A,因为它不存在)。

因此,基于我们可以把MATCH函数作为我们的第二个参数OFFSET函数,并挑选在第一个参数匹配列MATCH函数。

=OFFSET(C1,0,MATCH("Group2",D1:F1,0),1,1)将返回范围E1因为我们已经通过从2移位的列C1 ,因为的MATCH

=OFFSET(C1,1,MATCH("Group2",D1:F1,0),3,1)将返回现在回E2:E4为我们增加的范围内的高度为3,行偏移为1。

最后,我们可以在该“组2”的值更改MATCH函数将一个单元格的值,这将意味着该范围将动态地改变。

在这里,我使用的细胞A2 =OFFSET(C1,1,MATCH(A2,D1:F1,0),3,1)以便任何值是细胞A2将用于抵消的范围内。

而做的最后一件事是将动态范围进入验证(我用B2

这将动态设置验证范围。

当我使用OFFSET带有多个参数的功能,我不知道它的返回回到正确的范围内,我写的,我只是把VBA模块中的小帮手用户定义的函数。

Public Function GetAddress(rng As Range) As String
GetAddress = rng.Address
End Function

这使我把偏移公式中和后会返回范围内的地址。 所以,我可以确保它是正确的。

有可能是一个内置该功能,但我从来没有发现它。



文章来源: Excel: Dropdown list dependant on other dropdown list