Если вы работаете с представленной в Excel функцией Расширенный фильтр, то, возможно, уже успели обнаружить, что программа довольно придирчиво относится к тому, где вы хотите разместить результаты.
На рис. 163.1 показано окно Расширенный фильтр. Заметьте, что диапазон списка и диапазон критерия находятся на активном листе (Лист1), но пользователь указал ячейку на листе Лист2 в качестве диапазона для копирования. Нажатие кнопки ОК приведет к появлению сообщения об ошибке: копирование отобранных данных допускается только на тот же лист.
Рис. 163.1. Указание другого листа в качестве диапазона для копирования приводит к ошибке
К счастью, у вас есть простой способ обойти проблему этого бессмысленного ограничения.
- Активизируйте лист, который будет содержать результаты. Если диапазон листа и диапазон критерия находятся на листе Лист1 и вы хотите, чтобы результаты были на листе Лист2, просто активизируйте Лист2, когда выбираете Данные ► Сортировка и фильтр ► Дополнительно.
- Чтобы указать параметры Исходный диапазон и Диапазон условий, щелкните на вкладке листа Лист1 и выберите диапазоны.
- Введите диапазон на активном листе (Лист2) в поле Поместить результат в диапазон.
По теме
Новые публикации
Если для фильтрации данных требуются сложные условия (например, Тип = «Фрукты» ИЛИ Продавец = «Егоров»), можно использовать диалоговое окно Расширенный фильтр.
Чтобы открыть диалоговое окно Расширенный фильтр, щелкните Данные > Дополнительно.
Расширенный фильтр |
Пример |
---|---|
Обзор расширенных условий фильтра |
|
Несколько условий, один столбец, любое из условий истинно |
Продавец = «Егоров» ИЛИ Продавец = «Грачев» |
Несколько условий, несколько столбцов, все условия истинны |
Тип = «Фрукты» И Продажи > 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 предоставляет более широкие возможности по управлению данными электронных таблиц. Он более сложен в настройках, но значительно эффективнее в действии.
С помощью стандартного фильтра пользователь Microsoft Excel может решить далеко не все поставленные задачи. Нет визуального отображения примененных условий фильтрации. Невозможно применить более двух критериев отбора. Нельзя фильтровать дублирование значений, чтобы оставить только уникальные записи. Да и сами критерии схематичны и просты. Гораздо богаче функционал расширенного фильтра. Присмотримся к его возможностям поближе.
Как сделать расширенный фильтр в Excel?
Расширенный фильтр позволяет фильтровать данные по неограниченному набору условий. С помощью инструмента пользователь может:
- задать более двух критериев отбора;
- скопировать результат фильтрации на другой лист;
- задать условие любой сложности с помощью формул;
- извлечь уникальные значения.
Алгоритм применения расширенного фильтра прост:
- Делаем таблицу с исходными данными либо открываем имеющуюся. Например, так:
- Создаем таблицу условий. Особенности: строка заголовков полностью совпадает с «шапкой» фильтруемой таблицы. Чтобы избежать ошибок, копируем строку заголовков в исходной таблице и вставляем на этот же лист (сбоку, сверху, снизу) или на другой лист. Вносим в таблицу условий критерии отбора.
- Переходим на вкладку «Данные» — «Сортировка и фильтр» — «Дополнительно». Если отфильтрованная информация должна отобразиться на другом листе (НЕ там, где находится исходная таблица), то запускать расширенный фильтр нужно с другого листа.
- В открывшемся окне «Расширенного фильтра» выбираем способ обработки информации (на этом же листе или на другом), задаем исходный диапазон (табл. 1, пример) и диапазон условий (табл. 2, условия). Строки заголовков должны быть включены в диапазоны.
- Чтобы закрыть окно «Расширенного фильтра», нажимаем ОК. Видим результат.
Верхняя таблица – результат фильтрации. Нижняя табличка с условиями дана для наглядности рядом.
Как пользоваться расширенным фильтром в Excel?
Чтобы отменить действие расширенного фильтра, поставим курсор в любом месте таблицы и нажмем сочетание клавиш Ctrl + Shift + L или «Данные» — «Сортировка и фильтр» — «Очистить».
Найдем с помощью инструмента «Расширенный фильтр» информацию по значениям, которые содержат слово «Набор».
В таблицу условий внесем критерии. Например, такие:
Программа в данном случае будет искать всю информацию по товарам, в названии которых есть слово «Набор».
Для поиска точного значения можно использовать знак «=». Внесем в таблицу условий следующие критерии:
Excel воспринимает знак «=» как сигнал: сейчас пользователь задаст формулу. Чтобы программа работала корректно, в строке формул должна быть запись вида: =»=Набор обл.6 кл.»
После использования «Расширенного фильтра»:
Теперь отфильтруем исходную таблицу по условию «ИЛИ» для разных столбцов. Оператор «ИЛИ» есть и в инструменте «Автофильтр». Но там его можно использовать в рамках одного столбца.
В табличку условий введем критерии отбора: =»=Набор обл.6 кл.» (в столбец «Название») и =»<10″ (в столбец «Цена»). То есть программа должна отобрать те значения, содержащие ТОЧНО информацию о товаре «Набор обл.6 кл.» ИЛИ информацию по товарам, цена которых <10.
Обратите внимание: критерии необходимо записать под соответствующими заголовками в РАЗНЫХ строках.
Результат отбора:
Расширенный фильтр позволяет использовать в качестве критерия формулы. Рассмотрим пример.
Отбор строки с максимальной задолженностью: =МАКС(Таблица1[Задолженность]).
Таким образом мы получаем результаты как после выполнения несколько фильтров на одном листе Excel.
Как сделать несколько фильтров в Excel?
Создадим фильтр по нескольким значениям. Для этого введем в таблицу условий сразу несколько критерий отбора данных:
Применим инструмент «Расширенный фильтр»:
Теперь из таблицы с отобранными данными извлечем новую информацию, отобранную по другим критериям. Например, только отгрузки за 2014 год.
Вводим новый критерий в табличку условий и применяем инструмент фильтрации. Исходный диапазон – таблица с отобранными по предыдущему критерию данными. Так выполняется фильтр по нескольким столбцам.
Чтобы использовать несколько фильтров, можно сформировать несколько таблиц условий на новых листах. Способ реализации зависит от поставленной пользователем задачи.
Как сделать фильтр в Excel по строкам?
Стандартными способами – никак. Программа Microsoft Excel отбирает данные только в столбцах. Поэтому нужно искать другие решения.
Приводим примеры строковых критериев расширенного фильтра в Excel:
- Преобразовать таблицу. Например, из трех строк сделать список из трех столбцов и к преобразованному варианту применить фильтрацию.
- Использовать формулы для отображения именно тех данных в строке, которые нужны. Например, сделать какой-то показатель выпадающим списком. А в соседнюю ячейку ввести формулу, используя функцию ЕСЛИ. Когда из выпадающего списка выбирается определенное значение, рядом появляется его параметр.
Чтобы привести пример как работает фильтр по строкам в Excel, создадим табличку:
Для списка товаров создадим выпадающий список:
Над таблицей с исходными данными вставим пустую строку. В ячейки введем формулу, которая будет показывать, из каких столбцов берется информация.
Рядом с выпадающим списком ячейку введем следующую формулу: Ее задача – выбирать из таблицы те значения, которые соответствуют определенному товару
Скачать примеры расширенного фильтра
Таким образом, с помощью инструмента «Выпадающий список» и встроенных функций Excel отбирает данные в строках по определенному критерию.
Параметры окна Расширенный
фильтр позволяют
размещать результаты фильтрации не
только на другом рабочем листе, но и в
другой рабочей книге.
ПРИМЕР 3. Выберите
из таблицы страны, имеющие плотность
населения меньше 10
чел на км2
ИЛИ
больше 100
чел. на км2.
-
Создайте новый лист
— Лист7. -
Заголовки
критериев поиска
скопируйте в свободное место на листе
с таблицей (вернитесь на лист Расширенный),
например, I2. -
Заполните строки критериев
(в I2
и
I3)
-
Заголовки интересующих
полей скопируйте в
свободное место на новом
листе — Листе7,
например,
В3.
-
Выберите любую ячейку
Листа7,
на котором будут находиться отфильтрованные
данные. -
Выберите
команду ДАННЫЕ
— кнопка Дополнительно. -
Укажите в диалоговом окне
Расширенный фильтр
следующие параметры:
-
Обработка —
Скопировать результат
в другое место. -
Исходный диапазон —
перейдите на лист с таблицей и выделите
ее всю. -
Диапазон условий —
как только вы поставите текстовый
курсор в поле Диапазон
условий, так сразу
же; окажетесь на листе, где будут
находиться результаты фильтрации
(Лист7).
Перейдите на лист с исходными
данными — выделите область критериев.
-
Поместить результат в
диапазон
— поставьте текстовый курсор в поле и
снова окажетесь на листе результатов
фильтрации — выделите скопированные
ранее заголовки целевой области (В3:С3).
-
Нажмите ОК.
Получаем результат в целевой области. -
Переименуйте Лист7
в лист Копирование
результатов. Сохраните
книгу Страны
в своей папке.
Задание 5. Связанные таблицы
Связанная таблица— новшество вExcel2007. Она представляет
собой набор данных, которым можно
управлять как единым целым: сортировать,
фильтровать данные, подсчитывать итоги.
То есть связанная таблицаExcelпозволяет выполнять те же действия, что
и с любым диапазоном ячеек, но при вставке
или добавлении новых строк к таблице
происходит автоматическое копирование
формул и автоматическая поддержка
форматов данных диапазона.
Создание связанной таблицы
-
Откройте файл-документСвязанные
таблицы.xlsxиз папкиЗадания по Excel
2. Сохраните файл в своей папке. -
Преобразуйте диапазон данныхв
таблице всвязанную таблицу. Для
этого выделите таблицу и выберите
командуВСТАВКА — группа Таблицы —
Таблица. Появится диалоговое окноСвязанные таблицы. -
Поставьте флажок Таблица с
заголовками, если выбранный диапазон
содержит данные для заголовков столбцов,
и нажмитеOK. Иначе
каждому столбцу будут автоматически
присвоены названияСтолбец1,Столбец2и т.д.
-
Диапазон ячеек таблицы стал связанной
таблицей. На Инструментальной ленте
появится контекстная вкладкаРАБОТА
С ТАБЛИЦАМИ—Конструктор.
Примечание. Другой вариант
создания связанной таблицы — выбрать
команду ГЛАВНАЯ — группа Стили —
Форматировать как таблицу.
Для того, чтобы обратно преобразовать
связанную таблицу в диапазон ячеек
нужно выделить любую ячейку таблицы и
выбрать команду РАБОТА С ТАБЛИЦАМИ
— Конструктор — преобразовать в диапазон.
Добавление итогов
В связанной таблице легко подсчитать
итоговые значения.
-
Вставьте строку итоговпосле
последней строки связанной таблицы.
Для этого выделите любую ячейку таблицы
и выберите командуРАБОТА С ТАБЛИЦАМИ
— Конструктор — группа Параметры стилей
таблиц — Строка итогов. В конце таблицы
будет добавлена строка с итоговыми
данными.
Воспользовавшись выпадающим меню можно
выбрать значение итоговой функции.
-
Выберите ячейку в столбце, для
которого нужно рассчитать итоговое
значение, например,Сумма к выдаче. -
Выберите функциюСуммаиз
раскрывающегося списка в стоке итогов.
Соседние файлы в папке Excel2007
- #
- #
- #
- #
- #
Расширенный фильтр и немного магии
У подавляющего большинства пользователей 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
Обычно мы можем быстро применить Расширенный фильтр функция извлечения данных из необработанных данных на одном листе. Но иногда, когда вы пытаетесь скопировать отфильтрованный результат на другой рабочий лист, вы получаете следующее предупреждающее сообщение. В таком случае, как бы вы могли справиться с этой задачей в Excel?
Скопируйте данные на другой лист с помощью расширенного фильтра с помощью функции расширенного фильтра
Скопируйте данные на другой лист с помощью расширенного фильтра с помощью кода VBA
Скопируйте данные на другой лист с помощью расширенного фильтра с помощью функции расширенного фильтра
Вот простой способ решения этой задачи: сделайте следующее:
1. Активируйте рабочий лист, на который вы хотите скопировать отфильтрованный результат, с помощью функции расширенного фильтра.
2. Затем нажмите Данные > Дополнительно, см. снимок экрана:
3. В Расширенный фильтр диалоговое окно, выберите Скопировать в другое место из Действие раздел, а затем щелкните кнопку, чтобы выбрать диапазон данных, который вы хотите отфильтровать, на другом листе рядом с Диапазон списка, продолжайте нажимать кнопка рядом с Диапазон критериев чтобы выбрать критерии из другого листа, см. снимок экрана:
4. Затем нажмите кнопка рядом с Скопировать в поле, чтобы выбрать ячейку, в которую вы хотите вывести отфильтрованный результат из активного листа, а затем щелкните OK Кнопка, отфильтрованный результат был извлечен на другой лист на основе вашей исходной таблицы данных.
Скопируйте данные на другой лист с помощью расширенного фильтра с помощью кода VBA
Если у вас есть опыт работы с кодом VBA, вы можете завершить эту работу с помощью следующего кода VBA.
1. Активируйте рабочий лист, который вы хотите отфильтровать, и скопируйте результат на другой лист.
2. Удерживайте ALT + F11 ключи в Excel, и он открывает Microsoft Visual Basic для приложений окно.
3. Нажмите Вставить > Модулии вставьте следующий код в Модули Окно.
Код VBA: скопируйте данные на другой лист с помощью расширенного фильтра:
Sub Advancedfiltertoanothersheet()
'Updateby Extendoffice
Dim xStr As String
Dim xAddress As String
Dim xRg As Range
Dim xCRg As Range
Dim xSRg As Range
On Error Resume Next
xAddress = ActiveWindow.RangeSelection.Address
Set xRg = Application.InputBox("Please select the filter range:", "Kutools for Excel", xAddress, , , , , 8)
If xRg Is Nothing Then Exit Sub
Set xCRg = Application.InputBox("Please select the criteria range:", "Kutools for Excel", "", , , , , 8)
If xCRg Is Nothing Then Exit Sub
Set xSRg = Application.InputBox("Please select the output range:", "Kutools for Excel", "", , , , , 8)
If xSRg Is Nothing Then Exit Sub
xRg.AdvancedFilter xlFilterCopy, xCRg, xSRg, False
xSRg.Worksheet.Activate
xSRg.Worksheet.Columns.AutoFit
End Sub
4, Затем нажмите F5 нажмите клавишу для запуска этого кода, и появится диалоговое окно, позволяющее выбрать диапазон данных, который вы хотите отфильтровать, см. снимок экрана:
5. Затем нажмите OK, и появляется другое диалоговое окно, напоминающее вам о выборе диапазона критериев, на основе которого вы хотите выполнить фильтрацию, см. снимок экрана:
6. Продолжайте нажимать OK, в появившемся диалоговом окне выберите ячейку на другом новом листе, в которой вы хотите вывести результат фильтрации, см. снимок экрана:
7, Наконец, нажмите OK Кнопка, отфильтрованные данные были выведены на другой указанный лист по мере необходимости.
Лучшие инструменты для работы в офисе
Kutools for Excel Решит большинство ваших проблем и повысит вашу производительность на 80%
- Снова использовать: Быстро вставить сложные формулы, диаграммы и все, что вы использовали раньше; Зашифровать ячейки с паролем; Создать список рассылки и отправлять электронные письма …
- Бар Супер Формулы (легко редактировать несколько строк текста и формул); Макет для чтения (легко читать и редактировать большое количество ячеек); Вставить в отфильтрованный диапазон…
- Объединить ячейки / строки / столбцы без потери данных; Разделить содержимое ячеек; Объединить повторяющиеся строки / столбцы… Предотвращение дублирования ячеек; Сравнить диапазоны…
- Выберите Дубликат или Уникальный Ряды; Выбрать пустые строки (все ячейки пустые); Супер находка и нечеткая находка во многих рабочих тетрадях; Случайный выбор …
- Точная копия Несколько ячеек без изменения ссылки на формулу; Автоматическое создание ссылок на несколько листов; Вставить пули, Флажки и многое другое …
- Извлечь текст, Добавить текст, Удалить по позиции, Удалить пробел; Создание и печать промежуточных итогов по страницам; Преобразование содержимого ячеек в комментарии…
- Суперфильтр (сохранять и применять схемы фильтров к другим листам); Расширенная сортировка по месяцам / неделям / дням, периодичности и др .; Специальный фильтр жирным, курсивом …
- Комбинируйте книги и рабочие листы; Объединить таблицы на основе ключевых столбцов; Разделить данные на несколько листов; Пакетное преобразование xls, xlsx и PDF…
- Более 300 мощных функций. Поддерживает Office/Excel 2007-2021 и 365. Поддерживает все языки. Простое развертывание на вашем предприятии или в организации. Полнофункциональная 30-дневная бесплатная пробная версия. 60-дневная гарантия возврата денег.
Вкладка Office: интерфейс с вкладками в Office и упрощение работы
- Включение редактирования и чтения с вкладками в Word, Excel, PowerPoint, Издатель, доступ, Visio и проект.
- Открывайте и создавайте несколько документов на новых вкладках одного окна, а не в новых окнах.
- Повышает вашу продуктивность на 50% и сокращает количество щелчков мышью на сотни каждый день!
#Руководства
- 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
Узнать больше
Главный недостаток стандартного
фильтра
(
Данные/ Сортировка и фильтр/ Фильтр
) – это отсутствие визуальной информации о примененном в данный момент фильтре: необходимо каждый раз лезть в меню фильтра, чтобы вспомнить критерии отбора записей. Особенно это неудобно, когда применено несколько критериев. Расширенный фильтр лишен этого недостатка – все критерии помещаются в виде отдельной таблички над фильтруемыми записями.
Алгоритм создания
Расширенного фильтра
прост:
- Создаем таблицу, к которой будет применяться фильтр (исходная таблица);
- Создаем табличку с критериями (с условиями отбора);
-
Запускаем
Расширенный фильтр
.
Пусть в диапазоне
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
. Если эти товары НЕ найдены, ВПР() возвращает ошибку #Н/Д, которая обрабатывается
функцией ЕНД()
— в итоге, формула возвращает ИСТИНА и строка выводится.
Вывод уникальных строк
О выводе
уникальных
строк с помощью Расширенного фильтра можно
прочитать в этой статье
.