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列中的第一列。
答案 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”。与使用流行的工作相同的是水果蔬菜卷心菜示例,但这不需要您制作多个命名范围。 (这意味着它适用于单个大型更换表)。