Расширенный фильтр и немного магии

У подавляющего большинства пользователей Excel при слове "фильтрация данных" в голове всплывает только обычный классический фильтр с вкладки Данные - Фильтр (Data - Filter):

advanced-filter1.png

Такой фильтр - штука привычная, спору нет, и для большинства случаев вполне сойдет. Однако бывают ситуации, когда нужно проводить отбор по большому количеству сложных условий сразу по нескольким столбцам. Обычный фильтр тут не очень удобен и хочется чего-то помощнее. Таким инструментом может стать расширенный фильтр (advanced filter), особенно с небольшой "доработкой напильником" (по традиции).

Основа

Для начала вставьте над вашей таблицей с данными несколько пустых строк и скопируйте туда шапку таблицы - это будет диапазон с условиями (выделен для наглядности желтым):

advanced-filter2.png

Между желтыми ячейками и исходной таблицей обязательно должна быть хотя бы одна пустая строка.

Именно в желтые ячейки нужно ввести критерии (условия), по которым потом будет произведена фильтрация. Например, если нужно отобрать бананы в московский "Ашан" в III квартале, то условия будут выглядеть так:

advanced-filter3.png

Чтобы выполнить фильтрацию выделите любую ячейку диапазона с исходными данными, откройте вкладку Данные и нажмите кнопку Дополнительно (Data - Advanced). В открывшемся окне должен быть уже автоматически введен диапазон с данными и нам останется только указать диапазон условий, т.е. A1:I2:

advanced-filter5.png

Обратите внимание, что диапазон условий нельзя выделять "с запасом", т.е. нельзя выделять лишние пустые желтые строки, т.к. пустая ячейка в диапазоне условий воспринимается Excel как отсутствие критерия, а целая пустая строка - как просьба вывести все данные без разбора.

Переключатель Скопировать результат в другое место позволит фильтровать список не прямо тут же, на этом листе (как обычным фильтром), а выгрузить отобранные строки в другой диапазон, который тогда нужно будет указать в поле Поместить результат в диапазон. В данном случае мы эту функцию не используем, оставляем Фильтровать список на месте и жмем ОК. Отобранные строки отобразятся на листе:

advanced-filter6.png

Добавляем макрос

"Ну и где же тут удобство?" - спросите вы и будете правы. Мало того, что нужно руками вводить условия в желтые ячейки, так еще и открывать диалоговое окно, вводить туда диапазоны, жать ОК. Грустно, согласен! Но "все меняется, когда приходят они ©" - макросы!

Работу с расширенным фильтром можно в разы ускорить и упростить с помощью простого макроса, который будет автоматически запускать расширенный фильтр при вводе условий, т.е. изменении любой желтой ячейки. Щелкните правой кнопкой мыши по ярлычку текущего листа и выберите команду Исходный текст (Source Code). В открывшееся окно скопируйте и вставьте вот такой код:

Private Sub Worksheet_Change(ByVal Target As Range)
    If Not Intersect(Target, Range("A2:I5")) Is Nothing Then
        On Error Resume Next
        ActiveSheet.ShowAllData
        Range("A7").CurrentRegion.AdvancedFilter Action:=xlFilterInPlace, CriteriaRange:=Range("A1").CurrentRegion
    End If
End Sub

Эта процедура будет автоматически запускаться при изменении любой ячейки на текущем листе. Если адрес измененной ячейки попадает в желтый диапазон (A2:I5), то данный макрос снимает все фильтры (если они были) и заново применяет расширенный фильтр к таблице исходных данных, начинающейся с А7, т.е. все будет фильтроваться мгновенно, сразу после ввода очередного условия:

advanced-filter-work.gif

Так все гораздо лучше, правда? :)

Реализация сложных запросов

Теперь, когда все фильтруется "на лету", можно немного углубиться в нюансы и разобрать механизмы более сложных запросов в расширенном фильтре. Помимо ввода точных совпадений, в диапазоне условий можно использовать различные символы подстановки (* и ?) и знаки математических неравенств для реализации приблизительного поиска. Регистр символов роли не играет. Для наглядности я свел все возможные варианты в таблицу:

Критерий Результат
гр* или гр все ячейки начинающиеся с Гр, т.е. Груша, Грейпфрут, Гранат и т.д.
=лук все ячейки именно и только со словом Лук, т.е. точное совпадение
*лив* или *лив ячейки содержащие лив как подстроку, т.е. Оливки, Ливер, Залив и т.д.
=п*в слова начинающиеся с П и заканчивающиеся на В т.е. Павлов, Петров и т.д.
а*с слова начинающиеся с А и содержащие далее С, т.е. Апельсин, Ананас, Асаи и т.д.
=*с слова оканчивающиеся на С
=???? все ячейки с текстом из 4 символов (букв или цифр, включая пробелы)
=м??????н все ячейки с текстом из 8 символов, начинающиеся на М и заканчивающиеся на Н, т.е. Мандарин, Мангостин  и т.д.
=*н??а все слова оканчивающиеся на А, где 4-я с конца буква Н, т.е. Брусника, Заноза и т.д.
>=э все слова, начинающиеся с Э, Ю или Я
<>*о* все слова, не содержащие букву О
<>*вич все слова, кроме заканчивающихся на вич (например, фильтр женщин по отчеству)
= все пустые ячейки
<> все непустые ячейки
>=5000 все ячейки со значением больше или равно 5000
5 или =5 все ячейки со значением 5
>=3/18/2013 все ячейки с датой позже 18 марта 2013 (включительно)

Тонкие моменты:

  • Знак * подразумевает под собой любое количество любых символов, а ? - один любой символ.
  • Логика в обработке текстовых и числовых запросов немного разная. Так, например, ячейка условия с числом 5 не означает поиск всех чисел, начинающихся с пяти, но ячейка условия с буквой Б равносильна Б*, т.е. будет искать любой текст, начинающийся с буквы Б.
  • Если текстовый запрос не начинается со знака =, то в конце можно мысленно ставить *.
  • Даты надо вводить в штатовском формате месяц-день-год и через дробь (даже если у вас русский Excel и региональные настройки).

Логические связки И-ИЛИ

Условия записанные в разных ячейках, но в одной строке - считаются связанными между собой логическим оператором И (AND):

advanced-filter3.png

Т.е. фильтруй мне бананы именно в третьем квартале, именно по Москве и при этом из "Ашана".

Если нужно связать условия логическим оператором ИЛИ (OR), то их надо просто вводить в разные строки. Например, если нам нужно найти все заказы менеджера Волиной по московским персикам и все заказы по луку в третьем квартале по Самаре, то это можно задать в диапазоне условий следующим образом:

advanced-filter7.png

Если же нужно наложить два или более условий на один столбец, то можно просто продублировать заголовок столбца в диапазоне критериев и вписать под него второе, третье и т.д. условия. Вот так, например, можно отобрать все сделки с марта по май:

advanced-filter8.png

В общем и целом, после "доработки напильником" из расширенного фильтра выходит вполне себе приличный инструмент, местами не хуже классического автофильтра.

Ссылки по теме



Страницы: 1  2  3  
12.11.2018 11:43:43
Добрый день, Николай, а не подскажите как "допилить" макрос, что бы он добавлял/удалял строки поля поиск по мере заполнения какого то столбика? То есть что бы в поле поиск всегда было допустим три свободные строки... если заполнена одна из них автоматически вставляться еще одна, если очищено поле лишние строки удаляются.
21.01.2019 16:22:18
  Доброго дня.  А кто может  подсказать, как можно прикрутить к данному макросу еще и обновление по выбору листа с данным фильтром?
