Excel中的分层dynamic下拉列表

在我的公司,我有一个这样的数据库,我想创build一个分层dynamic更新下拉列表。

+-----------+----------+--------+ | Institute | Industry | Course | +-----------+----------+--------+ | a | aa | aaa | | a | aa | bbb | | b | bb | mmm | | b | cc | ddd | | b | bb | ttt | | c | ee | fff | | d | ee | ggg | +-----------+----------+--------+ 

我想最终的结果是这样的。 用户将从顶部开始。 根据顶部条目底部列表将相应地改变。 下面是一个快照。

我的用户条目列表演示结构

我的方法

我的计划是创build一个基于前两个条目的课程列表索引的数组公式。 然后使用偏移量进行课程录入。 但我的问题是,虽然我能够索引课程列表我无法sorting他们在数据validation中使用。 数据validation不会忽略我不想要的非填充或错误值。 假设我解决了第一个层次问题,我有学院和行业输出。 我试过这个

G8 – 研究所从下拉式input
G9 – 从下拉式行业input
H11:H15 – 各自的课程

并且H11:H15中的公式为{=INDEX(C2:C8,1/(1/((A2:A8=G8)*(B2:B8=H8)*(ROW(C2:C8)-1))))}
这是我得到的输出 。

我是相当新的发布问题。 让我知道,如果我可以更清楚。 另外,我在冲浪互联网时发现了这些非常有用的链接。 请原谅我添加为代码,因为SO不允许超过2个链接的新成员

 1: http://www.contextures.com/xlDataVal02.html 2: https://www.ablebits.com/office-addins-blog/2014/09/30/dependent-cascading-dropdown-lists-excel/ 

我想你想要的是把这个公式作为一个数组放入H11:H18:

 =IFERROR(INDEX(C2:C8,AGGREGATE(15,6,(ROW(C2:C8)-1)/((A2:A8=G8)*(B2:B8=G9)),ROW()-ROW(H10)),1),"") 

然后,您可以将课程选项的数据validation设置为H11:H18。

在这里输入图像说明