创建有限的下拉列表

时间:2015-12-03 00:05:51

标签: excel list

所以说我有一个x表格的表格。

X太大了,或经常变化,使得X额外的表/列表/命名范围是荒谬的。 但是,我需要制作一个某些 y的下拉列表。

具体做法是: Name | A | B | C | .. Yannis| 20 |Yellow| Green| .. Mirrah| 400 |Purple|Yellow| .. . . .

我需要下拉选择Name来更改不同下拉列表中的选项,该列表基于B& C。 通常,您可以使用Filter或INDIRECT()来执行此操作。但是,为X中的每个条目创建唯一的表或名称定义是不合理的。

可以创建一个包含B& B的所有可能条目的表格。 C,如果有一种方法可以根据第一个表过滤列表的命名定义(最有可能使用vlookup())

通俗地说:我需要list 1来过滤list 2,其中list 1要么是巨大的,要么会不断变化。

Gah,所以这个:

=INDIRECT("'InfoDump'!" & ADDRESS(MATCH(C5,PkmList,0)+25,10))

放入数据验证列表工作,但它只有一个条目,我需要3。 只需添加逗号和副本就会导致错误消息。

从表中正确引用(动态)提供的一个条目,而不需要更多表/ namedRanges。

C5是第一个列表为的地方 PkmList是表的第一列的NamedRange +25'因为表格从A25开始(列标题)
10引用第二个列表中我需要的3列中的第一列。

1 个答案:

答案 0 :(得分:0)

好! 经过一些实验,这完成了我想要的:

=INDIRECT("'InfoDump'!" & (ADDRESS(MATCH(C5,PkmList,0)+25,10)) & ":" & ((ADDRESS(MATCH(C5,PkmList,0)+25,12))))

或者,在某些不同的术语中:

=INDIRECT("'sheetName'!" & (ADDRESS(MATCH(DropDownOne,DropDownOneCriteria,0)+(AdjustRow),(AdjustColumn))) & ":" & ((ADDRESS(MATCH(DropDownOne,DropDownOneCriteria,0)+(AdjustRow),(AdjustColumn)))))

数据验证讨厌逻辑。

-

从最基本的意义上讲:

匹配(a,b,c)获取'b'中'a'的位置(c与vlookup的完全匹配选项相同)

地址(行,列)获取“j26”地址,您可以(就像我一样)从找到匹配的位置进行调整。 (在我的情况下,25下来'casue表实际上是从A25开始的,但是列表从'1'开始;然后是10 - 12对于我需要列出的3个选项)

indirect(txt)将其转换为列表。或多或少。使用“'sheetName'!”用于引用不同的表格。

-

所以最后这会在数据验证栏中根据另一个列表给出“= A2:A4”。与使用流行的工作相同的是水果蔬菜卷心菜示例,但这不需要您制作多个命名范围。 (这意味着它适用于单个大型更换表)。