У меня что-то никак не получается т.к. знаний не хватает....


 
08.04.2019 20:08:09
Николай, в Excel 2016 на Маке этот фильтр почему то не работает :((
Что нужно поменять, чтобы заработало?
13.04.2019 03:30:11
Отличный фильтр! Как можно применить такой фильтр , чтобы из таблицы заказов вытягивать данные для выписывания фактуры клиенту. Тогда при выписывании фактуры достаточно будет ввести номер и дату, а товар и его количество подтягиваются с таблицы заказы. Как можно решить эту задачу?
23.05.2019 17:41:52
Николай, спасибо за фильтр. не подскажите как можно вывести ячейки за исключением тех которые содержат слова имя или телефон или дата?
29.08.2019 09:13:49
Добрый день!
В данном примере представлен макрос для Расширенного фильтра БЕЗ копирования результата в другое место.
Подскажите, что нужно добавить в макрос для копирования результата в другой диапазон того же листа?
09.09.2019 14:59:01
Добрый день!
Очень крутой метод! Спасибо большое!
Но есть у меня один момент, возможно кто-то сможет мне помочь в полной мере реализовать данный фильтр.
Я фильтрую по одной колонке но у меня там очень большие наименования:
Например:
01010003006 Заклепка АЛ/СТ з пл. гол. 3,0x6, ALFA RAL 9016 01010BM3006 уп.500 шт.
Можно ли реализовать фильтрацию по типу "Содержит И....... И......", а не или по одной колонке?
т.е. я хочу найти все позиции "АЛ/СТ" в цвете "RAL 9016"
В данном примере он не применяет одно условие ко второму, показывает все "АЛ/СТ" и все позиции в цвете "RAL 9016"
Заранее спасибо.
27.09.2019 08:53:29
Добрый день.

Спасибо за способ - мне помог. Подпилил немного для себя, всё работает.

Единственный момент: хочу скрыть строку с условиями фильтра, т.к. фильтрую только по одному параметру, и хочу сделать на другую ячейку. То есть меняю значение в другой ячейке, меняется ячейка в диапазоне условий, срабатывает фильтр. У меня почему-то обычная сслыка не работает, само значение меняется в ячейке, но макрос отфильтровывает не по значению, а по содержанию, т.е. по самой ссылке, в моём случае это "=J2", и в итоге у меня пустой вывод фильтра.

Может быть кто-нибудь сможет подсказать, как исправить?
04.10.2019 19:48:48
Как можно отфильтровать числа в одном столбце с условием "И", допустим <3 И >1 ? Создание 2го столбца для этой цели невозможно.
04.12.2022 23:10:09
читать коментарии с начала
29.01.2020 00:10:58
Николай, спасибо за фильтр. Помогло.
Подскажи пожалуйста. А возможно вывести предыдущий поиск в фильтре ?
15.10.2020 10:55:46
Отличная фишка, но...
А если применить эти фильтры к сводной таблице, а не к обычному массиву?
Он не хочет фильтровать по заголовку сводной, а пытается фильтровать по первой строке сводной таблицы (т.е где начинается настройка фильтров- левая верхняя часть сводной).
А так как там заголовки не соответствуют заголовкам условий (логично), то такой метод фильтрации не применим.
Как быть?, если это возможно

Почему спрашиваю и почему мне это необходимо.
Мне часто приходится делать доп расчеты за пределами сводной таблицы (точнее olap куба) и как раз фильтр  больше приходится применять на этот диапазон
06.12.2020 23:55:47
А что убрать в коде, чтобы он не скрывал строки?
15.12.2020 13:10:20
Добрый день, Николай!
Успешно использовал ваш инструмент на одном из своих док-ов, все исправно работало, пытаюсь сделать на другом, что-то работает некорректно, почему только первые несколько колонн реагируют т.к нужно и фильтрация происходит, а остальные столбцы ни в какую, диапазоны вроде правильно раскинул, но все, что происходит- это пропадают все строки. Помогите, пожалуйста, разобраться.
04.12.2022 23:12:00
было тоже самое
помогло привести в порядок форматы ячеек
Формат ячейки критериев фильтра и фильтруемого поля должны совпадать!!!! ( это обязательное правило и для других полей)
22.01.2021 12:08:10
Здравствуйте.
Макрос замечательно работает, но возник вопрос: в моей большой книге используется стиль ячеек R1C1, как правильно переписать макрос в этом стиле.
Пробовал так:
Private Sub Worksheet_Change(ByVal Target As Range)
    If Not Intersect(Target, Range("R2C1:R4C19")) Is Nothing Then
        On Error Resume Next
        ActiveSheet.ShowAllData
        Range("R7C1").CurrentRegion.AdvancedFilter Action:=xlFilterInPlace, CriteriaRange:=Range("R1C1").CurrentRegion
    End If
End Sub
Выдает ошибку.
15.04.2021 18:48:50
В 2016 excel получилось отфильтровать даты только в формате дд/мм/гггг, причем и день и месяц меньше 10 без ноля в начале... т.е. 1 апреля 2021 это 1/4/2021. Другими форматами отказывался правильно отображать.
04.12.2022 23:09:15
везде так фильтр дат работает в американском формате даты при задании условий, если хочется фильтровать равно, то задайте формат для дат как строчные данные.
Формат ячейки критериев фильтра и фильтруемого поля должны совпадать!!!! ( это обязательное правило и для других полей)
16.08.2021 19:00:08
Добрый день!
Помогите пожалуйста в решении небольшой задачи, сижу уже четвертый день и ни чего не могу придумать. Работаю в MS Office 2016.
Во вложении направляю файл, в котором сама суть задачи.
На листе "Список", в ячейке С2 имеется выпадающий список, на основании которого фильтруется список продукции, которую необходимо отражать на листе "Отчет" в общем отчете.
Если я выбираю ООО Ромашка, из выпадающего списка, то на листе Отчет необходимо, что бы в общем дашборде выпадал перечень продукции который реализует именно ООО Ромашка.
Пример необходимого дашборда представлен на листе "Отчет_Пример".
Важно, что бы при изменении в выпадающем списке на листе Список, автоматически менялись компании в дашборде в блоке выручка и себестоимось на закладке Отчет.
Много всего пробовал сделать, в итоге все перенес в чистый файл, что бы мне помогли с вопросом на сайте планета эксель.
Ссылка на файл:
https://drive.google.com/file/d/1MHtVWYG_TSNoq91BEwot9nU9k-7W3ZF5/view?usp=sharing



Спасибо Вам, добрые люди!
17.08.2021 17:23:15
Помогите пожалуйста. Оч важный момент.
20.08.2021 15:08:09
Добрый день.не работает фильтр по числам и не все строки высвечивает на ЛЮБУЮ букву
20.08.2021 15:12:21
[img]data:image/png;base64,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A2gADaABNIAG0AAaQANoAA2ggZgaIClFUoqkFBpAA2gADaABNIAG0AAaQANoAA2gATSABlbXAEkpRLe66Mhgx8xg4zf8hgbQABpAA2gADaABNIAG0AAaQANLaoCkFEkpklJoAA2gATSABtAAGkADaAANoAE0gAbQABpYXQMkpRDd6qJbMqtKXWTp0QAaQANoAA2gATSABtAAGkADaAANxNQASSmSUiSl0AAaQANoAA2gATSABtAAGkADaAANoAE0sLoGSEohutVFRwY7ZgYbv+E3NIAG0AAaQANoAA2gATSABtAAGlhSAySlSEqRlEIDaAANoAE0gAbQABpAA2gADaABNIAG0MDqGiAphehWF92SWVXqIkuPBtAAGkADaAANoAE0gAbQABpAA2ggpgZISpGUIimFBtAAGkADaAANoAE0gAbQABpAA2gADaCB1TVAUgrRrS46MtgxM9j4Db+hATSABtAAGkADaAANoAE0gAbQwJIaIClFUoqkFBpAA2gADaABNIAG0AAaQANoAA2gATSABlbXwNVJKXsA75sGBjBAA2gADaABNIAG0AAaQANoAA2gATSABtDAfRpopn+n9/f35tevX83Pnz+bt7e3+yrHOfBDA2gADaABNIAG0AAaQANoAA2gATSABtAAGsho4HQ6NZP/z8/PRv9JSp0QTUY0XCmGLtAAGkADaAANoAE0gAbQABpAA2gADaCBezXw13/+auz/SRNS8ipJKbuT91NY8FiHh2RNYb0OazjDGQ381X5TAwfGgmiA84+/DmAM4y3F28h6xHb/sbQFrUb28xb4YcO2xklJzySlkiwdwn28cEtixTeP9w0+wAd71AAxB12rrtGCvxZgDGMdb1t4jaxHbPcfS2j0GIy34Oej2FCKWySlSEpt7qqkkliPMljpJydANLCuBog56/Lesr7Rgr8WYAzjLcWAyHrEdv+xtAWtRvbzFvhhw7bGSUnPJKVISpGUQgOb0wAnkG2dQPbuj9IJcu/9pn/n4wwtnDNZWicwhvHSmrqnvsh6xHb/sXSPtpY6NrKfl2JAPfvReknPJKVISGwuIVESKwFpPwEJX+LLLWmAmIMeVY9owV8LMIaxjrctvEbWI7b7jyU0egzGW/DzUWwoxS2SUiSlSEqhgc1p4CiBmX5uY7JTOkHin234Z00/oAV/n8MYxmuO6UttRdYjtvuP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[/img]


Не работает еще по номеру если начинает на 7 + Не все строки высвечивает с одинаковым адресом.  
21.08.2021 10:18:15
Добрый день!!  Не работает макрос по вашему примеру. Помогите пожалуйста.

https://docs.google.com/spreadsheets/d/1CdPR_9uA3ANgrDRkBIz6MvQMHVeVNvpO/edit?usp=sharing&ouid=112032784313549513284&rtpof=true&sd=true
23.08.2021 18:04:31
Добрый день, не подскажете как множественное отрицание реализовать? Например что бы город не содержал "мос" и "сам" в любом месте.


'<>*мос*

'<>*сам*

не работают вместе в разных строчках, только по отдельности
01.10.2021 15:15:27
а как задать критерий в столбце сумма, например,  от 1000 до 6000, по одному менеджеру?
13.11.2021 08:19:26
Не работает макрос с умной таблицей. Есть какие-то особенности или ограничения?
15.12.2021 15:18:34
Для умной таблицы. Необходимые диапазоны выставите сами, либо создадите тему на форуме, Вам помогут.

Private Sub Worksheet_Change(ByVal Target As Range)
    
    If Not Intersect(Target, Range("F3:W4")) Is Nothing Then
            Dim lo As ListObject
            Set lo = ActiveWorkbook.Worksheets("Ваш лист").ListObjects("Ваша таблица")
        
            On Error Resume Next
                With Application:
                    .ScreenUpdating = False
                    .Calculation = xlCalculationManual
                End With

                lo.AutoFilter.ShowAllData
                If Not Intersect(Target, Range("F4:W4")) Is Nothing Then
                    lo.Range.CurrentRegion.AdvancedFilter Action:=xlFilterInPlace, _
                    CriteriaRange:=Range("F2:W4")
                Else
                    lo.Range.CurrentRegion.AdvancedFilter Action:=xlFilterInPlace, _
                    CriteriaRange:=Range("F2:W3")
                End If
            
                Set lo = Nothing
                With Application:
                    .Calculation = xlCalculationAutomatic
                    .ScreenUpdating = True
                End With
    End If
            
End Sub
19.01.2022 05:31:25
Эксель - это ебаный кал для долбоебов. Нихуя не работает. Билл Гейтс, пошел нахуй.8-)8-)8-)
30.11.2022 10:01:29
А можно ли применить данный фильтр к нескольким таблицам на листе? Находящимся друг под другом....
23.05.2023 17:42:24
Николай, здравствуйте
фильтр классный, но есть одно ограничение у него, он ищет только по первому слову, а все остальные игнорирует. Можно ли как то подкорректировать, чтобы он искал по всей строке в ячейке?
Страницы: 1  2  3  
Наверх