繁体   English   中英

使用查找的Excel数据验证下拉列表

[英]Excel Data Validation Drop-Down using a Lookup

由于某种原因,我似乎无法为此找到一个示例。

我有一个包含两列的表格:[County]和[Street]。

我有另一个表,其中有很多列,其中两个是[County]和[Street]。 在第二张表上,每行都已经填写了[County],但我需要允许用户单击每行的[Street]单元格,然后从下拉菜单中选择“街道”。 下拉列表中的街道必须动态更改,以仅显示第二个表中该特定行的县中包含的第一个表中的街道。

表格1:

County   |  Street
-------------------
County 1 | Street 1
County 1 | Street 2
County 1 | Street 3
County 2 | Street 4
County 2 | Street 5
County 2 | Street 6

表2:

County   |   Street   |  Column 3  |  Column 4 
------------------------------------------------
County 1 |{Drop-down} |  --------  |  --------
County 1 |            |  --------  |  --------
County 1 |            |  --------  |  --------
County 2 |            |  --------  |  --------
County 2 |            |  --------  |  --------
County 2 |            |  --------  |  --------

我可以找到的最佳条件数据验证示例是使用INDIRECT并将验证指向每个县的预先创建的街道列表。 这不是一个好选择,因为此数据集非常大且经常更新。 我想使用某种INDEX-MATCH数组查找来根据原始数据集动态创建列表(表1),但是当我尝试使用查找公式时,我总是遇到错误。

请尽可能保留非VBA的答案。 可能需要在未启用VBA的应用程序中使用此工作簿。

谢谢你的帮助!

使用Sheet2上的查找表(按A列升序排列)和Sheet1上的下拉列表,执行以下操作:

  • 选择Sheet1!B2(Street下拉列表所在的第一个单元格)
  • 使用名称管理器创建一个新的命名范围,将其命名为“ StreetList”并使用以下公式:

=INDEX(Sheet2!$B:$B,MATCH(Sheet1!$A2,Sheet2!$A:$A,0)):INDEX(Sheet2!$B:$B,MATCH(Sheet1!$A2,Sheet2!$A:$A,1))

  • 在编写公式之前,请选择正确的单元格,这一点很重要,因为它包含对左侧单元格的相对引用。
  • 使用List选项并将命名范围=StreetList作为源将数据验证应用于单元Sheet1!B2
  • 向下复制数据验证单元。

当活动单元格位于“县1”旁边时,下拉列表仅包含该县的街道。

在此处输入图片说明

选中该单元格B2后,打开“名称管理器”,单击StreetList的公式,然后查看公式结果周围的行进蚂蚁。

在此处输入图片说明

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM