Bugsp.ru

Ваша компьютерная помощь
7 просмотров
Рейтинг статьи
1 звезда2 звезды3 звезды4 звезды5 звезд
Загрузка...

Как работает, где используется расширенный фильтр в Excel

Как работает, где используется расширенный фильтр в Excel

Всегда казалось странным, что Excel не поддерживает регулярные выражения (кои в среде программистов зовут регулярками или регэкспами). С их помощью делают сложную сортировку и фильтрацию. Инструмент SeoTools plugin for Excel поддерживает регулярки, но, как и большинство дополнительных ресурсов для Excel, работает только на платформе ПК. Эта статья предназначена, в основном, для пользователей Mac (мы не рекламируем SeoTools).

Однако Excel предлагает альтернативу регэкспам, дающую похожий функционал и доступную на всех операционных системах. Она называется расширенный фильтр. И это более гибкий и лёгкий для изучения инструмент.

Немного теории

Всегда казалось странным, что Excel не поддерживает регулярные выражения (кои в среде программистов зовут регулярками или регэкспами). С их помощью делают сложную сортировку и фильтрацию. Инструмент SeoTools plugin for Excel поддерживает регулярки, но, как и большинство дополнительных ресурсов для Excel, работает только на платформе ПК. Эта статья предназначена, в основном, для пользователей Mac (мы не рекламируем SeoTools).

Однако Excel предлагает альтернативу регэкспам, дающую похожий функционал и доступную на всех операционных системах. Она называется расширенный фильтр. И это более гибкий и лёгкий для изучения инструмент.

Подготовка к работе с расширенным фильтром

Для дальнейшего нам нужен «подопытный» — база данных, над которой будем ставить эксперименты. Мы её оставили отформатированной под таблицу. Но это лишь для «красоты», поскольку применение расширенного фильтра удалит стандартные табличные фильтры. Последние можно включить повторно по окончании получения наборов данных.

Расширенный фильтр находится:

Для ПК: Данные > Сортировка и фильтр >Дополнительно.

Для Мак: Данные > Сортировка и фильтр > Фильтр > Расширенный фильтр

Пользователи Mac могут щёлкнуть ПКМ по таблице и выбрать нужный пункт из контекстного меню. На ПК такой возможности нет.

Небольшой совет

Базовые операторы

В дополнение к вышеупомянутым подстановочным знакам приведём некоторые операторы, необходимые при работе с фильтром:

  • = равенство, т.е. левая и правая часть должна совпасть: =билет [включит все ячейки, содержащие билет]
  • <> не равно, левая и правая часть не должны совпасть: <> https://www.aviasales.ru/mag* [исключаем данный адрес (блог)]
  • ‘ апостроф преобразует формулу в текст, если поставить его первым в ячейке: ‘=купить авиабилет
  • > больше чем: >500
  • >= больше или равно: B4-C4>=3
  • < меньше чем: C6<D6
  • <= меньше или равно: <=3

Заголовки

Набор условий

Вот три базовых конструкции для множественных условий:

ИЛИ: Если имеется несколько критериев и отбор нужен при совпадении хотя бы одного, используется логический оператор ИЛИ. При использовании таблицы условий это достигается расположением критериев вертикально на разных строках. Приведённый пример демонстрирует это:

Фильтр отберёт строки, для которых выполняется хотя бы одно из условий, т.е. либо Позиция меньше 11, либо Количество больше 1000. Оператор ИЛИ можно использовать и для одного столбца. В таком случае, все критерии располагаются друг под другом в целевом столбце.

И: Если необходимо одновременное соблюдение всех критериев, применяется логический оператор И. Для этого критерии располагают на одной строке.

Данный пример отбирает строки, где в столбце Ключевые слова встречается слово «купить» и нет слова «самолёт», также значение в Позиция больше 7, а значение в Среднемесячное количество больше 1000. Помним, что звёздочка обозначает любое количество знаков. В нашем примере будут отобраны строки, в которых встречается «купить» на любой позиции внутри ячейки. Обратите внимание, что отсев идёт по слову «самолёт», «самолет» вполне проходит.

Читайте так же:
Поиск по картинке онлайн

ОБА ОПЕРАТОРА: Можно блеснуть своим умением, применив оба оператора для установки критериев.

Такая таблица условий слегка обескураживает. Но этот фильтр всего лишь отбирает строки, в которых присутствует слово «купить» или «аэрофлот», при этом нет слов «самолет» или «самолёт», а значения последнего столбца больше 1000.

Примечание: Чтобы получить текст вместо формул, достаточно поставить апостроф перед операторами сравнения: ‘=купить или ‘<>самолёт. Майкрософт на своём сайте советует излишне сложный способ, предлагая заключить в двойные кавычки всё выражение, а перед ним ставить знак равенства: .

В файле справки самого Excel написано, что преобразовать формулу в текст можно, поставив первым знаком апостроф. Но на сайте предлагают весьма замысловатый путь.

Промежуток: Если необходимо получить данные, лежащие в некотором промежутке, можно применить следующий приём:

Эти условия отберут ключевые слова, для которых Среднемесячное количество находится в промежутке от 3700 до 10000.

Формулы: Это действительно мощный инструмент. Вместо таблицы критериев можно использовать формулы.

На примере сделано то же, что и в пункте Оба оператора. Только условия заданы с помощью формул.

Пара моментов, на которые необходимо обращать внимание при использовании формул:

  • Формула должна возвращать логическое значение ЛОЖЬ или ИСТИНА;
  • Заголовки над формулами должны отличаться от заголовков базы данных, можно вообще использовать пустую строку;
  • Формула должна ссылаться на ячейки первой строки под заголовками базы данных;
  • Ссылки на проверяемые ячейки базы должны быть относительными: вида С4, при абсолютных, таких как $C$4 — значение формул будет статичным, т.е. всегда ЛОЖЬ или всегда ИСТИНА.

Общий алгоритм

Пошаговый алгоритм работы с расширенным фильтром (полагаем, что данные и табличка условий уже подготовлена):

Шаг 1: Как упоминалось ранее, щёлкните любую ячейку внутри подготовленного набора данных и перейдите:

Данные > Сортировка и фильтр >Дополнительно для ПК. Для Мак: Данные > Сортировка и фильтр > Фильтр > Расширенный фильтр.

Откроется меню. Здесь приведён скриншот Excel 2013, но все пункты совпадают с Mac.

Шаг 2: Выберите, где будут размещаться отобранные данные. В большинстве случаев разумнее определить «другое место», это оставит неизменным исходный массив данных. Но выбор за вами.

Шаг 3: Для исходного диапазона Excel по умолчанию отбирает всю «таблицу». Это можно изменить, исключив ненужные столбцы. Но Excel позволит выбрать только прямоугольный диапазон. Чтобы отобрать столбцы с пропусками, введите названия целевых столбцов в свободных ячейках и укажите их адрес для диапазона вывода. В Дополнительных примерах приводится подробное пояснение.

Шаг 4: Для установки диапазона условий щёлкните внутри поля и выделите соответствующий диапазон на листе. Если нужно свернуть меню, нажмите на значок выбора диапазона справа от поля.

Шаг 5: Если выбран пункт Cкопировать результат в другое место, укажите адрес в поле Поместить результат в диапазон. Можно указать единичную ячейку, тогда она станет верхней левой выводимого диапазона, или выбрать ячейки с введёнными названиями нужных столбцов.

Шаг 6: Если нужны только уникальные записи поставьте флажок. К сожалению, большинство людей используют исключительно эту функцию.

Шаг 7: Жмём OK, смотрим на результат.

Шаг 8: Если список фильтровался на месте, можно сбросить фильтр, нажав Очистить, но это верно для ПК. Данный пункт расположен выше пункта Дополнительно. На Маке присутствует аналог — Очистить фильтр, но он недоступен. Ещё один довод в пользу фильтрации на новое место. Чтобы сбросить фильтр нужно отменить действие — нажать Command-Z, или подключить стандартный фильтр.

Читайте так же:
Создание группы ВКонтакте для бизнеса

Расширенный фильтр в Excel и примеры его возможностей

Вывести на экран информацию по одному / нескольким параметрам можно с помощью фильтрации данных в Excel.

Для этой цели предназначено два инструмента: автофильтр и расширенный фильтр. Они не удаляют, а скрывают данные, не подходящие по условию. Автофильтр выполняет простейшие операции. У расширенного фильтра гораздо больше возможностей.

Автофильтр и расширенный фильтр в Excel

Имеется простая таблица, не отформатированная и не объявленная списком. Включить автоматический фильтр можно через главное меню.

  1. Выделяем мышкой любую ячейку внутри диапазона. Переходим на вкладку «Данные» и нажимаем кнопку «Фильтр». Кнопка.
  2. Рядом с заголовками таблицы появляются стрелочки, открывающие списки автофильтра.

