Excel依赖下拉列表窗口

我有多个相互依赖的下拉列表,取决于你select哪个答案,我想要确定其他列表。 我将尝试解释下面的结构

**Position** **Fruit** **Location** **Thing** 1 Banana Mexico TV 2 Apple New York hat 3 Orange Tokyo pen 4 grape Canada bed London box Home 

因此,例如,依赖项是如果从“水果”中select“香蕉”,则只能从“地点”和“物品”列表中select某些选项。

我想要完成的事情是这样的:

如果从位置select“1” 位置=>'1',你唯一的select就是香蕉,苹果。

 Fruit => Banana, Apple. if position = 1( fruit = banana, apple) 

但是如果你从位置select“2” 位置=>'2'一切都可以从水果。 但是,如果你select“2”,那么香蕉,只有“位置”加拿大可以从另一个单元。

 If position:2 => fruit:banana => Location = Canada If position: 2 => fruit:apple => Location can equal Mexico, New York, Tokyo 

我已经在数据表中定义了名字,我碰到的一个问题是定义的名字不能以数字开头。 并为一些答案,我绝对需要数字。

我开始写一个forms,但语法和逻辑不正确。

 =VLOOKUP($c4,if ($c4 = "<1",VLOOKUP($c4,MasterList,2,FALSE), IF ($C4= "2"($c4,MasterList,3,FALSE). 

在这种情况下,C4将是最初的下拉问题。

我怎样才能使这成为可能?

使用index():index()函数的dynamic命名范围可以工作。 尽pipe如此,数据需要以这种方式进行组织。 例如,位置1的水果清单需要是:

  AB Fruit IndexKey | Value 1 | Banana 1 | Apple ... | ... 

以单元格c4作为input,您可以创build命名范围水果:

 =Index(Sheet2!$B:$B,Match(Sheet1!$C$4,Sheet2!$A:$A,0)):Index(Sheet2!$B:$B,Countif(Sheet2!$A:$A,Sheet1!$C$4)+Match(Sheet1!$C$4,Sheet2!$A:$A,0)-1) 

其中Sheet2是数据,Sheet1是input字段表。

然后,您可以为下一个validation列表设置水果命名范围的validation列表。 每个命名的范围都可以依靠前一个select的select。

重要的是要保持indexkey列,因为匹配如何工作。