从属级联下拉列表

我有一个关于依赖下拉列表的问题。 我build立了一个数据表(表1):

A | B | C 1 Manager | Cashier | Driver 2 Joe | Sarah | Tom 3 Sophie | James | Anthony 

我有2个范围:
1)表示表名= RoleTable
2)$ A $ 1:$ C $ 1 = RoleHeaders

在Sheet2中,我设置了一个单元格($ A1)作为范围“angular色”,现在我已经将数据validation放在同一个单元格= RoleHeaders列表中)(下拉菜单)。

我已经设置了另一个Range ='RoleName'并设置下面的公式:

 RoleName=INDEX(RoleTable,,MATCH(Role,RoleHeaders,0)) 

我做了B2 = RoleName。 现在这工作正常,当我只有一个angular色列表,但只要我插入validation到单元格A2,作为angular色= A1从属列表将无法正常工作,并基于A1中的值。

我search了networking,看到了很多不同的方式来做到这一点…是否有一个简单的方法来编辑我当前的论坛或设置?

谢谢!

尝试将表格名称添加到您的名称范围。

将您的RoleTable从$ A $ 1:$ C $ 3更改为Sheet1!$ A $ 1

然后将您的指数公式更改为偏移公式

 =OFFSET(RoleTable,1,MATCH(Role,RoleHeaders,0)-1,CHOOSE(MATCH(Role,RoleHeaders,0),COUNTA(Sheet1!$A:$A),COUNTA(Sheet1!$B:$B),COUNTA(Sheet1!$C:$C),COUNTA(Sheet1!$D:$D),COUNT(Sheet1!$E:$E))-1,1) 

您应该可以通过Formulasfunction区上的Name Manger完成所有这些工作。

我只是抓住了你试图使它dynamic的部分。 而不是在偏移公式中2,你可以用CountA(C:C)replace它。 我现在的问题是我想弄清楚如何生成select整列参考,当你正在处理的列号。

你可以用间接和CHR()做,但我希望有更清洁的东西…还是要看地址公式。

UPDATE

这里是我的姓名经理的屏幕截图,笔记我正在用sheet6上的数据进行testing,并从sheet7中调用。 这应该是您的工作表1和工作表2相同

名称经理

这是截止偏移公式的副本。 如果应该和上面的一样,只是引用了sheet6而不是sheet1:

 =OFFSET(RoleTable,1,MATCH(Role,RoleHeaders,0)-1,CHOOSE(MATCH(Role,RoleHeaders,0),COUNTA(Sheet6!$A:$A),COUNTA(Sheet6!$B:$B),COUNTA(Sheet6!$C:$C),COUNTA(Sheet6!$D:$D),COUNTA(Sheet6!$E:$E))-1,1) 

这将处理最多5列的源下拉项目。 我认为select有6的限制,所以你可以添加另一个计数。 似乎我已经在列E:E中select了count而不是counta。 我只是在发布的版本中纠正了这一点。

这是我在sheet6上的testing数据,它将是您的sheet1: 测试数据

这里是在sheet7(你的sheet2)单元格A1中selectangular色的图像。 注意细胞中没有公式。

角色图片

在这里,我们看到你在动作下拉列表中只显示2个条目。

经理挑选

在这里,我们可以看到列表已经扩展,以获取驱动程序列表的添加名称。

司机选择