2016-01-21 2 views
0

По какой-то причине я не могу найти пример для этого.Вывод данных с проверкой данных с помощью поиска

У меня есть стол с двумя колонками, [Графство] и [Улица].

У меня есть другой стол со множеством столбцов, два из которых - [Графство] и [Улица]. На этой второй таблице каждая строка уже заполняет [Графство], но мне нужно разрешить пользователю щелкнуть ячейку [Улица] для каждой строки и выбрать (из выпадающего меню) улицу. Улицы в раскрывающемся списке должны динамически меняться, чтобы показывать только Улицы из первой таблицы, которые включены в графство в этой конкретной строке во второй таблице.

Таблица 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.

Благодарим за помощь!

+0

[Здесь] (http://www.excel-university.com/create-depdendent-drop-downs-conditional-data-validation/) представляет собой хороший учебник. –

ответ

0

С помощью таблицы поиска на Лист2, отсортированных по возрастанию по колонке А, и в раскрывающемся меню на Лист1, сделайте это:

  • Выбрать Лист1 B2 (первая ячейка, где улица выпадающий будет идти)
  • создать новый именованный диапазон с именем менеджера, назовем его "StreetList" и использовать эту формулу:

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

  • Важно, чтобы вы выбрали правильную ячейку перед написанием формулы, потому что она содержит относительную ссылку на ячейку слева.
  • применить проверку данных к ячейке Sheet1! B2, используя опцию List и именованный диапазон =StreetList в качестве источника
  • скопируйте ячейку проверки данных вниз.

Когда активная ячейка находится рядом с «Графство 1», выпадающий список содержит только улицы для этого округа.

enter image description here

С этой ячейке B2 выбран, откройте Диспетчер имен выберите формулу для StreetList увидеть шагающих муравьёв вокруг результата формулы.

enter image description here

+0

Блестящий. Это работает очень хорошо. Благодаря! – user17303

Смежные вопросы