我有多个相互依赖的下拉列表,根据您选择的答案,我希望确定其他列表。我将尝试解释下面的结构
**Position** **Fruit** **Location** **Thing**
1 Banana Mexico TV
2 Apple New York hat
3 Orange Tokyo pen
4 grape Canada bed
London box
Home
因此,例如,如果您选择“香蕉”,则需要依赖。来自' Fruit'您只能从位置和事物列表中选择某些选项。
我想要完成的是这样的事情:
如果您选择' 1'从位置; position => ' 1'水果的唯一选择是香蕉,苹果。
Fruit => Banana, Apple.
if position = 1( fruit = banana, apple)
但如果你选择' 2'从位置; position => ' 2'一切都可以从水果中获得。但是如果你选择' 2' 2然后香蕉,只有加拿大的地点'可以从另一个单元格获得。
If position:2 => fruit:banana => Location = Canada
If position: 2 => fruit:apple => Location can equal Mexico, New York, Tokyo
我在数据表中定义了名称,我遇到的一个问题是定义的名称不能以数字开头。对于一些答案,我绝对需要数字。
我开始编写foruma但语法和逻辑不正确。
=VLOOKUP($c4,if ($c4 = "<1",VLOOKUP($c4,MasterList,2,FALSE), IF ($C4= "2"($c4,MasterList,3,FALSE).
在这种情况下,c4将是最初的下拉问题。
我怎样才能做到这一点?
答案 0 :(得分:1)
使用index()的动态命名范围:index()函数可以工作。但是,数据需要以促进它的方式构建。例如,位置1的水果列表需要是:
A B
Fruit
IndexKey | Value
1 | Banana
1 | Apple
... | ...
使用单元格c4作为输入,您可以创建命名范围Fruits:
=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是输入字段表。
然后,您可以为下一个验证列表的Fruits命名范围设置验证列表。每个命名范围都可以依赖于之前选择的选择。
重要的是保持indexkey列的排序,因为匹配的工作原理。