Если для фильтрации данных требуются сложные условия (например, Тип = «Фрукты» ИЛИ Продавец = «Егоров»), можно использовать диалоговое окно Расширенный фильтр.
Чтобы открыть диалоговое окно Расширенный фильтр, щелкните Данные > Дополнительно.
Расширенный фильтр |
Пример |
---|---|
Обзор расширенных условий фильтра |
|
Несколько условий, один столбец, любое из условий истинно |
Продавец = «Егоров» ИЛИ Продавец = «Грачев» |
Несколько условий, несколько столбцов, все условия истинны |
Тип = «Фрукты» И Продажи > 1000 |
Несколько условий, несколько столбцов, любое из условий истинно |
Тип = «Фрукты» ИЛИ Продавец = «Грачев» |
Несколько наборов условий, один столбец во всех наборах |
(Продажи > 6000 И Продажи < 6500) ИЛИ (Продажи < 500) |
Несколько наборов условий, несколько столбцов в каждом наборе |
(Продавец = «Егоров» И Продажи >3000) ИЛИ |
Условия с подстановочными знаками |
Продавец = имя со второй буквой «г» |
Обзор расширенных условий фильтра
Действие команды Дополнительно отличается от действия команды Фильтр в некоторых важных аспектах.
-
Она отображает диалоговое окно Расширенный фильтр, а не меню «Автофильтр».
-
Вы вводите расширенные условия в отдельном диапазоне условий на листе над диапазоном ячеек или таблицей, которую нужно отфильтровать. В качестве источника расширенных условий в Microsoft Office Excel используется отдельный диапазон условий в диалоговом окне Расширенный фильтр.
Образец данных
Этот пример данных используется для всех процедур, описанных в этой статье.
Эти данные включают четыре пустые строки над диапазоном списка, которые будут использоваться как диапазон условий (A1:C4) и диапазон списка (A6:C10). Диапазон условий содержит названия столбцов и по крайней мере одну пустую строку между значениями условий и диапазоном списка.
Для работы с этими данными выделите их в следующей таблице, скопируйте, а затем вставьте в ячейку A1 на новом листе Excel.
Тип |
Продавец |
Продажи |
Тип |
Продавец |
Продажи |
Напитки |
Шашков |
5 122 ₽ |
Мясо |
Егоров |
450 ₽ |
фрукты |
Грачев |
6328 ₽ |
Фрукты |
Егоров |
6544 ₽ |
Операторы сравнения
Операторы сравнения используются для сравнения двух значений. Результатом сравнения является логическое значение: ИСТИНА либо ЛОЖЬ.
Оператор сравнения |
Значение |
Пример |
---|---|---|
= (знак равенства) |
Равно |
A1=B1 |
> (знак «больше») |
Больше |
A1>B1 |
< (знак «меньше») |
Меньше |
A1<B1 |
>= (знак «больше или равно») |
Больше или равно |
A1>=B1 |
<= (знак «меньше или равно») |
Меньше или равно |
A1<=B1 |
<> (знак «не равно») |
Не равно |
A1<>B1 |
Использование знака равенства для ввода текста или значения
При вводе текста или значения в ячейке знак равенства (=) используется для обозначения формулы, поэтому Excel вычисляет то, что вы вводите. Однако при этом вы можете получить неожиданные результаты фильтрации. Чтобы указать оператор сравнения «равно» для текста или значения, введите условия в виде строкового выражения в соответствующей ячейке в диапазоне условий.
=»=
ввод
»
где ввод — искомый текст или значение. Например:
Вводится в ячейку |
Вычисляется и отображается |
---|---|
=»=Егоров» |
=Егоров |
=»=3000″ |
=3000 |
Учет регистра
При фильтрации текстовых данных в Excel не учитывается регистр букв. Однако для поиска с учетом регистра можно воспользоваться формулой. Пример см. в разделе Условия с подстановочными знаками.
Использование заранее определенных имен
Вы можете назвать диапазон Условия, и ссылка на диапазон автоматически появится в поле Диапазон условий. Вы также можете указать имя База данных для диапазона списка, который будет фильтроваться, и имя Извлечение для области, в которой вы собираетесь вставлять строки. Эти диапазоны автоматически появятся в полях Исходный диапазон и Поместить результат в диапазон соответственно.
Создание условий с помощью формулы
В качестве условия можно использовать значение, вычисленное с помощью формулы. Обратите внимание на важные моменты, указанные ниже.
-
Формула должна возвращать результат ИСТИНА или ЛОЖЬ.
-
Поскольку используется формула, введенное строковое выражение должно иметь обычный вид, а не тот, который показан ниже:
=»=
ввод
» -
Не используйте название столбца в качестве названия условия. Либо оставьте название условия пустым, либо используйте название, не являющееся названием столбца в диапазоне списка (в последующих примерах: «Среднее арифметическое» и «Точное совпадение»).
Если в формуле используется название столбца, а не относительная ссылка на ячейку или имя диапазона, в ячейке с условием будет выведено значение ошибки #ИМЯ? или #ЗНАЧ!. Эту ошибку можно проигнорировать, поскольку она не влияет на фильтрацию диапазона списка.
-
В формуле, которая используется для условий, необходимо использовать относительную ссылку для ссылки на соответствующую ячейку в первой строке данных.
-
Все остальные ссылки в формуле должны быть абсолютными.
Несколько условий, один столбец, любое из условий истинно
Логическое выражение: (Продавец = «Егоров» ИЛИ Продавец = «Грачев»)
-
Вставьте как минимум три пустые строки над диапазоном списка, которые можно использовать в качестве диапазона условий. Диапазон условий должен включать названия столбцов. Убедитесь, что есть по крайней мере одна пустая строка между значениями условий и диапазоном списка.
-
Чтобы найти строки, отвечающие нескольким условиям для одного столбца, введите условия непосредственно одно под другим в разных строках диапазона условий. Используя пример, введите:
Тип
Продавец
Продажи
=»=Егоров»
=»=Грачев»
-
Щелкните ячейку в диапазоне списка. Используя пример, щелкните любую ячейку в диапазоне A6:C10.
-
На вкладке Данные в группе Сортировка и фильтр нажмите кнопку Дополнительно.
-
Выполните одно из следующих действий:
-
Чтобы отфильтровать диапазон списка, скрыв строки, не отвечающие условиям, выберите вариант Фильтровать список на месте.
-
Чтобы отфильтровать список, скопировав строки, не отвечающие условиям, в другую область листа, выберите вариант Скопировать результат в другое место, щелкните в поле Поместить результат в диапазон, а затем щелкните левый верхний угол области, в которой нужно вставить строки.
Совет При копировании отфильтрованных строк в другое место можно указать, какие столбцы следует включить в операцию копирования. Перед фильтрацией скопируйте нужные названия столбцов в первую строку области, в которую вы собираетесь вставить отфильтрованные строки. При применении фильтра введите ссылку на скопированные названия столбцов в поле Поместить результат в диапазон. Тогда скопированные строки будут включать только те столбцы, названия которых вы скопировали.
-
-
В поле Диапазон условий введите ссылку на диапазон условий, включая названия условий. Используя пример, введите $A$1:$C$3.
Чтобы временно убрать диалоговое окно Расширенный фильтр, пока вы выбираете диапазон условий, нажмите кнопку Свернуть диалоговое окно .
-
Используя пример, получаем следующий отфильтрованный результат для диапазона списка:
Тип
Продавец
Продажи
Мясо
Егоров
450 ₽
фрукты
Грачев
6 328 ₽
Фрукты
Егоров
6 544 ₽
Несколько условий, несколько столбцов, все условия истинны
Логическое выражение: (Тип = «Фрукты» И Продажи > 1000)
-
Вставьте как минимум три пустые строки над диапазоном списка, которые можно использовать в качестве диапазона условий. Диапазон условий должен включать названия столбцов. Убедитесь, что есть по крайней мере одна пустая строка между значениями условий и диапазоном списка.
-
Чтобы найти строки, отвечающие нескольким условиям в нескольких столбцах, введите все условия в одной строке диапазона условий. Используя пример, введите:
Тип
Продавец
Продажи
=»=Фрукты»
>1 000
-
Щелкните ячейку в диапазоне списка. Используя пример, щелкните любую ячейку в диапазоне A6:C10.
-
На вкладке Данные в группе Сортировка и фильтр нажмите кнопку Дополнительно.
-
Выполните одно из следующих действий:
-
Чтобы отфильтровать диапазон списка, скрыв строки, не отвечающие условиям, выберите вариант Фильтровать список на месте.
-
Чтобы отфильтровать список, скопировав строки, не отвечающие условиям, в другую область листа, выберите вариант Скопировать результат в другое место, щелкните в поле Поместить результат в диапазон, а затем щелкните левый верхний угол области, в которой нужно вставить строки.
Совет При копировании отфильтрованных строк в другое место можно указать, какие столбцы следует включить в операцию копирования. Перед фильтрацией скопируйте нужные названия столбцов в первую строку области, в которую вы собираетесь вставить отфильтрованные строки. При применении фильтра введите ссылку на скопированные названия столбцов в поле Поместить результат в диапазон. Тогда скопированные строки будут включать только те столбцы, названия которых вы скопировали.
-
-
В поле Диапазон условий введите ссылку на диапазон условий, включая названия условий. Используя пример, введите $A$1:$C$2.
Чтобы временно убрать диалоговое окно Расширенный фильтр, пока вы выбираете диапазон условий, нажмите кнопку Свернуть диалоговое окно .
-
Используя пример, получаем следующий отфильтрованный результат для диапазона списка:
Тип
Продавец
Продажи
фрукты
Грачев
6 328 ₽
Фрукты
Егоров
6 544 ₽
Несколько условий, несколько столбцов, любое из условий истинно
Логическое выражение: (Тип = «Фрукты» ИЛИ Продавец = «Грачев»)
-
Вставьте как минимум три пустые строки над диапазоном списка, которые можно использовать в качестве диапазона условий. Диапазон условий должен включать названия столбцов. Убедитесь, что есть по крайней мере одна пустая строка между значениями условий и диапазоном списка.
-
Чтобы найти строки, отвечающие нескольким условиям в нескольких столбцах, где любое условие может быть истинным, введите эти условия в разных строках диапазона условий. Используя пример, введите:
Тип
Продавец
Продажи
=»=Фрукты»
=»=Грачев»
-
Щелкните ячейку в диапазоне списка. Используя пример, щелкните любую ячейку в диапазоне списка A6:C10.
-
На вкладке Данные в группе Сортировка и фильтр нажмите кнопку Дополнительно.
-
Выполните одно из следующих действий:
-
Чтобы отфильтровать диапазон списка, скрыв строки, не отвечающие условиям, выберите вариант Фильтровать список на месте.
-
Чтобы отфильтровать список, скопировав строки, не отвечающие условиям, в другую область листа, выберите вариант Скопировать результат в другое место, щелкните в поле Поместить результат в диапазон, а затем щелкните левый верхний угол области, в которой нужно вставить строки.
Совет: При копировании отфильтрованных строк в другое место можно указать, какие столбцы следует включить в операцию копирования. Перед фильтрацией скопируйте нужные названия столбцов в первую строку области, в которую вы собираетесь вставить отфильтрованные строки. При применении фильтра введите ссылку на скопированные названия столбцов в поле Поместить результат в диапазон. Тогда скопированные строки будут включать только те столбцы, названия которых вы скопировали.
-
-
В поле Диапазон условий введите ссылку на диапазон условий, включая названия условий. Используя пример, введите $A$1:$B$3.
Чтобы временно убрать диалоговое окно Расширенный фильтр, пока вы выбираете диапазон условий, нажмите кнопку Свернуть диалоговое окно .
-
Используя пример, получаем следующий отфильтрованный результат для диапазона списка:
Тип
Продавец
Продажи
фрукты
Грачев
6 328 ₽
Фрукты
Егоров
6 544 ₽
Несколько наборов условий, один столбец во всех наборах
Логическое выражение: ( (Продажи > 6000 И Продажи < 6500 ) ИЛИ (Продажи < 500) )
-
Вставьте как минимум три пустые строки над диапазоном списка, которые можно использовать в качестве диапазона условий. Диапазон условий должен включать названия столбцов. Убедитесь, что есть по крайней мере одна пустая строка между значениями условий и диапазоном списка.
-
Чтобы найти строки, отвечающие нескольким наборам условий, каждый из которых содержит условия для одного столбца, используйте несколько столбцов с одинаковым заголовком. Используя пример, введите:
Тип
Продавец
Продажи
Продажи
>6 000
<6 500
<500
-
Щелкните ячейку в диапазоне списка. Используя пример, щелкните любую ячейку в диапазоне списка A6:C10.
-
На вкладке Данные в группе Сортировка и фильтр нажмите кнопку Дополнительно.
-
Выполните одно из следующих действий:
-
Чтобы отфильтровать диапазон списка, скрыв строки, не отвечающие условиям, выберите вариант Фильтровать список на месте.
-
Чтобы отфильтровать список, скопировав строки, не отвечающие условиям, в другую область листа, выберите вариант Скопировать результат в другое место, щелкните в поле Поместить результат в диапазон, а затем щелкните левый верхний угол области, в которой нужно вставить строки.
Совет: При копировании отфильтрованных строк в другое место можно указать, какие столбцы следует включить в операцию копирования. Перед фильтрацией скопируйте нужные названия столбцов в первую строку области, в которую вы собираетесь вставить отфильтрованные строки. При применении фильтра введите ссылку на скопированные названия столбцов в поле Поместить результат в диапазон. Тогда скопированные строки будут включать только те столбцы, названия которых вы скопировали.
-
-
В поле Диапазон условий введите ссылку на диапазон условий, включая названия условий. Используя пример, введите $A$1:$D$3.
Чтобы временно убрать диалоговое окно Расширенный фильтр, пока вы выбираете диапазон условий, нажмите кнопку Свернуть диалоговое окно .
-
Используя пример, получаем следующий отфильтрованный результат для диапазона списка:
Тип
Продавец
Продажи
Мясо
Егоров
450 ₽
фрукты
Грачев
6 328 ₽
Несколько наборов условий, несколько столбцов в каждом наборе
Логическое выражение: ( (Продавец = «Егоров» И Продажи > 3000) ИЛИ (Продавец = «Грачев» И Продажи > 1500) )
-
Вставьте как минимум три пустые строки над диапазоном списка, которые можно использовать в качестве диапазона условий. Диапазон условий должен включать названия столбцов. Убедитесь, что есть по крайней мере одна пустая строка между значениями условий и диапазоном списка.
-
Чтобы найти строки, отвечающие нескольким наборам условий, каждый из которых содержит условия для нескольких столбцов, введите каждый набор условий в отдельных столбцах или строках. Используя пример, введите:
Тип
Продавец
Продажи
=»=Егоров»
>3 000
=»=Грачев»
>1 500
-
Щелкните ячейку в диапазоне списка. Используя пример, щелкните любую ячейку в диапазоне списка A6:C10.
-
На вкладке Данные в группе Сортировка и фильтр нажмите кнопку Дополнительно.
-
Выполните одно из следующих действий:
-
Чтобы отфильтровать диапазон списка, скрыв строки, не отвечающие условиям, выберите вариант Фильтровать список на месте.
-
Чтобы отфильтровать список, скопировав строки, не отвечающие условиям, в другую область листа, выберите вариант Скопировать результат в другое место, щелкните в поле Поместить результат в диапазон, а затем щелкните левый верхний угол области, в которой нужно вставить строки.
Совет При копировании отфильтрованных строк в другое место можно указать, какие столбцы следует включить в операцию копирования. Перед фильтрацией скопируйте нужные названия столбцов в первую строку области, в которую вы собираетесь вставить отфильтрованные строки. При применении фильтра введите ссылку на скопированные названия столбцов в поле Поместить результат в диапазон. Тогда скопированные строки будут включать только те столбцы, названия которых вы скопировали.
-
-
В поле Диапазон условий введите ссылку на диапазон условий, включая названия условий. Используя пример, введите $A$1:$C$3. Чтобы временно убрать диалоговое окно Расширенный фильтр, пока вы выбираете диапазон условий, нажмите кнопку Свернуть диалоговое окно .
-
Используя пример, получим следующий отфильтрованный результат для диапазона списка:
Тип
Продавец
Продажи
фрукты
Грачев
6 328 ₽
Фрукты
Егоров
6 544 ₽
Условия с подстановочными знаками
Логическое выражение: Продавец = имя со второй буквой «г»
-
Чтобы найти текстовые значения с совпадающими знаками в некоторых из позиций, выполните одно или несколько действий, описанных ниже.
-
Чтобы найти строки, в которых текстовое значение в столбце начинается с определенной последовательности знаков, введите эти знаки, не используя знак равенства (=). Например, если ввести условие Бел, будут найдены строки с ячейками, содержащими слова «Белов», «Беляков» и «Белугин».
-
Воспользуйтесь подстановочными знаками.
Используйте
Чтобы найти
? (вопросительный знак)
Любой символ (один)
Пример: условию «стро?а» соответствуют результаты «строфа» и «строка»* (звездочка)
Любое количество символов
Пример: условию «*-восток» соответствуют результаты «северо-восток» и «юго-восток»~ (тильда), за которой следует ?, * или ~
Вопросительный знак, звездочку или тильду
Пример: условию «ан91~?» соответствует результат «ан91?»
-
-
Вставьте как минимум три пустые строки над диапазоном списка, которые можно использовать в качестве диапазона условий. Диапазон условий должен включать названия столбцов. Убедитесь, что есть по крайней мере одна пустая строка между значениями условий и диапазоном списка.
-
В строках под названиями столбцов введите условия, которым должен соответствовать результат. Используя пример, введите:
Тип
Продавец
Продажи
=»=Мя*»
=»=?г*»
-
Щелкните ячейку в диапазоне списка. Используя пример, щелкните любую ячейку в диапазоне списка A6:C10.
-
На вкладке Данные в группе Сортировка и фильтр нажмите кнопку Дополнительно.
-
Выполните одно из следующих действий:
-
Чтобы отфильтровать диапазон списка, скрыв строки, не отвечающие условиям, выберите вариант Фильтровать список на месте
-
Чтобы отфильтровать список, скопировав строки, не отвечающие условиям, в другую область листа, выберите вариант Скопировать результат в другое место, щелкните в поле Поместить результат в диапазон, а затем щелкните левый верхний угол области, в которой нужно вставить строки.
Совет: При копировании отфильтрованных строк в другое место можно указать, какие столбцы следует включить в операцию копирования. Перед фильтрацией скопируйте нужные названия столбцов в первую строку области, в которую вы собираетесь вставить отфильтрованные строки. При применении фильтра введите ссылку на скопированные названия столбцов в поле Поместить результат в диапазон. Тогда скопированные строки будут включать только те столбцы, названия которых вы скопировали.
-
-
В поле Диапазон условий введите ссылку на диапазон условий, включая названия условий. Используя пример, введите $A$1:$B$3.
Чтобы временно убрать диалоговое окно Расширенный фильтр, пока вы выбираете диапазон условий, нажмите кнопку Свернуть диалоговое окно .
-
Используя пример, получаем следующий отфильтрованный результат для диапазона списка:
Тип
Продавец
Продажи
Напитки
Шашков
5 122 ₽
Мясо
Егоров
450 ₽
фрукты
Грачев
6 328 ₽
Дополнительные сведения
Вы всегда можете задать вопрос специалисту Excel Tech Community или попросить помощи в сообществе Answers community.
Вывести на экран информацию по одному / нескольким параметрам можно с помощью фильтрации данных в Excel.
Для этой цели предназначено два инструмента: автофильтр и расширенный фильтр. Они не удаляют, а скрывают данные, не подходящие по условию. Автофильтр выполняет простейшие операции. У расширенного фильтра гораздо больше возможностей.
Автофильтр и расширенный фильтр в Excel
Имеется простая таблица, не отформатированная и не объявленная списком. Включить автоматический фильтр можно через главное меню.
- Выделяем мышкой любую ячейку внутри диапазона. Переходим на вкладку «Данные» и нажимаем кнопку «Фильтр».
- Рядом с заголовками таблицы появляются стрелочки, открывающие списки автофильтра.
Если отформатировать диапазон данных как таблицу или объявить списком, то автоматический фильтр будет добавлен сразу.
Пользоваться автофильтром просто: нужно выделить запись с нужным значением. Например, отобразить поставки в магазин №4. Ставим птичку напротив соответствующего условия фильтрации:
Сразу видим результат:
Особенности работы инструмента:
- Автофильтр работает только в неразрывном диапазоне. Разные таблицы на одном листе не фильтруются. Даже если они имеют однотипные данные.
- Инструмент воспринимает верхнюю строчку как заголовки столбцов – эти значения в фильтр не включаются.
- Допустимо применять сразу несколько условий фильтрации. Но каждый предыдущий результат может скрывать необходимые для следующего фильтра записи.
У расширенного фильтра гораздо больше возможностей:
- Можно задать столько условий для фильтрации, сколько нужно.
- Критерии выбора данных – на виду.
- С помощью расширенного фильтра пользователь легко находит уникальные значения в многострочном массиве.
Как сделать расширенный фильтр в Excel
Готовый пример – как использовать расширенный фильтр в Excel:
- Создадим таблицу с условиями отбора. Для этого копируем заголовки исходного списка и вставляем выше. В табличке с критериями для фильтрации оставляем достаточное количество строк плюс пустая строка, отделяющая от исходной таблицы.
- Настроим параметры фильтрации для отбора строк со значением «Москва» (в соответствующий столбец таблички с условиями вносим = «=Москва»). Активизируем любую ячейку в исходной таблице. Переходим на вкладку «Данные» — «Сортировка и фильтр» — «Дополнительно».
- Заполняем параметры фильтрации. Исходный диапазон – таблица с исходными данными. Ссылки появляются автоматически, т.к. была активна одна из ячеек. Диапазон условий – табличка с условием.
- Выходим из меню расширенного фильтра, нажав кнопку ОК.
В исходной таблице остались только строки, содержащие значение «Москва». Чтобы отменить фильтрацию, нужно нажать кнопку «Очистить» в разделе «Сортировка и фильтр».
Как пользоваться расширенным фильтром в Excel
Рассмотрим применение расширенного фильтра в Excel с целью отбора строк, содержащих слова «Москва» или «Рязань». Условия для фильтрации должны находиться в одном столбце. В нашем примере – друг под другом.
Заполняем меню расширенного фильтра:
Получаем таблицу с отобранными по заданному критерию строками:
Выполним отбор строк, которые в столбце «Магазин» содержат значение «№1», а в столбце стоимость – «>1 000 000 р.». Критерии для фильтрации должны находиться в соответствующих столбцах таблички для условий. На одной строке.
Заполняем параметры фильтрации. Нажимаем ОК.
Оставим в таблице только те строки, которые в столбце «Регион» содержат слово «Рязань» или в столбце «Стоимость» — значение «>10 000 000 р.». Так как критерии отбора относятся к разным столбцам, размещаем их на разных строках под соответствующими заголовками.
Применим инструмент «Расширенный фильтр»:
Данный инструмент умеет работать с формулами, что дает возможность пользователю решать практически любые задачи при отборе значений из массивов.
Основные правила:
- Результат формулы – это критерий отбора.
- Записанная формула возвращает результат ИСТИНА или ЛОЖЬ.
- Исходный диапазон указывается посредством абсолютных ссылок, а критерий отбора (в виде формулы) – с помощью относительных.
- Если возвращается значение ИСТИНА, то строка отобразится после применения фильтра. ЛОЖЬ – нет.
Отобразим строки, содержащие количество выше среднего. Для этого в стороне от таблички с критериями (в ячейку I1) введем название «Наибольшее количество». Ниже – формула. Используем функцию СРЗНАЧ.
Выделяем любую ячейку в исходном диапазоне и вызываем «Расширенный фильтр». В качестве критерия для отбора указываем I1:I2 (ссылки относительные!).
В таблице остались только те строки, где значения в столбце «Количество» выше среднего.
Чтобы оставить в таблице лишь неповторяющиеся строки, в окне «Расширенного фильтра» поставьте птичку напротив «Только уникальные записи».
Скачать пример работы с расширенным фильтром
Нажмите ОК. Повторяющиеся строки будут скрыты. На листе останутся только уникальные записи.
#Руководства
- 5 авг 2022
-
0
Как из сотен строк отобразить только необходимые? Как отфильтровать таблицу сразу по нескольким условиям и столбцам? Разбираемся на примерах.
Иллюстрация: Meery Mary для Skillbox Media
Рассказывает просто о сложных вещах из мира бизнеса и управления. До редактуры — пять лет в банке и три — в оценке имущества. Разбирается в Excel, финансах и корпоративной жизни.
Фильтры в Excel — инструмент, с помощью которого из большого объёма информации выбирают и показывают только нужную в данный момент. После фильтрации в таблице отображаются данные, которые соответствуют условиям пользователя. Данные, которые им не соответствуют, скрыты.
В статье разберёмся:
- как установить фильтр по одному критерию;
- как установить несколько фильтров одновременно и отфильтровать таблицу по заданному условию;
- для чего нужен расширенный фильтр и как им пользоваться;
- как очистить фильтры.
Фильтрация данных хорошо знакома пользователям интернет-магазинов. В них не обязательно листать весь ассортимент, чтобы найти нужный товар. Можно заполнить критерии фильтра, и платформа скроет неподходящие позиции.
Фильтры в Excel работают по тому же принципу. Пользователь выбирает параметры данных, которые ему нужно отобразить, — и Excel убирает из таблицы всё лишнее.
Разберёмся, как это сделать.
Для примера воспользуемся отчётностью небольшого автосалона. В таблице собрана информация о продажах: характеристики авто, цены, даты продажи и ответственные менеджеры.
Скриншот: Excel / Skillbox Media
Допустим, нужно показать продажи только одного менеджера — Соколова П. Воспользуемся фильтрацией.
Шаг 1. Выделяем ячейку внутри таблицы — не обязательно ячейку столбца «Менеджер», любую.
Скриншот: Excel / Skillbox Media
Шаг 2. На вкладке «Главная» нажимаем кнопку «Сортировка и фильтр».
Скриншот: Excel / Skillbox Media
Шаг 3. В появившемся меню выбираем пункт «Фильтр».
Скриншот: Excel / Skillbox Media
То же самое можно сделать через кнопку «Фильтр» на вкладке «Данные».
Скриншот: Excel / Skillbox Media
Шаг 4. В каждой ячейке шапки таблицы появились кнопки со стрелками — нажимаем на кнопку столбца, который нужно отфильтровать. В нашем случае это столбец «Менеджер».
Скриншот: Excel / Skillbox Media
Шаг 5. В появившемся меню флажком выбираем данные, которые нужно оставить в таблице, — в нашем случае данные менеджера Соколова П., — и нажимаем кнопку «Применить фильтр».
Скриншот: Excel / Skillbox Media
Готово — таблица показывает данные о продажах только одного менеджера. На кнопке со стрелкой появился дополнительный значок. Он означает, что в этом столбце настроена фильтрация.
Скриншот: Excel / Skillbox Media
Чтобы ещё уменьшить количество отображаемых в таблице данных, можно применять несколько фильтров одновременно. При этом как фильтр можно задавать не только точное значение ячеек, но и условие, которому отфильтрованные ячейки должны соответствовать.
Разберём на примере.
Выше мы уже отфильтровали таблицу по одному параметру — оставили в ней продажи только менеджера Соколова П. Добавим второй параметр — среди продаж Соколова П. покажем автомобили дороже 1,5 млн рублей.
Шаг 1. Открываем меню фильтра для столбца «Цена, руб.» и нажимаем на параметр «Выберите».
Скриншот: Excel / Skillbox Media
Шаг 2. Выбираем критерий, которому должны соответствовать отфильтрованные ячейки.
В нашем случае нужно показать автомобили дороже 1,5 млн рублей — выбираем критерий «Больше».
Скриншот: Excel / Skillbox Media
Шаг 3. Дополняем условие фильтрации — в нашем случае «Больше 1500000» — и нажимаем «Применить фильтр».
Скриншот: Excel / Skillbox Media
Готово — фильтрация сработала по двум параметрам. Теперь таблица показывает только те проданные менеджером авто, цена которых была выше 1,5 млн рублей.
Скриншот: Excel / Skillbox Media
Расширенный фильтр позволяет фильтровать таблицу по сложным критериям сразу в нескольких столбцах.
Это можно сделать способом, который мы описали выше: поочерёдно установить несколько стандартных фильтров или фильтров с условиями пользователя. Но в случае с объёмными таблицами этот способ может быть неудобным и трудозатратным. Для экономии времени применяют расширенный фильтр.
Принцип работы расширенного фильтра следующий:
- Копируют шапку исходной таблицы и создают отдельную таблицу для условий фильтрации.
- Вводят условия.
- Запускают фильтрацию.
Разберём на примере. Отфильтруем отчётность автосалона по трём критериям:
- менеджер — Шолохов Г.;
- год выпуска автомобиля — 2019-й или раньше;
- цена — до 2 млн рублей.
Шаг 1. Создаём таблицу для условий фильтрации — для этого копируем шапку исходной таблицы и вставляем её выше.
Важное условие — между таблицей с условиями и исходной таблицей обязательно должна быть пустая строка.
Скриншот: Excel / Skillbox Media
Шаг 2. В созданной таблице вводим критерии фильтрации:
- «Год выпуска» → <=2019.
- «Цена, руб.» → <2000000.
- «Менеджер» → Шолохов Г.
Скриншот: Excel / Skillbox Media
Шаг 3. Выделяем любую ячейку исходной таблицы и на вкладке «Данные» нажимаем кнопку «Дополнительно».
Скриншот: Excel / Skillbox Media
Шаг 4. В появившемся окне заполняем параметры расширенного фильтра:
- Выбираем, где отобразятся результаты фильтрации: в исходной таблице или в другом месте. В нашем случае выберем первый вариант — «Фильтровать список на месте».
- Диапазон списка — диапазон таблицы, для которой нужно применить фильтр. Он заполнен автоматически, для этого мы выделяли ячейку исходной таблицы перед тем, как вызвать меню.
Скриншот: Excel / Skillbox Media
- Диапазон условий — диапазон таблицы с условиями фильтрации. Ставим курсор в пустое окно параметра и выделяем диапазон: шапку таблицы и строку с критериями. Данные диапазона автоматически появляются в окне параметров расширенного фильтра.
Скриншот: Excel / Skillbox Media
Шаг 5. Нажимаем «ОК» в меню расширенного фильтра.
Готово — исходная таблица отфильтрована по трём заданным параметрам.
Скриншот: Excel / Skillbox Media
Отменить фильтрацию можно тремя способами:
1. Вызвать меню отфильтрованного столбца и нажать на кнопку «Очистить фильтр».
Скриншот: Excel / Skillbox Media
2. Нажать на кнопку «Сортировка и фильтр» на вкладке «Главная». Затем — либо снять галочку напротив пункта «Фильтр», либо нажать «Очистить фильтр».
Скриншот: Excel / Skillbox Media
3. Нажать на кнопку «Очистить» на вкладке «Данные».
Скриншот: Excel / Skillbox Media
Научитесь: Excel + Google Таблицы с нуля до PRO
Узнать больше
Табличный редактор Excel значительно облегчает работу сотрудников финансово-экономических служб, так как имеет целый набор функциональных инструментов для обработки больших массивов информации. Одна из самых популярных функций — фильтрация данных. Если с инструментом автоматической фильтрации знаком каждый экономист, то расширенный фильтр данных используют в работе не все специалисты. Этот пробел можно восполнить. Из статьи вы узнаете, какие дополнительные возможности предоставляет пользователям Excel расширенный фильтр.
ВОЗМОЖНОСТИ ФУНКЦИИ РАСШИРЕННОГО ФИЛЬТРА В EXCEL, КОТОРЫЕ БУДУТ ПОЛЕЗНЫ В РАБОТЕ ЭКОНОМИСТА
Расширенный и автоматический фильтры — инструменты табличного редактора Excel. Они отбирают из массива данных необходимую пользователю информацию.
Оба фильтра выбирают из массива данные, соответствующие условиям отбора, и скрывают данные, которые не соответствуют заданным условиям. При этом расширенный фильтр имеет свои особенности отбора и обработки данных. Для лучшего понимания работы расширенного фильтра сравним его с работой автоматического фильтра.
Автоматический фильтр
При автоматической фильтрации пользователь выделяет в простой таблице данных необходимые ему ячейки и на вкладке «Данные» панели инструментов Excel выбирает раздел «Сортировка и фильтр/Фильтр».
В результате появляется окно со списком данных автоматической фильтрации по вертикальному столбцу ячеек. При этом автоматический фильтр дает пользователю возможность выбрать для отбора значения одного и нескольких столбцов выделенного диапазона.
Возьмем для примера данные о продажах товаров в розничном магазине за первую неделю июня 2021 г. (табл. 1).
Таблица 1. Продажи товаров за июнь 2021 г. |
||||
Дата |
Товар |
Группа |
Количество |
Сумма |
01.июн |
Грушевый |
Лимонад |
300 |
90 000 |
01.июн |
Бархатное |
Пиво |
150 |
60 000 |
02.июн |
Горная |
Вода |
200 |
30 000 |
03.июн |
Ситро |
Лимонад |
200 |
50 000 |
03.июн |
Горная |
Вода |
100 |
15 000 |
04.июн |
Домашнее |
Пиво |
200 |
90 000 |
04.июн |
Грушевый |
Лимонад |
100 |
30 000 |
06.июн |
Бархатное |
Пиво |
200 |
80 000 |
07.июн |
Ситро |
Лимонад |
100 |
25 000 |
Чтобы произвести отбор данных с помощью автоматического фильтра, пользователю Excel достаточно выделить курсором в таблице ячейки «Дата», «Товар», «Группа», «Количество» и «Сумма», а затем указать на вкладке «Данные» значение «Фильтр».
Тем самым автоматически будут созданы списки фильтрации данных таблицы по всем указанным столбцам. С помощью списка можно, например, отобрать из массива данных по столбцу «Группа» только товары из группы лимонадов (рис. 1).
В результате исходная таблица преобразуется в отфильтрованную таблицу, где будут выведены только данные по товарам из группы лимонадов (табл. 2).
Таблица 2. Продажи товаров из группы лимонадов за июнь 2021 г. |
||||
Дата |
Товар |
Группа |
Количество |
Сумма |
01.июн |
Грушевый |
Лимонад |
300 |
90 000 |
03.июн |
Ситро |
Лимонад |
200 |
50 000 |
04.июн |
Грушевый |
Лимонад |
100 |
30 000 |
07.июн |
Ситро |
Лимонад |
100 |
25 000 |
С помощью инструмента простой фильтрации можно проводить отбор данных и по дополнительным параметрам, используя списки из других столбцов. Так, можно отобрать из табл. 2 продажи только лимонада «Грушевый», выбрав его из списка в ячейке «Товар», а затем отобрать продажи этого лимонада в определенные дни месяца, выбрав их из списка в ячейке «Дата».
Другими словами, инструмент автоматической фильтрации позволяет выбирать данные из одного неразрывного массива (таблицы) по различным, но последовательным отборам данных в разных столбцах.
Основные недостатки автоматического фильтра:
• автофильтр работает только в неразрывном диапазоне данных, то есть если на одном листе нужно отфильтровать данные нескольких таблиц, сделать это не получится;
• каждый новый отбор данных визуально переформатирует как исходную таблицу, так и таблицы с предыдущими отборами. То есть для фиксации результатов разных отборов нужно копировать исходные таблицы данных и уже потом фильтровать данные по разным условиям отбора в копиях этой таблицы;
• в автофильтре можно задать дополнительные условия через добавление числовых фильтров, но использование этих условий скрывает данные предыдущих фильтраций.
Расширенный фильтр
Чтобы при отборе данных пользователь мог оперировать одновременно несколькими условиями, в табличном редакторе Excel предусмотрен инструмент расширенного фильтра. Он запускается через меню панели инструментов «Данные/Сортировка и фильтр/Дополнительно».
Возможности расширенного фильтра, недоступные автоматическому фильтру:
• можно одновременно задавать большое количество условий отбора данных;
• все заданные критерии отбора данных находятся на виду у пользователя Excel;
• инструмент расширенного фильтра позволяет находить уникальные значения данных в многострочном массиве;
• результаты каждого варианта отбора данных можно сохранять как отдельную таблицу, что оставляет без изменений исходный массив данных;
• пользователь может одновременно использовать несколько условий отбора данных для разных столбцов исходного массива.
Чтобы использовать функцию расширенного фильтра, нужно последовательно выполнить следующие действия.
Шаг 1. Создаем дополнительную таблицу с условиями отбора. В первую строку дополнительной таблицы вставляем копии наименований столбцов исходной таблицы. Следующие строки (пустые) предназначены для описания условий отбора.
Прописываем в таблице, какие данные нужно отфильтровать из исходной таблицы. На примере автоматической фильтрации данных табл. 1 укажем, что это будет группа «Лимонады» и наименование товара «Грушевый» (рис. 2).
Шаг 2. Запускаем инструмент расширенного фильтра через вкладки «Данные/Сортировка и фильтр/Дополнительно». В открывшемся диалоговом окне нужно указать следующие параметры отбора данных:
• «фильтровать список на месте» (в этом случае фильтруется непосредственно исходная таблица) или «скопировать результат в другое место» (отсортированные данные будут выводиться в отдельную таблицу);
• «Исходный диапазон» — вносим диапазон ячеек исходной таблицы;
• «Диапазон условий» — нужно вписать диапазон заголовка дополнительной таблицы и строки, содержащей выбранные условия отбора данных. Важный момент: в этот диапазон не должны попадать пустые строки дополнительной таблицы. В противном случае сортировки данных не будет.
Пример работы с диалоговым окном по выбранным условиям показан на рис. 3.
После заполнения параметров диалогового окна расширенного фильтра нажимаем кнопку «ОК» и получаем данные о продажах из исходной таблицы только по группе «Лимонады» и наименованию «Грушевый» в отдельной таблице (табл. 3).
Таблица 3. Продажи товаров по группе «Лимонады» за июнь 2021 г. |
||||
Дата |
Товар |
Группа |
Количество |
Сумма |
01.июн |
Грушевый |
Лимонад |
300 |
90 000 |
04.июн |
Грушевый |
Лимонад |
100 |
30 000 |
Далее мы можем создавать новые условия отбора в следующих строках дополнительной таблицы и с помощью диалогового окна расширенного фильтра формировать новые аналитические таблицы с разными параметрами данных.
Инструмент расширенного фильтра позволяет не только задавать в строках дополнительной таблицы прямые условия отбора, но и прописывать формулы для сложных видов фильтрации данных.
Для таких отборов используют символы подстановки или знаки математических неравенств. Основные из таких символов и неравенств представлены в табл. 4.
Таблица 4. Символы и знаки для сложных условий отбора данных расширенным фильтром |
|
Цель отбора |
Используемые символы или знаки |
Точное соответствие значению в ячейках диапазона отбора |
=наименование или цифра |
Значения всех ячеек, начинающиеся с определенных букв |
буква* |
Значения всех ячеек, заканчивающиеся на определенные буквы |
*буква |
Значения всех ячеек, начинающиеся и заканчивающиеся на определенные буквы |
буква*буква |
Отобрать все пустые ячейки диапазона |
= |
Отобрать все непустые ячейки диапазона |
<> |
Отобрать все ячейки с датой позже заданной |
>= Дата |
Отобрать все ячейки с суммой меньше заданной |
<= Сумма |
Вывод относительно использования расширенного фильтра в работе экономиста: с помощью этого инструмента можно задать намного больше условий отбора для фильтрации больших массивов данных, сохранить результаты разных вариантов фильтрации в отдельных таблицах.
ИСПОЛЬЗОВАНИЕ ФУНКЦИИ РАСШИРЕННОГО ФИЛЬТРА НА ПРАКТИКЕ
Рассмотрим, как с помощью расширенного фильтра обработать массивы информации, которые могут помочь экономистам сформировать различные разрезы аналитических данных.
ПРИМЕР
У экономиста имеются данные о начислении заработной платы различным сотрудникам компании в алфавитном порядке (табл. 5). Нужно сформировать таблицы с показателями фонда оплаты труда сначала по подразделениям, а затем по категориям сотрудников.
Таблица 5. Ведомость начислений зарплаты за июнь 2021 г. |
||||
№ |
Сотрудник |
Подразделение |
Категория |
Сумма |
1 |
Антонов |
Продажи |
Сотрудник |
40 000 |
2 |
Астахова |
Финансы |
Сотрудник |
30 000 |
3 |
Белкин |
Логистика |
Менеджер |
50 000 |
4 |
Волкова |
Администрация |
Сотрудник |
25 000 |
5 |
Гришина |
Логистика |
Сотрудник |
20 000 |
6 |
Ковров |
Продажи |
Сотрудник |
30 000 |
7 |
Лопатин |
Продажи |
Руководитель |
60 000 |
8 |
Мишин |
Финансы |
Менеджер |
40 000 |
9 |
Петрова |
Финансы |
Руководитель |
50 000 |
10 |
Розова |
Логистика |
Сотрудник |
25 000 |
11 |
Рыжков |
Администрация |
Руководитель |
80 000 |
12 |
Сидоров |
Продажи |
Сотрудник |
40 000 |
13 |
Сорокина |
Администрация |
Сотрудник |
30 000 |
14 |
Фомин |
Логистика |
Сотрудник |
30 000 |
15 |
Чащина |
Администрация |
Менеджер |
50 000 |
Итого |
600 000 |
1. Сформируем ведомость начислений заработной платы за июнь 2021 г. по подразделениям.
Поскольку в исходной табл. 5 указано четыре подразделения, то в дополнительной таблице предусмотрим четыре строки. В каждой из них прописываем условие о точном значении отбора с помощью символов:
Чтобы сформировать ведомость, создаем дополнительную таблицу, по которой будем выполнять сортировку данных, и внесем в нее условия для фильтрации данных по подразделениям.
=“=Продажи”; =“=Логистика”; =“=Финансы”; =“=Администрация”.
Чтобы получить границы между подразделениями, перед каждой строкой отбора вставим заголовки столбцов (рис. 4).
Теперь запускаем расширенный фильтр и для каждого из подразделений выполняем отдельно фильтрацию данных.
1. Продажи.
Исходный диапазон = диапазон ячеек исходной таблицы А3:Е19.
Диапазон условий = ячейки первых двух строк дополнительной таблицы А21:Е22.
Диапазон копирования результата фильтрации = ячейки аналитической таблицы А31:Е34.
2. Логистика.
Исходный диапазон = диапазон ячеек исходной таблицы А3:Е19.
Диапазон условий = ячейки третьей и четвертой строк дополнительной таблицы А23:Е24.
Диапазон копирования результата фильтрации = ячейки аналитической таблицы А35:Е39.
3. Финансы.
Исходный диапазон = диапазон ячеек исходной таблицы А3:Е19.
Диапазон условий = ячейки пятой и шестой строк дополнительной таблицы А25:Е26.
Диапазон копирования результата фильтрации = ячейки аналитической таблицы А40:Е43.
4. Администрация.
Исходный диапазон = диапазон ячеек исходной таблицы А3:Е19.
Диапазон условий = ячейки седьмой и восьмой строк дополнительной таблицы А27:Е28.
Диапазон копирования результата фильтрации = ячейки аналитической таблицы А44:Е48.
В результате отбора исходного массива данных, произведенного с помощью расширенного фильтра, получаем новую аналитическую таблицу (табл. 6).
Таблица 6. Ведомость начислений зарплаты за июнь 2021 г. по подразделениям |
||||
№ |
Сотрудник |
Подразделение |
Категория |
Сумма |
1 |
Антонов |
Продажи |
Сотрудник |
40 000 |
7 |
Лопатин |
Продажи |
Руководитель |
60 000 |
12 |
Сидоров |
Продажи |
Сотрудник |
40 000 |
№ |
Сотрудник |
Подразделение |
Категория |
Сумма |
3 |
Белкин |
Логистика |
Менеджер |
50 000 |
5 |
Гришина |
Логистика |
Сотрудник |
20 000 |
10 |
Розова |
Логистика |
Сотрудник |
25 000 |
14 |
Фомин |
Логистика |
Сотрудник |
30 000 |
№ |
Сотрудник |
Подразделение |
Категория |
Сумма |
2 |
Астахова |
Финансы |
Сотрудник |
30 000 |
8 |
Мишин |
Финансы |
Менеджер |
40 000 |
9 |
Петрова |
Финансы |
Руководитель |
50 000 |
№ |
Сотрудник |
Подразделение |
Категория |
Сумма |
4 |
Волкова |
Администрация |
Сотрудник |
25 000 |
11 |
Рыжков |
Администрация |
Руководитель |
80 000 |
13 |
Сорокина |
Администрация |
Сотрудник |
30 000 |
15 |
Чащина |
Администрация |
Менеджер |
50 000 |
Как видно из полученного результата, исходная общая ведомость преобразовалась в сгруппированную по подразделениям.
2. Сформируем ведомость начислений заработной платы за июнь 2021 г. по категориям сотрудников.
Сразу составляем новую дополнительную таблицу с условиями отбора, чтобы не возникали конфликты между разными группировками отбора в сформированной ранее таблице, приведенной на рис. 4. Новая таблица будет аналогична первой с той лишь разницей, что теперь условие отбора пропишем в столбце «Категории» (рис. 5):
=”=Руководители”; =”=Менеджеры”; =”=Сотрудники”.
Запускаем расширенный фильтр и последовательно производим отбор данных исходной табл. 5.
1. Руководители.
Исходный диапазон = диапазон ячеек исходной таблицы А3:Е1.
Диапазон условий = ячейки первых двух строк дополнительной таблицы G21:K2.
Диапазон копирования результата фильтрации = ячейки аналитической таблицы G31:K34.
2. Менеджеры.
Исходный диапазон = диапазон ячеек исходной таблицы А3:Е19.
Диапазон условий = ячейки третьей и четвертой строк дополнительной таблицы G23:K24.
Диапазон копирования результата фильтрации = ячейки аналитической таблицы А35:Е38.
3. Сотрудники.
Исходный диапазон = диапазон ячеек исходной таблицы А3:Е19.
Диапазон условий = ячейки пятой и шестой строк дополнительной таблицы G25:K26.
Диапазон копирования результата фильтрации = ячейки аналитической таблицы G39:K48.
По окончании всех фильтраций исходной таблицы получаем аналитическую таблицу с разбивкой зарплаты по категориям персонала компании (табл. 7).
Таблица 7. Ведомость начислений зарплаты за июнь 2021 г. по категориям персонала |
||||
№ |
Сотрудник |
Подразделение |
Категория |
Сумма |
7 |
Лопатин |
Продажи |
Руководитель |
60 000 |
9 |
Петрова |
Финансы |
Руководитель |
50 000 |
11 |
Рыжков |
Администрация |
Руководитель |
80 000 |
№ |
Сотрудник |
Подразделение |
Категория |
Сумма |
3 |
Белкин |
Логистика |
Менеджер |
50 000 |
8 |
Мишин |
Финансы |
Менеджер |
40 000 |
15 |
Чащина |
Администрация |
Менеджер |
50 000 |
№ |
Сотрудник |
Подразделение |
Категория |
Сумма |
1 |
Антонов |
Продажи |
Сотрудник |
40 000 |
2 |
Астахова |
Финансы |
Сотрудник |
30 000 |
4 |
Волкова |
Администрация |
Сотрудник |
25 000 |
5 |
Гришина |
Логистика |
Сотрудник |
20 000 |
6 |
Ковров |
Продажи |
Сотрудник |
30 000 |
10 |
Розова |
Логистика |
Сотрудник |
25 000 |
12 |
Сидоров |
Продажи |
Сотрудник |
40 000 |
13 |
Сорокина |
Администрация |
Сотрудник |
30 000 |
14 |
Фомин |
Логистика |
Сотрудник |
30 000 |
Практический пример показал следующее:
• с помощью расширенного фильтра можно из одной исходной таблицы сформировать несколько аналитических в различных группировках и не менять при этом исходные данные массива;
• при применении расширенного фильтра можно использовать различные условия отбора данных, которые не отменяют результаты предыдущих отборов.
ЗАКЛЮЧЕНИЕ
Современные учетные программы уже позволяют формировать отчетность с многочисленными параметрами отбора и группировки данных без использования табличного редактора Excel. Однако расширенный фильтр можно с успехом применять для отбора таких массивов информации, по которым в программах не предусмотрена отчетность (реестры сведений, журналы документов, различные справочники и т. д.).
Расширенный фильтр пригодится и для подготовки данных в форматах, которые не используют на предприятии (например, из общего массива данных требуется отфильтровать информацию для разработки инвестиционного проекта или оформления кредита в банке).
Статья опубликована в журнале «Планово-экономический отдел» № 8, 2021.
Расширенный фильтр и немного магии
У подавляющего большинства пользователей Excel при слове «фильтрация данных» в голове всплывает только обычный классический фильтр с вкладки Данные — Фильтр (Data — Filter):
Такой фильтр — штука привычная, спору нет, и для большинства случаев вполне сойдет. Однако бывают ситуации, когда нужно проводить отбор по большому количеству сложных условий сразу по нескольким столбцам. Обычный фильтр тут не очень удобен и хочется чего-то помощнее. Таким инструментом может стать расширенный фильтр (advanced filter), особенно с небольшой «доработкой напильником» (по традиции).
Основа
Для начала вставьте над вашей таблицей с данными несколько пустых строк и скопируйте туда шапку таблицы — это будет диапазон с условиями (выделен для наглядности желтым):
Между желтыми ячейками и исходной таблицей обязательно должна быть хотя бы одна пустая строка.
Именно в желтые ячейки нужно ввести критерии (условия), по которым потом будет произведена фильтрация. Например, если нужно отобрать бананы в московский «Ашан» в III квартале, то условия будут выглядеть так:
Чтобы выполнить фильтрацию выделите любую ячейку диапазона с исходными данными, откройте вкладку Данные и нажмите кнопку Дополнительно (Data — Advanced). В открывшемся окне должен быть уже автоматически введен диапазон с данными и нам останется только указать диапазон условий, т.е. A1:I2:
Обратите внимание, что диапазон условий нельзя выделять «с запасом», т.е. нельзя выделять лишние пустые желтые строки, т.к. пустая ячейка в диапазоне условий воспринимается Excel как отсутствие критерия, а целая пустая строка — как просьба вывести все данные без разбора.
Переключатель Скопировать результат в другое место позволит фильтровать список не прямо тут же, на этом листе (как обычным фильтром), а выгрузить отобранные строки в другой диапазон, который тогда нужно будет указать в поле Поместить результат в диапазон. В данном случае мы эту функцию не используем, оставляем Фильтровать список на месте и жмем ОК. Отобранные строки отобразятся на листе:
Добавляем макрос
«Ну и где же тут удобство?» — спросите вы и будете правы. Мало того, что нужно руками вводить условия в желтые ячейки, так еще и открывать диалоговое окно, вводить туда диапазоны, жать ОК. Грустно, согласен! Но «все меняется, когда приходят они ©» — макросы!
Работу с расширенным фильтром можно в разы ускорить и упростить с помощью простого макроса, который будет автоматически запускать расширенный фильтр при вводе условий, т.е. изменении любой желтой ячейки. Щелкните правой кнопкой мыши по ярлычку текущего листа и выберите команду Исходный текст (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, т.е. все будет фильтроваться мгновенно, сразу после ввода очередного условия:
Так все гораздо лучше, правда?
Реализация сложных запросов
Теперь, когда все фильтруется «на лету», можно немного углубиться в нюансы и разобрать механизмы более сложных запросов в расширенном фильтре. Помимо ввода точных совпадений, в диапазоне условий можно использовать различные символы подстановки (* и ?) и знаки математических неравенств для реализации приблизительного поиска. Регистр символов роли не играет. Для наглядности я свел все возможные варианты в таблицу:
Критерий | Результат |
гр* или гр | все ячейки начинающиеся с Гр, т.е. Груша, Грейпфрут, Гранат и т.д. |
=лук | все ячейки именно и только со словом Лук, т.е. точное совпадение |
*лив* или *лив | ячейки содержащие лив как подстроку, т.е. Оливки, Ливер, Залив и т.д. |
=п*в | слова начинающиеся с П и заканчивающиеся на В т.е. Павлов, Петров и т.д. |
а*с | слова начинающиеся с А и содержащие далее С, т.е. Апельсин, Ананас, Асаи и т.д. |
=*с | слова оканчивающиеся на С |
=???? | все ячейки с текстом из 4 символов (букв или цифр, включая пробелы) |
=м??????н | все ячейки с текстом из 8 символов, начинающиеся на М и заканчивающиеся на Н, т.е. Мандарин, Мангостин и т.д. |
=*н??а | все слова оканчивающиеся на А, где 4-я с конца буква Н, т.е. Брусника, Заноза и т.д. |
>=э | все слова, начинающиеся с Э, Ю или Я |
<>*о* | все слова, не содержащие букву О |
<>*вич | все слова, кроме заканчивающихся на вич (например, фильтр женщин по отчеству) |
= | все пустые ячейки |
<> | все непустые ячейки |
>=5000 | все ячейки со значением больше или равно 5000 |
5 или =5 | все ячейки со значением 5 |
>=3/18/2013 | все ячейки с датой позже 18 марта 2013 (включительно) |
Тонкие моменты:
- Знак * подразумевает под собой любое количество любых символов, а ? — один любой символ.
- Логика в обработке текстовых и числовых запросов немного разная. Так, например, ячейка условия с числом 5 не означает поиск всех чисел, начинающихся с пяти, но ячейка условия с буквой Б равносильна Б*, т.е. будет искать любой текст, начинающийся с буквы Б.
- Если текстовый запрос не начинается со знака =, то в конце можно мысленно ставить *.
- Даты надо вводить в штатовском формате месяц-день-год и через дробь (даже если у вас русский Excel и региональные настройки).
Логические связки И-ИЛИ
Условия записанные в разных ячейках, но в одной строке — считаются связанными между собой логическим оператором И (AND):
Т.е. фильтруй мне бананы именно в третьем квартале, именно по Москве и при этом из «Ашана».
Если нужно связать условия логическим оператором ИЛИ (OR), то их надо просто вводить в разные строки. Например, если нам нужно найти все заказы менеджера Волиной по московским персикам и все заказы по луку в третьем квартале по Самаре, то это можно задать в диапазоне условий следующим образом:
Если же нужно наложить два или более условий на один столбец, то можно просто продублировать заголовок столбца в диапазоне критериев и вписать под него второе, третье и т.д. условия. Вот так, например, можно отобрать все сделки с марта по май:
В общем и целом, после «доработки напильником» из расширенного фильтра выходит вполне себе приличный инструмент, местами не хуже классического автофильтра.
Ссылки по теме
- Суперфильтр на макросах
- Что такое макросы, куда и как вставлять код макросов на Visual Basic
- Умные таблицы в Microsoft Excel