Если для фильтрации данных требуются сложные условия (например, Тип = «Фрукты» ИЛИ Продавец = «Егоров»), можно использовать диалоговое окно Расширенный фильтр.
Чтобы открыть диалоговое окно Расширенный фильтр, щелкните Данные > Дополнительно.
Расширенный фильтр |
Пример |
---|---|
Обзор расширенных условий фильтра |
|
Несколько условий, один столбец, любое из условий истинно |
Продавец = «Егоров» ИЛИ Продавец = «Грачев» |
Несколько условий, несколько столбцов, все условия истинны |
Тип = «Фрукты» И Продажи > 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.
Главный недостаток стандартного
фильтра
(
Данные/ Сортировка и фильтр/ Фильтр
) – это отсутствие визуальной информации о примененном в данный момент фильтре: необходимо каждый раз лезть в меню фильтра, чтобы вспомнить критерии отбора записей. Особенно это неудобно, когда применено несколько критериев. Расширенный фильтр лишен этого недостатка – все критерии помещаются в виде отдельной таблички над фильтруемыми записями.
Алгоритм создания
Расширенного фильтра
прост:
- Создаем таблицу, к которой будет применяться фильтр (исходная таблица);
- Создаем табличку с критериями (с условиями отбора);
-
Запускаем
Расширенный фильтр
.
Пусть в диапазоне
A
7:С
83
имеется исходная таблица с перечнем товаров, содержащая поля (столбцы)
Товар
,
Количество
и
Цена
(см. файл примера ). Таблица не должна содержать пустых строк и столбцов, иначе
Расширенный фильтр
(да и обычный
Автофильтр
) не будет правильно работать.
Задача 1 (начинается…)
Настроим фильтр для отбора строк, которые содержат в наименовании Товара значения
начинающиеся
со слова
Гвозди
. Этому условию отбора удовлетворяют строки с товарами
гвозди 20 мм
,
Гвозди 10 мм
,
Гвозди 10 мм
и
Гвозди
.
Табличку с условием отбора разместим разместим в диапазоне
А
1
:А2
. Табличка должна содержать также название заголовка столбца, по которому будет производиться отбор. В качестве критерия в ячейке
А2
укажем слово
Гвозди
.
Примечание
: Структура критериев у
Расширенного фильтра
четко определена и она совпадает со структурой критериев для функций БДСУММ() , БСЧЁТ() и др.
Обычно критерии
Расширенного фильтра
размещают над таблицей, к которой применяют фильтр, но можно их разместить и сбоку таблицы. Избегайте размещения таблички с критериями под исходной таблицей, хотя это не запрещено, но не всегда удобно, т.к. в исходную таблицу могут добавляться новые строки.
ВНИМАНИЕ!
Убедитесь, что между табличкой со значениями условий отбора и исходной таблицей имеется, по крайней мере, одна пустая строка (это облегчит работу с
Расширенным фильтром
).
Теперь все подготовлено для работы с
Расширенным фильтром:
- выделите любую ячейку таблицы (это не обязательно, но позволит ускорить заполнение параметров фильтра);
-
вызовите
Расширенный фильтр
( Данные/ Сортировка и фильтр/ Дополнительно ); -
в поле
Исходный диапазон
убедитесь, что указан диапазон ячеек таблицы вместе с заголовками (
A
7:С
83
); -
в поле
Диапазон условий
укажите ячейки содержащие табличку с критерием, т.е. диапазон
А
1
:А2
.
При желании можно отобранные строки скопировать в другую таблицу, установив переключатель в позицию
Скопировать результат в другое место
. Но мы это здесь делать не будем.
Нажмите кнопку ОК и фильтр будет применен — в таблице останутся только строки содержащие в столбце Товар наименования
гвозди 20 мм
,
Гвозди 10 мм
,
Гвозди 50 мм
и
Гвозди
. Остальные строки будут скрыты.
Номера отобранных строк будут выделены синим шрифтом.
Чтобы отменить действие фильтра выделите любую ячейку таблицы и нажмите
CTRL+SHIFT+L
(к заголовку будет применен
Автофильтр
, а действие
Расширенного фильтра
будет отменено) или нажмите кнопку меню
Очистить
( Данные/ Сортировка и фильтр/ Очистить ).
Задача 2 (точно совпадает)
Настроим фильтр для отбора строк, у которых в столбце Товар
точно
содержится слово
Гвозди
. Этому условию отбора удовлетворяют строки только с товарами
гвозди
и
Гвозди
(
Регистр
не учитывается). Значения
гвозди 20 мм
,
Гвозди 10 мм
,
Гвозди 50 мм
учтены не будут.
Табличку с условием отбора разместим разместим в диапазоне
B1:В2
. Табличка должна содержать также название заголовка столбца, по которому будет производиться отбор. В качестве критерия в ячейке
B2
укажем формулу =»=
Гвозди»
.
Теперь все подготовлено для работы с
Расширенным фильтром:
- выделите любую ячейку таблицы (это не обязательно, но позволит ускорить заполнение параметров фильтра);
-
вызовите
Расширенный фильтр ( Данные/ Сортировка и фильтр/ Дополнительно );
-
в поле
Исходный диапазон
убедитесь, что указан диапазон ячеек таблицы вместе с заголовками (
A
7:С
83
); -
в поле
Диапазон условий
укажите ячейки содержащие табличку с критерием, т.е. диапазон
B1
:B2
. - Нажмите ОК
Применять
Расширенный фильтр
с такими простыми критериями особого смысла нет, т.к. с этими задачами легко справляется
Автофильтр
. Рассмотрим более сложные задачи по фильтрации.
Если в качестве критерия указать не =»=Гвозди» , а просто
Гвозди
, то, будут выведены все записи содержащие наименования
начинающиеся
со слова Гвозди (
Гвозди 80мм
,
Гвозди2
). Чтобы вывести строки с товаром,
содержащие
на слово
гвозди
, например,
Новые гвозди
, необходимо в качестве критерия указать =»=*Гвозди» или просто *
Гвозди, где
* является
подстановочным знаком
и означает любую последовательность символов.
Задача 3 (условие ИЛИ для одного столбца)
Настроим фильтр для отбора строк, у которых в столбце Товар содержится значение начинающееся со слова
Гвозди
ИЛИ
Обои
.
Критерии отбора в этом случае должны размещаться под соответствующим заголовком столбца (
Товар
) и должны располагаться
друг под другом
в одном столбце (см. рисунок ниже). Табличку с критериями размести в диапазоне
С1:С3
.
Окно с параметрами Расширенного фильтра и таблица с отфильтрованными данными будет выглядеть так.
После нажатия ОК будут выведены все записи, содержащие в столбце
Товар
продукцию
Гвозди
ИЛИ
Обои
.
Задача 4 (условие И)
Произведем отбор только тех строк таблицы, которые
точно
содержат в столбце
Товар
продукцию
Гвозди
, а в столбце
Количество
значение >40. Критерии отбора в этом случае должны размещаться под соответствующими заголовками (Товар и Количество) и должны располагаться
на одной строке
. Условия отбора должны быть записаны в специальном формате: =»=
Гвозди»
и =»>40″ . Табличку с условием отбора разместим разместим в диапазоне
E1:F2
.
После нажатия кнопки ОК будут выведены все записи содержащие в столбце
Товар
продукцию
Гвозди
с количеством >40.
СОВЕТ:
При изменении критериев отбора лучше каждый раз создавать табличку с критериями и после вызова фильтра лишь менять ссылку на них.
Примечание
: Если пришлось очистить параметры Расширенного фильтра ( Данные/ Сортировка и фильтр/ Очистить ), то перед вызовом фильтра выделите любую ячейку таблицы – EXCEL автоматически вставит ссылку на диапазон занимаемый таблицей (при наличии пустых строк в таблице вставится ссылка не на всю таблицу, а лишь до первой пустой строки).
Задача 5 (условие ИЛИ для разных столбцов)
Предыдущие задачи можно было при желании решить обычным
автофильтром
. Эту же задачу обычным фильтром не решить.
Произведем отбор только тех строк таблицы, которые
точно
содержат в столбце
Товар
продукцию
Гвозди
, ИЛИ которые в столбце
Количество
содержат значение >40. Критерии отбора в этом случае должны размещаться под соответствующими заголовками (Товар и Количество) и должны располагаться
на разных строках
. Условия отбора должны быть записаны в специальном формате: =»>40″ и =»=
Гвозди»
. Табличку с условием отбора разместим разместим в диапазоне
E4:F6
.
После нажатия кнопки ОК будут выведены записи содержащие в столбце
Товар
продукцию
Гвозди
ИЛИ значение >40 (у любого товара).
Задача 6 (Условия отбора, созданные в результате применения формулы)
Настоящая мощь
Расширенного фильтра
проявляется при использовании в качестве условий отбора формул.
Существует две возможности задания условий отбора строк:
- непосредственно вводить значения для критерия (см. задачи выше);
- сформировать критерий на основе результатов выполнения формулы.
Рассмотрим критерии задаваемые формулой. Формула, указанная в качестве критерия отбора, должна возвращать результат ИСТИНА или ЛОЖЬ.
Например, отобразим строки, содержащие Товар, который встречается в таблице только 1 раз. Для этого:
-
введем в ячейку
H2
формулу =СЧЁТЕСЛИ(Лист1!$A$8:$A$83;A8)=1 -
в
Н1
вместо заголовка
введем поясняющий текст, например,
Неповторяющиеся значения
. Поясняющий текст НЕ должен совпадать ни с одним заголовком столбца таблицы! В противном случае фильтр будет работать неправильно.
Применим
Расширенный фильтр
, указав в качестве диапазона условий ячейки
Н1:Н2
.
Обратите внимание на то, что диапазон поиска значений введен с использованием
абсолютных ссылок
, а критерий в функции СЧЁТЕСЛИ() – с относительной ссылкой. Это необходимо, поскольку при применении
Расширенного фильтра
EXCEL увидит, что
А8
— это относительная ссылка и будет перемещаться вниз по столбцу Товар по одной записи за раз и возвращать значение либо ИСТИНА, либо ЛОЖЬ. Если будет возвращено значение ИСТИНА, то соответствующая строка таблицы будет отображена. Если возвращено значение ЛОЖЬ, то строка после применения фильтра отображена не будет.
СОВЕТ:
Для проверки работоспособности формулы можно создать дополнительный столбец рядом с таблицей (например в F) и ввести указанную выше формулу в ячейку F8, а затем скопировать ее вниз. Будет сформирован столбец со значениями ИСТИНА/ЛОЖЬ, который поможет определить как работает ваша формула.
Примеры других формул из файла примера :
-
Вывод строк с ценами больше, чем 3-я по величине цена в таблице. =C8>НАИБОЛЬШИЙ( $С$8:$С$83 ;5) В этом примере четко проявляется коварство функции НАИБОЛЬШИЙ(). Если отсортировать столбец
С
(цены), то получим: 750; 700;
700
; 700; 620, 620, 160, … В человеческом понимании «3-ей по величине цене» соответствует 620, а в понимании функции НАИБОЛЬШИЙ() –
700
. В итоге, будет выведено не 4 строки, а только одна (750); -
Вывод строк с учетом РЕгиСТра =СОВПАД(«гвозди»;А8) . Будут выведены только те строки, в которых товар
гвозди
введен с использованием строчных букв; - Вывод строк, у которых цена выше среднего =С8>СРЗНАЧ($С$8:$С$83) ;
ВНИМАНИЕ!
Применение
Расширенного фильтра
отменяет примененный к таблице фильтр (
Данные/ Сортировка и фильтр/ Фильтр
).
Задача 7 (Условия отбора содержат формулы и обычные критерии)
Рассмотрим теперь другую таблицу из файла примера на листе Задача 7 .
В столбце
Товар
приведено название товара, а в столбце
Тип товара
— его тип.
Задача состоит в том, чтобы для заданного типа товара вывести товары, у которых цена ниже средней. То есть у нас 3 критерия: первый критерий задает Товар, 2-й — его Тип, а 3-й критерий (в виде формулы) задает цену ниже средней.
Критерии разместим в строках 6 и 7. Введем нужные Товар и Тип товара. Для заданного Тип товара вычислим среднее и выведем ее для наглядности в отдельную ячейку F7. В принципе, формулу можно ввести прямо в формулу-критерий в ячейку С7. Поясняющий текст в ячейке над формулой (С6) НЕ должен совпадать ни с одним заголовком столбца таблицы! В противном случае фильтр будет работать неправильно.
Далее действуем как обычно: выделяем любую ячейку таблицы, вызываем
Расширенный фильтр (Advanced Filter)
и указываем диапазон с критериями.
Будут выведены 2 товара из 4-х (заданного типа товара).
В файле примера для удобства использовано
Условное форматирование
: выделяются строки удовлетворяющие первым 2-м критериям (подробнее см. статью
Выделение строк таблицы в MS EXCEL в зависимости от условия в ячейке
).
Задача 7.1. (Совпадают ли 2 значения в одной строке?)
Есть таблица, в которой указаны Год выпуска и Год покупки автомобиля.
Требуется вывести только те строки, в которых Год выпуска совпадает с Годом покупки. Это можно сделать с помощью элементарной формулы =В10=С10 .
Поясняющий текст в ячейке С6 НЕ должен совпадать ни с одним заголовком столбца таблицы! В противном случае фильтр будет работать неправильно.
Задача 8 (Является ли символ числом?)
Пусть у нас есть таблица с перечнем различных типов гвоздей.
Требуется отфильтровать только те строки, у которых в столбце Товар содержится
Гвозди 1 дюйм
,
Гвозди 2 дюйма
и т.д. товары
Гвозди нержавеющие, Гвозди хромированные
и т.д. не должны быть отфильтрованы.
Проще всего это сделать если в качестве фильтра задать условие, что после слова Гвозди должно идти цифра. Это можно сделать с помощью формулы =ЕЧИСЛО(—ПСТР(A11;ДЛСТР($A$8)+2;1))
Формула вырезает из наименования товара 1 символ после слова Гвозди (с учетом пробела). Если этот символ число (цифра), то формула возвращает ИСТИНА и строка выводится, в противном случае строка не выводится. В столбце F показано как работает формула, т.е. ее можно протестировать до запуска
Расширенного фильтра
.
Задача 9 (Вывести строки, в которых НЕ СОДЕРЖАТСЯ заданные Товары)
Требуется отфильтровать только те строки, у которых в столбце Товар НЕ содержатся:
Гвозди, Доска, Клей, Обои
.
Для этого придется использовать простую формулу =ЕНД(ВПР(A15;$A$8:$A$11;1;0))
Функция ВПР()
ищет в столбце Товар каждой строки наименования товаров, указанных в диапазоне
А8:А11
. Если эти товары НЕ найдены, ВПР() возвращает ошибку #Н/Д, которая обрабатывается
функцией ЕНД()
— в итоге, формула возвращает ИСТИНА и строка выводится.
Вывод уникальных строк
О выводе
уникальных
строк с помощью Расширенного фильтра можно
прочитать в этой статье
.
#Руководства
- 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 по строкам?
Основа
Для начала вставьте над вашей таблицей с данными несколько пустых строк и скопируйте туда шапку таблицы – это будет диапазон с условиями (выделен для наглядности желтым):
Между желтыми ячейками и исходной таблицей обязательно должна быть хотя бы одна пустая строка.
Именно в желтые ячейки нужно ввести критерии (условия), по которым потом будет произведена фильтрация. Например, если нужно отобрать бананы в московский “Ашан” в 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, т.е. все будет фильтроваться мгновенно, сразу после ввода очередного условия:
Подготовка диапазона для условий фильтрации
В автофильтре условия для фильтрации данных задаются в меню, выпадающем после клика на кнопке в шапке таблицы. В расширенном же – условия фильтрации должны задаваться в отдельном диапазоне. Этот диапазон может располагаться на том же листе, что и данные, на другом листе или даже в другой книге. Главное, чтобы он был отделен от исходных данных как минимум одним пустым столбцом или строкой (чтобы Excel не принял их за один диапазон).
Также важно помнить, что при указании в 3 шаге (работа в Мастере “Расширенного фильтра”) диапазона условий нужно выделять шапку и строки, где есть какие-то критерии. Пустые строки выделять не нужно, иначе фильтра воспримет их как сигнал “Отобразить все строки”.
Диапазон для задания условий фильтрации представляет собой копию шапки основной таблицы (или хотя бы тех полей, по которым нужно отбирать данные) и достаточное количество пустых строк под этой шапкой.
Формирование условий фильтрации
Этот этап является ключевым и раскрывает всю мощь инструмента. Для начала Вы должны научиться правильно задавать критерии для отбора.
Они могут быть 3 видов:
– текстовые критерии
Если в качестве текстового критерия ввести в поле какое-то слово, например, “Москва”, то будут отобраны ВСЕ строки, в которых в заданном столбце запись начинается со слова “Москва”
Если слово или часть слова нужно искать не с начала строки, а во всей, то необходимо пользоваться подстановочными знаками. В примере ниже найдены все строки, в которых в столбце “Город” есть слово “Петербург”
Если нужно найти точное вхождение слова или фразы, то критерий придется задать несколько необычной формулой. Например, чтобы найти строки, в которых записано “Петербург” и не отображать строки “Санкт-Петербург”, нужно ввести формулу: =”=Петербург” (именно так, с двумя знаками “=”).
– числовые критерии и даты
В качестве критерия можно вводить число (и тогда будут отобраны строки, в которых значения столбца равны этому числу)
Также можно вводить выражения с использованием логических операторов (>, <, >=, <=, <>). Например, найти строки с суммой больше 500 000 можно введя критерий >500000
Особо внимательным нужно быть при вводе критериев в виде даты. Даты обязательно необходимо вводить через косую черту. Например, чтобы отобрать все сделки после 4 января 2017, нужно ввести критерий по полю “Дата” – >04/01/2017 (в некоторых версиях Excel требуется осуществлять ввод в формате ММ/ДД/ГГГГ, то есть сначала указывать месяц. Имейте это в виду при работе).
– формулы
Самое лучшее, что умеет расширенный фильтр – это использовать в качестве критерия формулы. Чтобы все работало, задаваемая Вами формула должна возвращать значение ИСТИНА (и тогда строка выведется) или ЛОЖЬ (строка будет скрыта). Крайне важно – шапка столбца с формулой должна отличаться от любой записи в шапке таблицы (можете вообще оставить ее пустой). При написании формул, не забывайте правильно расставлять абсолютные и относительные ссылки.
Например, если нужно показать топ 5 строк по полю сумма, то необходимо будет ввести следующую формулу:
=F10>НАИБОЛЬШИЙ($F$10:$F$37;6),
где F10 – ячейка первой строки в столбце “Сумма” (она не закреплена, так как формула будет перебирать строки по очереди), $F$10:$F$37 – ссылка на диапазон, который занимает столбец “Сумма” (ссылка закреплена, так как столбец не изменяется).
В результате формула пройдет по всем строкам (от 10-ой до 37-ой) и скроет все, кроме тех, где значение больше шестого по величине (то есть оставит ТОП 5).
Конечно, все описанные критерии и примеры можно реализовать с помощью обычного автофильтра (кроме возможности использовать формулы). Однако, весь потенциал расширенного фильтра раскрывается, когда Вы умеете правильно комбинировать множество критериев между собой.
Итак, основные концепции, которые Вам нужно усвоить для успешного применения Расширенного фильтра:
– заголовок столбца, в котором пишем критерий отбора, должен быть точно таким же, как у того столбца, к которому применяем этот критерий. То есть, если отбираем строки, в которых в столбце “Сумма” значение больше 500, то и условие >500 пишем под шапку “Сумма”;
– условия, записанные в одной строке, воспринимаются фильтром как связанные оператором И. Например, на картинке ниже записано условие И год 2017, И город Москва, И менеджер Петров.
– условия, записанные в разных строках, воспринимаются фильтром как связанные оператором ИЛИ. Условия могут применяться как к одному столбцу, так и к разным. Например, на картинке ниже записано условие ИЛИ город Москва, ИЛИ менеджер Иванов. Таким образом, каждая строка – это единый набор условий.
– если нужно задать условие И, но при этом использовать один и тот же столбец (например, И сумма больше 500 000, И сумма меньше 600 000), то заголовок такого столбца нужно продублировать дважды. Пример:
Теперь Вы знаете, какие критерии можно задавать, и как их правильно комбинировать. Этого достаточно, чтобы создавать сложные запросы, которые не под силу обычному автофильтру. Например, если нужно показать все сделки в Москве за 2017 год с суммой больше 500 000, а также одновременно отобразить все сделки Иванова за 2016 год, которые входят в ТОП5, то критерии будут выглядеть вот так:
Зачем нужны фильтры в таблицах Эксель
А затем, чтобы иметь возможность быстро отбирать только необходимые вам данные, скрывая ненужные строки таблицы. Таким образом фильтр позволяет без удаления строк таблицы Эксель просто временно скрыть их.
Скрытые при помощи фильтра строки таблицы не исчезают. Можно условно представить, что их высота становится равной нулю (про изменение высоты строк и ширины столбцов я ранее рассказывал). Таким образом, остальные строки, не скрытые фильтром, как бы “склеиваются”. То, что получается в результате, и есть таблица с наложенным фильтром.
Внешне таблица с фильтром в Excel выглядит так же, как и любая другая, но в её верхней части в каждой колонке появляются специальные стрелочки.
Это очень просто! Допустим, у нас есть таблица с заголовками. Поскольку фильтр на таблицу Эксель накладывается на определённую часть таблицы, то эту самую часть нужно сначала выделить. Сам Excel ни за что не догадается, что вы хотите, поэтому выделяем в строке с заголовками таблицы нужные ячейки.
Обратите внимание:
Если выделить ВСЮ строку, то Эксель автоматически установит фильтр на ВСЕ столбцы, в которых есть хоть что-то. Если в столбце ничего нет, то фильтр не накладывается.
После того как выделили нужные столбцы, нужно собственно установить фильтр. Самый простой способ — это зайти на вкладке ленты “Главное” / “Фильтр и сортировка” и нажать фильтр. Привожу скриншот из Office 2010, в прочих версиях Excel фильтр на таблицу накладывается аналогично.
После нажатия этой кнопки в выделенные ячейки добавится фильтр.
Если не выделять несколько ячеек, а просто щёлкнуть на одну, то фильтр добавляется на ВСЮ строку, как если бы вы её выделили.
В моём примере из трёх показанных на картинке столбцов фильтр добавится только на два, ячейки которых были предварительно выделены.
Показанный пример включения фильтра у таблицы является самым простым. Давайте посмотрим как он работает.
Как пользоваться фильтром в Эксель
Сразу после включения фильтра, таблица не изменится (не считая появившихся стрелочек в заголовках столбцов). Чтобы отфильтровать часть нужных вам данных, следует щёлкнуть по стрелочке в том столбце, фильтром по которому вы хотите воспользоваться.
Смысл фильтра:
заключается в том, что Excel оставит только те строки таблицы, которые в ЭТОМ (с настроенным фильтром) столбце содержат ячейку с выбранным значением. Прочие строки будут скрыты.
Чтобы убрать фильтрацию (не удаляя фильтр!) просто отметьте галочками все пункты. Такой же эффект будет при удалении фильтра совсем — таблица вновь примет первоначальный вид.
Наложение нескольких фильтров на таблицу Эксель
Фильтры в таблице Эксель можно комбинировать. Наложение нескольких фильтров происходит по принципу логического “И”. Что это значит, давайте посмотрим на примере.
Если у нас в таблице несколько колонок, то можно сначала установить фильтр, например, на первый столбец. При этом часть строк в соответствии с условием фильтра будет скрыта. Затем настроим фильтр в следующем столбце. В таком случае оставшиеся после первого фильтра строки будут дополнительно отфильтрованы. Проще говоря, к каждой строке будут применены сразу 2 фильтра — по первому столбцу и по второму.
При наложении каждого последующего фильтра количество отображаемых в таблице строк, удовлетворяющих условиям ВСЕХ фильтров, будет уменьшаться. Таким образом, последовательно накладывая несколько фильтров, можно из огромной таблицы в тысячи строк быстро сделать небольшую выборку.
С получившейся выборкой можно производить дальнейшие операции. Например, можно скопировать эти строки и перенести в другую таблицу. А можно наоборот, отфильтровать те строки, которые вы хотите вообще удалить! И тогда, сняв после их удаления фильтр, вы получите таблицу, очищенную от ненужных данных.
Теперь посмотрите видеоролик, в котором я показываю реальный пример фильтрации данных в прайс листе более чем из 15 000 строк.
Как задать несколько параметров
После того как информация отфильтрована по параметрам одного из столбцов, пользователь вправе продолжить отфильтровывать ее по остальным столбцам. Значений для отсева уже меньше, но результат станет более детальным.
Например, мы уже отфильтровали таблицу по условию «Страна» и оставили только товары российского происхождения.
Теперь необходимо дополнительно отделить товары стоимостью 100 рублей, для этого применяем отсев в разделе «Цена».
Нажимаем «Ок» и получаем только товары стоимостью 100 рублей, произведенные в России.
Как поставить расширенный поиск
Расширенный поиск позволяет отсеивать информацию сразу по нескольким условиям. Работая с ним, перед тем как поставить фильтр в таблице excel, необходимо подготовить саму таблицу — создать над ней поле из нескольких свободных строк и скопировать заголовки.
Затем в свободной строке под скопированными заголовками задать необходимые условия поиска. Например, необходимо найти товары, произведенные в России, проданные менеджером Ивановым, стоимостью менее 300 рублей.
После того как параметры корректно введены, необходимо снова открыть вкладку «Данные» и выбрать функцию «Дополнительно».
Перед пользователем появится окно, в котором ему предстоит заполнить две строки:
- «Исходный диапазон» — это диапазон таблицы, информация которой подлежит фильтрации, то есть исходной таблицы. Его эксель введет автоматически;
- «Диапазон условий» — это ячейки, из которых программа возьмет значения для отсева, — вторая таблица, которую мы создали сверху. Чтобы значения появились в строке окна, необходимо просто захватить две ее строки: с наименованием раздела и введенными значениями.
После того как оба диапазона сформированы, нажмите «Ок» и оцените результат.
Как удостовериться, поставлен ли фильтр
Чтобы узнать, установлен поиск данных или нет, необходимо взглянуть на строку с наименованием параметров — это первая строка. Если он есть, в каждой ячейке строки обнаружится небольшой значок.
Значком «1» обозначается столбец, в котором поиск установлен, но не применяется. Значком «2» обозначен уже примененный поиск.
Использование макроса расширенного фильтра
Большинство людей согласятся, что в стандартном виде расширенный фильтр – жутко неудобная штука. И да, это действительно так. Кроме того, что нужно создавать таблицу специально под условия, вручную туда вводить данные, а также открывать отдельное диалоговое окно и вводить туда диапазоны. Но если воспользоваться макросами, большинство операций можно автоматизировать.
Причем достаточно воспользоваться очень легки макросом, который запрограммирован на то, чтобы запускать расширенный фильтр при изменении любой ячейки диапазона условий. Согласитесь, что так значительно удобнее. Для этого необходимо вызвать контекстное меню ярлыка данного листа и кликнуть по пункту «Исходный текст». Далее появится окошко, где вставляете такой код.
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
Естественно, нужно вставить наиболее подходящие в конкретной ситуации ячейки. Теперь всегда, когда любая ячейка будет изменяться, данная подпрограмма будет запускаться. Как только происходит редактирование ячейки, находящейся в диапазоне с условиями (в пустой ячейке, проще говоря), то все фильтры будут автоматически сняты, а также будет выставлен расширенный.
Все, больше никаких дополнительных действий совершать не нужно. Фильтр будет автоматически адаптироваться под любое совершаемое пользователем изменение.
Подробнее о сложных запросах
После того, как была реализована команда автоматически накладывать расширенный фильтр на таблицу, при малейшей коррекции условий, теперь можно разобраться, как вообще работают сложные условия в расширенном фильтре.
Кроме точных совпадений, человек в праве использовать дополнительные символы, некоторые из которых позволяют более гибко настраивать поиск. При этом нет разницы, какой регистр имеют символы. Чтобы было более понятно, вот таблица, детально описывающая все возможные условия.
Здесь нужно учитывать такие моменты:
- Символ * говорит о каком-угодно количестве символов, а ? – лишь одном.
- Числовые и текстовые запросы обрабатываются разным способом. Так, если условная ячейка, в которой указано число 5, указана пользователем, то это еще не означает, что фильтр будет искать все числа, которые начинаются с этой цифры. Но если в ней будет указана буква Б, то фильтр будет отбирать те данные, которые содержат текст, который начинается с нее. Простыми словами, если текст не начинается со знака =, то он эквивалентен такому, в конце которого находится символ *.
- Если используются даты, то они вводятся в таком формате, как в Соединенных Штатах. Сначала указывается месяц, потом день, а потом – год, а также элементы перечисления разделяются дробью. Это даже касается локализованного под Россию Экселя.
Логические условия
Огромное преимущество расширенного фильтра заключается в том, что можно использовать логические условия. Что это такое? Логическим условием называется такое условие, которое использует логический оператор И или ИЛИ. Конечно, есть и другие, но они описаны выше.
Характерная черта любой логической операции в том, что она возвращает условие «Истина» или «Ложь». В случае с расширенным фильтром, условие будет следующее: если определенное условие истинно.
То есть, логическое условие «И» фактически расшифровывается, как «если критерий 1 и критерий 2 соответствуют критерию 3». Например, если яблоки и морковь стоят одинаково, то. Или – аналогично, просто вместо «И» вставляется «Или». На практике это может выглядеть так. Если пользователи купили товары компании 1 или компании 2, то отобразить эти покупки. В таком случае при приобретении чего-то третьего, оно не отображается.
Фактически любой фильтр независимо от того, он простой или расширенный, содержит в себе логические условия. Но можно сделать их использование более гибким.
Итак, что нужно знать? Если условия находятся в одной строке, хотя и различных ячейках, то они считаются как те, которые соединены друг с другом логическим оператором «И».
В описываемом примере фильтр покажет только те бананы, которые были куплены в Московском Ашане в третьем квартале.
Если же необходимо, чтобы условия были связались с помощью логического оператора «ИЛИ», то необходимо их записывать в разных строках.
Например, в приведенном ниже примере фильтр будет учитывать только заказы менеджера Волиной как по персикам, купленным в Москве и луке, который продавался в третьем квартале в Самаре.
Если же нужно накладывать больше одного условия на один столбец, то, как вариант, можно просто продублировать заголовок столбца в диапазоне критериев и под ним написать последующие условия. например, так можно наложить фильтр таким образом, чтобы показывались все сделки, совершенные с марта по май.
Таким образом, если выполнять приведенные выше рекомендации, то расширенный фильтр уже не будет казаться настолько неудобным инструментом, а набор его функций будет очень обширным и фактически будет покрывать любую задачу, которую перед собой поставит пользователь.
Настройка фильтрации
Для настройки фильтрации используйте:
-
кнопку «Фильтрация» на вкладке «Конструктор» ленты инструментов (также на вкладке «Главная» или «Данные» для экспресс-отчета);
-
вкладку «Фильтрация» боковой панели.
Доступны следующие варианты фильтрации:
-
Скрывать пустые значения. Будут скрыты строки/столбцы, не содержащие никакой информации;
-
Скрывать нулевые значения. Будут скрыты строки/столбцы, содержащие нулевые значения;
-
Скрывать нечисловые значения. Будут скрыты строки/столбцы, содержащие только нечисловые значения;
-
Оставлять владельцев неисключенных элементов. Родительские элементы неисключенных фильтрацией строк/столбцов не будут скрыты;
-
Скрывать по условию. Будут скрыты строки/столбцы, все данные ячеек которых соответствуют заданному в раскрывающемся списке условию. Большинство условий использует одно или два числа для сравнения с результатом ячейки:
-
равные А;
-
не равные А;
-
большие А;
-
меньшие А;
-
большие или равные А;
-
меньшие или равные А;
-
между А и В включительно;
-
меньшие А или большие В;
Для задания сложной формулы используйте вариант «выражение». При использовании данного пункта доступна подстановка «value», соответствующая значению ячейки. При использовании выражения доступны стандартные арифметические операции, объединение выражения скобками. В регламентных отчетах доступно использование функций прикрепленных модулей
-
Скрывать по формуле. Будут скрыты строки/столбцы, соответствующие формуле, заданной через «Редактор выражения
-
Исключить отмеченные из фильтрации. Будут скрыты выбранные элементы измерения. Настройка доступна при раздельной фильтрации строк и столбцов.
Отключение фильтрации
Для отключения фильтрации отожмите верхнюю часть кнопки «Фильтрация» на вкладке ленты «Данные» или «Конструктор» (в экспресс-отчете) или «Конструктор» (для выделенного блока аналитической панели).
Срезы
Срезы – это те же фильтры, но вынесенные в отдельную область и имеющие удобное графическое представление. Срезы являются не частью листа с ячейками, а отдельным объектом, набором кнопок, расположенным на листе Excel. Использование срезов не заменяет автофильтр, но, благодаря удобной визуализации, облегчает фильтрацию: все примененные критерии видны одновременно. Срезы были добавлены в Excel начиная с версии 2010.
Создание срезов
В Excel 2010 срезы можно использовать для сводных таблиц, а в версии 2013 существует возможность создать срез для любой таблицы.
Для этого нужно выполнить следующие шаги:
- Выделить в таблице одну ячейку и выбрать вкладку Конструктор [Design].
- В группе Сервис [Tools] (или на вкладке Вставка [Insert] в группе Фильтры [Filters]) выбрать кнопку Вставить срез [Insert Slicer] .
- В диалоговом окне отметить поля, которые хотите включить в срез и нажать OK.
Форматирование срезов
- Выделить срез.
- На ленте вкладки Параметры [Options] выбрать группу Стили срезов [Slicer Styles], содержащую 14 стандартных стилей и опцию создания собственного стиля пользователя.
- Выбрать кнопку с подходящим стилем форматирования.
Чтобы удалить срез, нужно его выделить и нажать клавишу Delete.
Текстовый фильтр в Эксель
Рассмотрим, как отфильтровать в Excel ячейки с определенным текстом. Простейший способ – это, по аналогии с прошлым примером, ввести нужный текст (или его часть) в поиске.
Однако, можно и более гибко настраивать отбор. Если в окне фильтра нажать «Текстовые фильтры», то в контекстном меню появится выбор способа сопоставления: равно, не равно, начинается с, заканчивается на, содержит, не содержит.
Например, нужно выбрать людей, которых не зовут Богдан. Выберем вариант «не содержит» и запишем ему критерий « Богдан ». Поставим пробелы перед именем и после. Иначе, например, Богданов Егор Егорович тоже попадет под фильтр, хотя его не зовут Богданом:
Настраиваемый тестовый фильтр
Расскажу, как поставить фильтр в Excel на два условия в одной ячейке. Для этого кликнем Текстовые фильтры – Настраиваемый фильтр.
Пусть нам понадобилось отобрать людей с именем Богдан или Никита. Запишем логику, как на картинке
А вот результат:
Как определить, какой выбрать оператор сравнения, «И» или «ИЛИ»? Логика такая:
- И – когда нужно, чтобы выполнились оба условия одновременно
- ИЛИ – когда достаточно выполнения хотя бы одного условия из двух
Больше про логические операторы вы можете прочесть в этой статье.
Кроме того, в условии можно использовать операторы:
- ? – это один любой символ
- * – любое количество любых символов
Например, чтобы выбрать ФИО, в котором присутствует строка «ктор», запишем условие так: *ктор*.
Как поставить фильтр в Экселе на столбец с числами
Числовые фильтры тоже можно гибко настраивать, есть такие способы отбора:
- Равно или не равно
- Больше, больше или равно, меньше, меньше или равно
- Между (в интервале)
- Первые 10
- Выше среднего, ниже среднего
Видите, что есть интересные опции. Давайте попробуем выбрать людей с продажами 200 тыс. – 500 тыс. Выберем пункт МЕЖДУ. Вот так:
Для числовых данных доступен настраиваемый фильтр, как для текста.
Как сделать фильтр в Excel по строкам?
Стандартными способами – никак. Программа Microsoft Excel отбирает данные только в столбцах. Поэтому нужно искать другие решения.
Приводим примеры строковых критериев расширенного фильтра в Excel:
- Преобразовать таблицу. Например, из трех строк сделать список из трех столбцов и к преобразованному варианту применить фильтрацию.
- Использовать формулы для отображения именно тех данных в строке, которые нужны. Например, сделать какой-то показатель выпадающим списком. А в соседнюю ячейку ввести формулу, используя функцию ЕСЛИ. Когда из выпадающего списка выбирается определенное значение, рядом появляется его параметр.
Чтобы привести пример как работает фильтр по строкам в Excel, создадим табличку:
Для списка товаров создадим выпадающий список:
Над таблицей с исходными данными вставим пустую строку. В ячейки введем формулу, которая будет показывать, из каких столбцов берется информация.
Рядом с выпадающим списком ячейку введем следующую формулу: Ее задача – выбирать из таблицы те значения, которые соответствуют определенному товару
Таким образом, с помощью инструмента «Выпадающий список» и встроенных функций Excel отбирает данные в строках по определенному критерию.
Источники
- https://www.planetaexcel.ru/techniques/2/197/
- https://zen.yandex.ru/media/id/59affb7afd96b11e8eadd771/59df26b43c50f72742680e16
- https://artemvm.info/information/uchebnye-stati/microsoft-office/kak-sdelat-filtr-v-excel/
- https://clubtk.ru/forms/deloproizvodstvo/kak-polzovatsya-filtrami-v-tablitsakh-excel
- https://office-guru.ru/excel/functions-proverka-svoistv-znachenii/rasshirennyj-filtr-v-excel.html
- https://help.fsight.ru/ru/mergedProjects/UiAnalyticalArea/working_with_table_data/filtering.htm
- https://micro-solution.ru/excel/ranges/filter
- https://officelegko.com/2019/09/30/kak-v-excel-sdelat-filtr-po-stolbczam/
- https://exceltable.com/filtr-sortirovka/filtraciya-dannyh-v-excel
Использование фильтров для различных столбцов при работе с документом Excel упрощает поиск информации для пользователя, оставляя на рабочем листе только те строки, которые не попадают под указанные критерии. Статью о том, как сделать фильтр в Эксель, я уже писала, перейдя по ссылке, Вы сможете ее прочесть.
Однако использование обычного фильтра, может устроить не всех пользователей. Дело в том, что с его помощью можно отфильтровать данные, задав ограниченное количество условий. Если Вас такое не устроит, тогда нужно воспользоваться расширенным фильтром в Эксель.
Рассмотрим его применение для следующей таблицы. Расположена она в диапазоне ячеек А6:Е31. В ней представлена информация об учениках школы.
Например, нужно выбрать всех девочек, рост которых меньше 160 см. Это можно сделать, применив обычный фильтр для столбцов. Но если мы захотим отобрать и мальчиков с ростом больше 180 см, то с его помощью ничего сделать у нас не получится. Будут выданы результаты с мальчиками и девочками, рост которых находится в приделах от 160 до 180 см. Здесь нам и пригодиться использование расширенного фильтра. Надеюсь, разница Вам понятна.
Как применить
Теперь давайте рассмотрим, как использовать расширенный фильтр в Excel. Для начала, нужно создать диапазон условий – делается это путем копирования всех заголовков столбцов, в другое место листа.
Лучше всего скопировать их над таблицей, иначе они тоже могут попасть под фильтр, например, если расположить их рядом с ней. Также учтите, что между условиями и основной информацией, должна быть как минимум одна пустая строка.
Условия задаем следующим образом. Оставим, для примера, всех девочек, которые учатся в 9 классе. Заполняем нужные ячейки в диапазоне условий. Затем выделяем любую ячейку в основной таблице, переходим на вкладку «Данные» и нажимаем в группе «Сортировка и фильтр» на кнопку «Дополнительно».
Откроется диалоговое окно «Расширенный фильтр». В нем выберите маркером, где отобразить результат, в этой же таблице или сделать ее в другом месте. В качестве «Исходного диапазона» выбираем наши ячейки А6:Е31. «Диапазон условий» – это наши заголовки с условиями А1:Е2. Нажмите «ОК».
Очень важно правильно задать диапазон условий. В примере это А1:Е2. Если нужно будет добавить еще одно условие, он станет А1:Е3, и так далее. В противном случае ничего работать не будет.
В диапазоне условий, данные для столбцов, которые введены в одну строку, воспринимаются как логическое «И». Данные на разных строках воспринимаются как логическое «ИЛИ». В примере, мы оставили всех девочек, и из них выбрали тех, кто учится в 9 классе. Если во второй строке записать «девочка» – «>170», то будут отобраны из таблицы еще и девочки, рост которых больше 170 см. При этом они могут учиться в других классах – это логическое «ИЛИ».
Как удалить
Чтобы удалить его для данных в таблице на вкладке «Данные» в группе «Сортировка и фильтр» нажмите «Очистить».
Поместим отфильтрованные данные в другую таблицу
Рассмотрим еще один пример. Выберем девочек с ростом меньше 170 см и мальчиков с ростом больше 180 см. Отфильтрованную информацию разместим на этом же листе, но в других ячейках.
В диапазон условий записываем данные. Выделяем любую ячейку основной таблицы и переходим на вкладку «Данные» – «Дополнительно».
Маркером отмечаем «Скопировать результат в другое место», выбираем ячейки для «Исходного диапазона» А6:Е31, в поле «Диапазон условий» вписываем адрес А1:Е3. В поле «Поместить результат в диапазон» нажимаем на кнопочку выбора ячеек и выделяем нужные на листе, можно выбрать и другой лист открытой книги. Нажмите «ОК».
Чтобы поместить результат расширенного фильтра в другой диапазон, сначала скопируйте шапку таблицы и вставьте ее туда. Когда будете выбирать ячейки для отфильтрованных данных, выделите эту шапку и необходимое количество строк под ней. Если выделенных строк не хватит, программа предупредит об этом.
Результат с заданными условиями для расширенного фильтра представлен в другом месте листа. Исходная информация осталась без изменений.
Теперь, для дополнительной таблицы с отфильтрованными данными, можно применить, например, сортировку в Excel. Подробно о том, как отсортировать данные в Эксель, Вы можете прочесть, перейдя по ссылке.
Уверенна, Вы поняли, как использовать расширенный фильтр в Эксель, для выбора нужной информации из таблицы.
Загрузка…
Об авторе: Олег Каминский
Вебмастер. Высшее образование по специальности «Защита информации». Создатель портала comp-profi.com. Автор большинства статей и уроков компьютерной грамотности