Если отформатировать диапазон данных как таблицу или объявить списком, то автоматический фильтр будет добавлен сразу.

Пользоваться автофильтром просто: нужно выделить запись с нужным значением. Например, отобразить поставки в магазин №4. Ставим птичку напротив соответствующего условия фильтрации:

Птичка.

Сразу видим результат:

Пример.

Особенности работы инструмента:

  1. Автофильтр работает только в неразрывном диапазоне. Разные таблицы на одном листе не фильтруются. Даже если они имеют однотипные данные.
  2. Инструмент воспринимает верхнюю строчку как заголовки столбцов – эти значения в фильтр не включаются.
  3. Допустимо применять сразу несколько условий фильтрации. Но каждый предыдущий результат может скрывать необходимые для следующего фильтра записи.

У расширенного фильтра гораздо больше возможностей:

  1. Можно задать столько условий для фильтрации, сколько нужно.
  2. Критерии выбора данных – на виду.
  3. С помощью расширенного фильтра пользователь легко находит уникальные значения в многострочном массиве.

Как сделать расширенный фильтр в Excel

Готовый пример – как использовать расширенный фильтр в Excel:

  1. Создадим таблицу с условиями отбора. Для этого копируем заголовки исходного списка и вставляем выше. В табличке с критериями для фильтрации оставляем достаточное количество строк плюс пустая строка, отделяющая от исходной таблицы. Таблица условий.
  2. Настроим параметры фильтрации для отбора строк со значением «Москва» (в соответствующий столбец таблички с условиями вносим = «=Москва»). Активизируем любую ячейку в исходной таблице. Переходим на вкладку «Данные» — «Сортировка и фильтр» — «Дополнительно». Дополнительно.
  3. Заполняем параметры фильтрации. Исходный диапазон – таблица с исходными данными. Ссылки появляются автоматически, т.к. была активна одна из ячеек. Диапазон условий – табличка с условием. Параметры.
  4. Выходим из меню расширенного фильтра, нажав кнопку ОК.

В исходной таблице остались только строки, содержащие значение «Москва». Чтобы отменить фильтрацию, нужно нажать кнопку «Очистить» в разделе «Сортировка и фильтр».

Как пользоваться расширенным фильтром в Excel

Рассмотрим применение расширенного фильтра в Excel с целью отбора строк, содержащих слова «Москва» или «Рязань». Условия для фильтрации должны находиться в одном столбце. В нашем примере – друг под другом.

Условие.

Заполняем меню расширенного фильтра:

Параметры1.

Получаем таблицу с отобранными по заданному критерию строками:

Пример2.

Выполним отбор строк, которые в столбце «Магазин» содержат значение «№1», а в столбце стоимость – «>1 000 000 р.». Критерии для фильтрации должны находиться в соответствующих столбцах таблички для условий. На одной строке.

Критерий.

Заполняем параметры фильтрации. Нажимаем ОК.

Пример3.

Оставим в таблице только те строки, которые в столбце «Регион» содержат слово «Рязань» или в столбце «Стоимость» — значение «>10 000 000 р.». Так как критерии отбора относятся к разным столбцам, размещаем их на разных строках под соответствующими заголовками.

Критерий1.

Применим инструмент «Расширенный фильтр»:

Пример4.

Данный инструмент умеет работать с формулами, что дает возможность пользователю решать практически любые задачи при отборе значений из массивов.

  1. Результат формулы – это критерий отбора.
  2. Записанная формула возвращает результат ИСТИНА или ЛОЖЬ.
  3. Исходный диапазон указывается посредством абсолютных ссылок, а критерий отбора (в виде формулы) – с помощью относительных.
  4. Если возвращается значение ИСТИНА, то строка отобразится после применения фильтра. ЛОЖЬ – нет.
Читайте так же:
Как уменьшить разрешение фотографии онлайн

Отобразим строки, содержащие количество выше среднего. Для этого в стороне от таблички с критериями (в ячейку I1) введем название «Наибольшее количество». Ниже – формула. Используем функцию СРЗНАЧ.

СРЗНАЧ.

Выделяем любую ячейку в исходном диапазоне и вызываем «Расширенный фильтр». В качестве критерия для отбора указываем I1:I2 (ссылки относительные!).

