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列表:

  1. 在工作簿中的某个位置,您可以在多个单元格中创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! 错误
  2. 在下一列(G2:G6)中input(正常)公式=IFERROR(INDIRECT("A"&F2),"") 。 这将给你一个选定部门经理名单。
  3. 在你想要select的单元格中,使用source =OFFSET($G$2,0,0,COUNT($F$2:$F$6)) – 这个引用了名字列表,但是删除了底部的空格

希望这是有道理的! 这是一个布局的图片: 在这里输入图像说明