在验证源字段中使用CONCATENATE来引用命名表

时间:2015-02-25 11:41:22

标签: excel validation dependencies excel-formula excel-2010

我的问题源于我给予的一项让我难过的任务。我得到了一个大型树结构,我需要将其变成一系列依赖的下拉(或类似的东西)。最终目标是在excel电子表格中形成用户输入方式。

我正在使用Excel 2010,因此更愿意避免使用VBA。

到目前为止,我已经设法通过使用树中前两代的下拉菜单以及两个连续的vlookup来减少列表的数量。然而,下一代需要返回到下拉菜单。

是否可以使用SUBSTITUTE和CONCATENATE函数作为在excel中引用唯一表名的方法。这样做的目的是填充下拉列表验证列表。

e.g。如果单元格A1:C1定义为:

A1 = Food
B1 = Fruit
C1 = Apples
D1 = <Empty, result here>

我应用上述功能:

D1 = SUBSTITUTE((CONCATENATE(A1,B1,C1))," ","")

我会得到输出:

D1 = FoodFruitApples

现在说我有一个名为“FoodFruitApples”的列表:

Granny Smith
Golden Delicious
Pink Lady

如何使用“FoodFruitApples”表创建一个包含下拉列表的单元格?理想情况下,这将全部包含在单元格D1中,没有任何隐藏列。

这是我第一次提出与excel相关的问题,所以如果我的术语和问题结构不合适,我会道歉。谢谢你的帮助。

1 个答案:

答案 0 :(得分:2)

你非常接近。假设列表的范围/表名为FoodFruitApples。在数据验证窗口中,对于列表值,您可以输入:

=INDIRECT(SUBSTITUTE(CONCATENATE(A1,B1,C1)," ",""))

这应该引用要填充的下拉列表的命名范围/表。