В таблице остались только те строки, где значения в столбце «Количество» выше среднего.

Пример5.

Чтобы оставить в таблице лишь неповторяющиеся строки, в окне «Расширенного фильтра» поставьте птичку напротив «Только уникальные записи».

Уникальные значения.

Нажмите ОК. Повторяющиеся строки будут скрыты. На листе останутся только уникальные записи.

Применение расширенного фильтра в Excel

Excel славится своим очень богатым функционалом. Фильтрация данных – одна из самых популярных функций этой программы. Безусловно, большинство пользователей с ней знакомы и активно используют ее при работе с большими документами. Однако, далеко не все догадываются о наличии расширенных возможностей этой функции.

Из этого руководства вы узнаете о возможностях расширенного фильтра в программе Эксель, а также научитесь применять этот полезный инструмент.

Применение расширенного фильтра

Итак, у нас есть таблица с данными, которые требуется отфильтровать.

Применение расширенного фильтра

Для того, чтобы применить инструмент расширенного фильтра нужно выполнить следующие шаги.

  1. Первым делом потребуется создать вторую вспомогательную таблицу с условиями фильтра. Для ее создания необходимо скопировать шапку исходной таблицы и вставить во вспомогательную.
    Для наглядности поместим дополнительную таблицу сверху, рядом с основной. А также пометим ее, залив другим цветом (это делается для большей наглядности и не обязательно). Вспомогательную таблицу можно поместить абсолютно в любом месте документа, причем, вовсе не обязательно, чтобы она была на том же самом листе, где располагается основная таблица.Применение расширенного фильтра
  2. Затем приступим к заполнению вспомогательной таблицы данными, которые потребуются для работы. А нужны нам значения из основной таблицы, по которым необходимо отфильтровать данные. В нашем случае, мы хотим отобрать информацию по женскому полу и виду спорта – теннис.Применение расширенного фильтра
  3. Когда вспомогательная таблица готова, можно приступать к следующему шагу. Поместив курсор на любую ячейку начальной или вспомогательной таблицы, в основном меню программы кликните по вкладке «Данные», выберите из открывшегося блока инструментов “Фильтр” пункт “Дополнительно”.Применение расширенного фильтра
  4. В результате должно появиться окно с настройками расширенного фильтра.Применение расширенного фильтра
  5. У данной функции есть два варианта применения: «Скопировать результаты в другое место» и «Фильтровать список на месте».Применение расширенного фильтраКак можно понять из названий, эти опции отвечают за то, каким образом будет выводится отфильтрованная информация. В первом варианте данные будут выведены отдельно в указанном вами месте документа. Во втором – непосредственно в исходной таблице. Выбираем подходящий вариант (в нашем случае оставляем фильтрацию на месте) и двигаемся дальше.

Как отменить расширенную фильтрацию

  1. Для того чтобы отменить расширенную (равно как и любую другую) фильтрацию, перейдите во вкладку “Главная”, в блоке инструментов “Фильтр” нажмите кнопку «Очистить».Как отменить расширенную фильтрацию
  2. Также, очистить фильтр можно и другим способом. Перейдите во вкладку “Главная”, щелкните по разделу “Редактирование”, далее раскройте список “Сортировка и фильтр” и выберите пункт “Очистить”.Как отменить расширенную фильтрацию
  3. Если вы создали отдельную новую таблицу с отфильтрованными данными в новом месте, очистка фильтров не удалит ее, и сделать это нужно будет вручную.Как отменить расширенную фильтрацию
Читайте так же:
Как поменять пароль на Айфоне

Заключение

Итак, мы пошагово разобрали, каким образом пользоваться расширенной фильтрацией данных в таблице Эксель. Для этого нам всего лишь потребуется новая вспомогательная таблица с условиями фильтрации. Несмотря на то, что данный способ несколько сложнее обычной фильтрации, он позволяет сразу отфильтровать данные по нескольким параметрами, что в определенных ситуациях является основным критерием успешного выполнения поставленной задачи в программе Excel.

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

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

advanced-filter1.png

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

Основа

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

advanced-filter2.png

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

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

advanced-filter3.png

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

advanced-filter5.png

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

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

advanced-filter6.png

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

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

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

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

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

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

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

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

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

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

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

advanced-filter3.png

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

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

advanced-filter7.png

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

advanced-filter8.png

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

голоса
Рейтинг статьи
Ссылка на основную публикацию