Excel数据validation作为另一个数据validation的input
假设我有一个包含以下信息的工作表:
Manager Division Gustavo 1 John 2 Jack 2 Paul 1 Simona 2
我有一个数据validation列表,允许用户select一个部门。 如果用户select1,那么在另一个数据validation列表中,我想列出Gustavo和Paul。 如果用户select2,那么在另一个数据validation列表中,我想列出John,Jack和Simona。 而且,数据可能会扩大。 我的意思是:也许下面的Simona可以添加另一个用户,比如说:Berry 1.然后,如果用户select1,那么Gustavo,Paul和Berry将成为其他数据validation列表的选项。
我已经实施了第一个确认清单。 我遇到的问题是问题的第二部分。 大多数解决scheme都使用名称pipe理器。 这对我来说是一个问题,因为我的数据布局的方式,因为我需要不断更新名称经理。 我想使它更加dynamic,当用户添加或删除数据时,它总是显示该部门的当前列表。 之后我会得到第三个确认清单,但是如果我能够学习如何做到这一点的话,那么我应该可以解决其余的问题。
好的,所以你可以通过几个步骤来完成这个工作范围来保存validation列表:
- 在工作簿中的某个位置,您可以在多个单元格中创build一个数组公式
- select单元格,例如F2:F6(我在例子中使用了5个可能的pipe理器,但是你可以改变它)
- 所有选中的,inputARRAY公式(即使用Ctrl + Shift + Enterinput)
=SMALL(IF($B$2:$B$6=$D$4,ROW($B$2:$B$6),""),ROW(INDIRECT("1:5")))
– 经理部门在B2:B6中 – select的是D4 …1:5
实际上是一个计数器,上升到我们的5可能的经理。 - 这应该给你一个行号列表,其中司与选定的相同,然后一些
#NUM!
错误
- 在下一列(G2:G6)中input(正常)公式
=IFERROR(INDIRECT("A"&F2),"")
。 这将给你一个选定部门经理名单。 - 在你想要select的单元格中,使用source
=OFFSET($G$2,0,0,COUNT($F$2:$F$6))
– 这个引用了名字列表,但是删除了底部的空格
希望这是有道理的! 这是一个布局的图片: