2016-01-21 52 views
0

出于某种原因,我似乎无法找到此示例。Excel数据验证使用查找下拉

我有一个两列[县]和[街]的表。

我有另一张有很多列的表格,其中两个是[县]和[街道]。在第二张桌子上,每一行都会有[县]填写,但我需要允许用户单击每行的[街道]单元格并选择(从下拉菜单中)街道。下拉列表中的街道必须动态更改为仅显示第二个表格上该特定行中County所包含的第一个表格中的Streets。

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

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

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

感谢您的帮助!

+0

[这里](http://www.excel-university.com/create-depdendent-drop-downs-conditional-data-validation/)是一个很好的教程。 –

回答

0

随着Sheet2中的查找表,由A列升序排列,并在Sheet1下拉,这样做:

  • 选择Sheet1中B2(第一小区的情况下街下拉会)
  • 创建一个名称管理器一个新的指定范围,称之为 “StreetList”,并使用这个公式:

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

  • 在编写公式之前选择正确的单元格很重要,因为它包含对左侧单元格的相对引用。
  • 使用列表选项和指定范围=StreetList作为源对单元Sheet1!B2应用数据验证
  • 将数据验证单元向下复制。

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

enter image description here

选中该单元格B2,打开名称管理器,单击StreetList公式,看看周围的公式的结果的行军蚁。

enter image description here

+0

辉煌。这工作得很好。谢谢! – user17303