Excel 使用基于其他列值的筛选下拉列表生成表

Excel 使用基于其他列值的筛选下拉列表生成表,excel,excel-formula,Excel,Excel Formula,我有一个工作簿,其中我正在创建多个唯一列表,用于表的下拉列表。以下是一些示例数据: 所有列表都是表中某列的一组唯一值。某些下拉选项取决于同一行中其他下拉列表的值。我使用下面的代码创建了用于下拉列表的唯一列表(从唯一区域开始): 这将列出特定区域的国家: =LOOKUP(2,1/(((COUNTIF($B$1:B1,Table1[Country]))+($N$6<>Table1[Region]))=0),Table1[Country]) =LOOKUP(2,1/(((COUNTIF

我有一个工作簿,其中我正在创建多个唯一列表,用于表的下拉列表。以下是一些示例数据:

所有列表都是表中某列的一组唯一值。某些下拉选项取决于同一行中其他下拉列表的值。我使用下面的代码创建了用于下拉列表的唯一列表(从唯一区域开始):

这将列出特定区域的国家:

=LOOKUP(2,1/(((COUNTIF($B$1:B1,Table1[Country]))+($N$6<>Table1[Region]))=0),Table1[Country])
=LOOKUP(2,1/(((COUNTIF($C$1:C1,Table1[Site]))+($N$6<>Table1[Region])+($O$6<>Table1[Country]))=0),Table1[Site])
=查找(2,1/((COUNTIF($B$1:B1,表1[国家])+($N$6Table1[地区])=0),表1[国家])
这将列出特定国家和特定地区的站点列表:

=LOOKUP(2,1/(((COUNTIF($B$1:B1,Table1[Country]))+($N$6<>Table1[Region]))=0),Table1[Country])
=LOOKUP(2,1/(((COUNTIF($C$1:C1,Table1[Site]))+($N$6<>Table1[Region])+($O$6<>Table1[Country]))=0),Table1[Site])
=查找(2,1/((COUNTIF($C$1:C1,表1[站点])+($N$6Table1[区域])+($O$6Table1[国家])=0),表1[站点])
然后,我使用名称管理器为每种情况选择要在下拉列表中显示的单元格:

=Sheet2!$B$2:INDEX(Sheet2!$B$2:$B$12,LOOKUP(2,1/(Sheet2!$B$2:$B$12<>""),ROW(Sheet2!$B$2:$B$12)-1))
=Sheet2$B$2:索引(Sheet2!$B$2:$B$12,查找(2,1/(Sheet2!$B$2:$B$12“),行(Sheet2!$B$2:$B$12)-1))
最后,我将引用存储在名称管理器中的列表的数据验证应用于创建下拉列表所需的单元格


我的结构只适用于一行,但我很难将其应用于整个表,因为唯一索引列表是基于单个单元格的值(在本例中为N6和O6)创建的。我如何能够动态地应用它,以便给定表中的每一行都是生成初始列表的内容?

首先,如果您有
Office365
,那么实现您的场景非常简单。您的公式中的一些示例数据有助于在此处获得帮助。只需使用示例数据片段进行更新。我不知道如何将其原始粘贴到表格格式。