фильтр на листе1 также фильтрует лист2 на основе значений, отфильтрованных листом1

#excel #vba #filter

Вопрос:

У меня есть несколько листов в файле excel, и адресный лист содержит столбцы: Почтовый индекс, Дом, город, а лист сотрудника содержит столбцы: Имя, Контакт, Дом, Почтовый индекс. Я хочу отфильтровать свои листы, чтобы найти сотрудников из определенного города.

Адресный лист:

почтовый индекс Дом Город
EC1V 9LT 372 Старая улица Лондон
NW3 6BT 176 Финчли-роуд Лондон
M14 5TD 6 Уилмслоу-роуд, Рашолм Манчестер
ЙО1 9РА 7-9 Клиффорд-стрит Йорк

Ведомость сотрудников:

Имя Контакты Дом почтовый индекс
Сотрудник 1 XXXXX-XXXXXX 372 Старая улица EC1V 9LT
Сотрудник 2 XXXXX-XXXXXX 176 Финчли-роуд NW3 6BT
Сотрудник 3 XXXXX-XXXXXX 6 Уилмслоу-роуд, Рашолм M14 5TD
Сотрудник 4 XXXXX-XXXXXX 7-9 Клиффорд-стрит ЙО1 9РА

Отфильтрованный Адресный лист:

почтовый индекс Дом Город
EC1V 9LT 372 Старая улица Лондон
NW3 6BT 176 Финчли-роуд Лондон

Который автоматически отфильтрует список сотрудников, также дающий следующий результат:

Имя Контакты Дом почтовый индекс
Сотрудник 1 XXXXX-XXXXXX 372 Старая улица EC1V 9LT
Сотрудник 2 XXXXX-XXXXXX 176 Финчли-роуд NW3 6BT

Спасибо вам за помощь.

Ответ №1:

Одним из решений является добавление столбца «Город» в таблицу сотрудников с помощью функции vlookup, чтобы у вас было все на 1 листе. Для этого вам нужно будет создать новый ключ столбца на каждом листе, где будут объединены значения из столбцов Дом и Почтовый индекс. Это будет что-то вроде этого:

Адресный лист:

Ведомость сотрудников:

введите описание изображения здесь

где функция vlookup в столбце Город будет выглядеть примерно так:

 =VLOOKUP(E2;Address_Sheet_Name!C:D;2;0)  

Комментарии:

1. Спасибо за ваш ответ, но возможно ли это сделать, не добавляя столбцы в список сотрудников?