2016-01-21 51 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