Что такое автофильтр и как с его помощью осуществлять выборку данных по запросу пользователя

Обновлено: 02.05.2024

Как найти Автофильтр?

Чтобы включить фильтр выделите любую ячейку таблицы, затем на вкладке Данные в группе Сортировка и фильтр выберите команду Фильтр ( Данные/ Сортировка и фильтр/ Фильтр ) или нажмите сочетание клавиш CTRL+SHIFT+L . В строке заголовка появятся стрелки раскрытия фильтра.

Как работать с фильтрами в Excel?

  1. Выберите любую ячейку в диапазоне данных.
  2. Выберите Фильтр> данных.
  3. Щелкните стрелку в заголовке столбца.
  4. Выберите текстовые фильтры или Числовое фильтры, а затем выберите сравнение, например Между.
  5. Введите условия фильтрации и нажмите кнопку ОК.

Где находится расширенный фильтр в Excel?

Как назначение фильтров в таблицах?

Фильтрация — это полезный способ отображения только тех данных, которые должны отображаться в базах данных Access. С помощью фильтров можно отобразить определенные записи в форме, отчете, запросе или таблице или напечатать только определенные записи из отчета, таблицы или запроса.

Как произвести поиск данных с помощью фильтра?

  1. Выделите данные, которые нужно отфильтровать.
  2. Щелкните Данные > Фильтр.
  3. Щелкните стрелку .
  4. Выбор определенных значений: Чтобы очистить все флажки, сберем (выбрать все), а затем уберем флажки для определенных значений, которые вы хотите видеть.

Какие фильтры используются в Excel?

Excel содержит два варианта фильтрации: автофильтр и усиленный фильтр. Автофильтр осуществляет быструю фильтрацию списка в соответствии с содержимым ячеек или в соответствии с простым критерием поиска.

Как удалить все фильтры в Excel?

  1. Нажмите на кнопку со стрелкой в столбце, с которого необходимо снять фильтр. В нашем примере мы удалим фильтр со столбца D.
  2. Появится меню фильтра.
  3. Выберите пункт Удалить фильтр из столбца… .
  4. Фильтр будет удален, а скрытые ранее данные вновь отобразятся на листе Excel.

Как поставить фильтр на клавиатуре?

  1. Выделите ячейки, которые нужно отфильтровать. .
  2. Нажмите CTRL+SHIFT+L. .
  3. Выделите ячейку с раскрывающимся меню Автофильтр. .
  4. С помощью клавиш со стрелками и клавиши TAB выберите нужные параметры фильтрации. .
  5. После выбора нажмите ввод, чтобы применить фильтр.

Как отфильтровать таблицу в Excel по нескольким значениям?

  1. Выберите любую ячейку в диапазоне данных.
  2. Выберите данные > Фильтр .
  3. Щелкните стрелку в заголовке столбца.
  4. Выберите текстовые фильтры или Числовые фильтры, а затем выберите Сравнение, например между .
  5. Введите условия фильтрации и нажмите кнопку ОК .

Как в Excel сделать строку поиска в фильтре?

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

Как сделать двойной фильтр в Эксель?

Как отфильтровать по двум столбцам?

  1. Нажмите Предприятие > Суперфильтр, см. снимок экрана:
  2. В появившемся диалоговом окне Super Filter: (1.) .
  3. После завершения критериев нажмите Фильтр кнопку, и данные были отфильтрованы одновременно по нескольким критериям столбца, см. снимок экрана:

В чем отличие Автофильтра от расширенного фильтра?

Теперь, переходим к расширенному фильтру. Он отличается от автофильтра более тонкой настройкой, но и большим выбором при фильтрации данных. В частности: 1) Задает столько условий, сколько необходимо.

Что такое расширенный фильтр?

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

Фильтрация данных в списке ≈ это выбор данных по заданному критерию (условию). Осуществляется эта операция с помощью команды Данные, Фильтр. Имеются две разновидности этой команды, задаваемые параметрами: Автофильтр и Расширенный фильтр. Фильтрация данных может осуществляться с помощью специальной формы, которая вызывается командой Данные, Форма.

Автофильтрация

Команда Данные, Фильтр, Автофильтр для каждого столбца строит список значений, и который используется для задания условий фильтрации (рис. 3.36). В каждом столбце появляется кнопка списка, нажав которую можно ознакомиться со списком возможных критериев выбора.


Рис. 3.36. Список с автофильтром

По отдельному столбцу в списке критериев отбора предусматриваются следующие варианты:

  • все ≈ выбираются все записи без ограничений;
  • первые 10 ≈ данный пункт позволяет во вновь появляющемся диалоговом окне ╚Наложение условия по списку╩ (рис.3.37) выбрать определенное количество наибольших или наименьших элементов списка, которые необходимо отобразить;
  • значения ≈ будут выбраны только те записи, которые в данном столбце содержат указанное значение;


Рис. 3.37. Диалоговое окно ╚Наложение условия по списку╩

  • условие ≈ выбираются записи по формируемому пользователем условию в диалоговом окне ╚Пользовательский фильтр╩ (рис.3.3 8).


Рис. 3.38. Диалоговое окно ╚Пользовательский фильтр╩

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

Каждая часть условия включает:

    оператор отношения: = (равно), <> (не равно), > (больше), >= (больше или равно), =п* ≈ отобрать все записи, которые содержат код предмета, начинающийся с буквы п;

>= п1 И п1 ≈ отобрать все записи, которые не содержат кода предмета п1.

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

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

Команда Данные, Фильтр, Расширенный фильтр обеспечивает использование двух типов критериев для фильтрации записей списка:

  • критерий сравнения;
  • вычисляемый критерий.

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

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

Технология использования расширенного фильтра состоит из двух этапов:

этап 1 ≈ формирование области критериев поиска;

этап 2 ≈ фильтрация записей списка.

Э т а п 1. Формирование диапазона условий для расширенного фильтра. Область критериев поиска содержит строку имен столбцов и произвольное число строк для задания поисковых условий. Рекомендуется скопировать первую строку с именами полей из области списка в область, где будет формироваться критерий отбора записей (на тот же или другой лист, в другую рабочую книгу). Далее ненужные имена столбцов из диапазона условий можно удалить.

Критерий сравнения формируется при соблюдении следующих требований:

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

Правила формирования множественного критерия:

1. Если критерии (условия) указываются в каждом столбце на одной строке, то они считаются связанными условием И .

2. Если условия записаны в нескольких строках, то они считаются связанными условием ИЛИ.

Пример. Условие выбора записей о сдаче экзаменов студентами группы 133 по предмету п1 на оценки 4 или 5 можно записать несколькими способами: 1-й способ. Множественный критерий сравнения ≈ все условия находятся в одной строке, связка И. Номер группы, код предмета заданы как точные значения, оценка≈ оператор сравнения со значением константы.

2'й способ. Множественный критерий сравнения ≈ все условия (точи значения полей) находятся в одной строке, столбец Оценка используется дважды, связка И.

3-й способ. Множественный критерий сравнения ≈ условия (точные значения полей) записаны в двух строках, связка ИЛИ.

Вычисляемый критерий представляет собой формулу, записанную в строке области╩ условий, которая возвращает логическое значение ИСТИНА или ЛОЖЬ. Формула строится с использованием: адресов ячеек, встроенных функций, констант различных типов (числе текст, дата, логическая константа), операторов отношения.

Внимание! Имя столбца, содержащего формулу вычисляемого критерия, должно отличаться от имени столбца в списке.

Пример. Выбрать записи о сдаче экзаменов студентами группы 133 с оценкой ниже общего среднего балла или записи с оценкой 5:

После завершения ввода вычисляемого критерия в ячейке должна появиться логическая константа ИСТИНА или ЛОЖЬ ≈ результат применения сформированного вычисляемого критерия по отношению к первой записи списка; формулу критерия можно просмотреть лишь в строке формул. Этот же критерий можно было записать по-другому:

Э т а п 2 .Фильтрация записей расширенным фильтром. После подготовки области критерия курсор устанавливается в список и выполняется команда Данные, Фильтр, Расширенный фильтр (рис. 3.39).

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

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


Рис. 3.39. Диалоговое окно ╚Расширенный фильтр╩

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

Для снятия действия условий фильтрации выполняется команда Данные, Фильтр, Отобразить все.

Фильтрация с помощью формы данных

ППП Excel 97 позволяет работать с отдельными записями списка с помощью экранной формы (рис.3,40). Основные операции обработки записей списка: последовательный просмотр записей, поиск или фильтрация записей по критериям сравнения, создание новых и удаление существующих записей списка,

При установке курсора в область списка и выполнении команды Данные, Форма на экран выводится форма, в составе которой имена полей ≈ названия столбцов списка.

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

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

С помощью экранной формы задаются критерии сравнения. Для этого нажимаете╩ кнопка , форма очищается для т да условий поиска в полях формы с помои кнопки , а название кнопки заменяется на название . По ввода критериев сравнения нажимаются кнопки или для просмотра отфильтрованных записей в нужном направлении. 1И просмотре можно удалять и корректировать отфильтрованные записи списка. Для возврата к форме нажимается кнопка , для выхода из формы ≈ кнопка .


Рис.3.40. Экранная форма для работы со списком записей

ЗАДАНИЕ 1

Выберите данные из списка по критерию отбора, используя Автофильтр.

  • Проведите подготовительную работу ≈ переименуйте новый лист на Автофильтр и скопируйте на него исходную базу данных (см рис, 3.35).
  • Выберите из списка данные, используя критерий:
  1. для преподавателя ≈ а1 выбрать сведения о сдаче экзамена на положительную оценку,
  2. вид занятий ≈ л.
  • Отмените результат автофильтрации.
  • Выберите из списка данные, используя критерий: для группы 133 получить сведения о сдаче экзамена по предмету п1 на оценки 3 и 4.
  • Отмените результат автофильтрации.
  • Выполните несколько самостоятельных заданий, задавая произвольные критерии отбора записей.

ТЕХНОЛОГИЯ РАБОТЫ

  1. Проведите подготовительную работу:
  • переименуйте ЛистЗ ≈Автофильтр
  • выделите блок ячеек исходного списка, начиная от имен полей и вниз до конца записей таблицы, и скопируйте их на лист Автофильтр.
  1. Выберите из списка данные, используя критерий ≈ для преподавателя ≈ а1 выбрать сведения о сдаче экзамена на положительную оценку, вид занятий ≈ л. Для этого:
  • установите курсор в область списка и выполните команду Данные, Фильтр, Автофильтр; в каждом столбце появятся кнопки списка;
  • сформируйте условия отбора записей:
  • в столбце Таб. № препод. нажмите кнопку , из списка условий отбора выберите а1;
  • в столбце Оценка нажмите кнопку, из списка условий отбора выберите Условие и в диалоговом окне сформируйте условие отбора >2;
  • в столбце Вид занятия нажмите кнопку , из списка условий отбора выберите л.
  1. Отмените результат автофильтрации, установив указатель мыши в список и выполнив команду Данные, Фильтр, Автофильтр.

4. Выберите из списка данные, используя критерий ≈ для группы 133 получить сведения о сдаче экзамена по предмету п1 на оценки 3 и 4. Для этого воспользуйтесь аналогичной п. 3 технологией фильтрации

5.Отмените результат автофильтрации, установив указатель мыши в список и выполнив команду Данные╩ Фильтр, Автофильтр.

6.Выполните несколько самостоятельных заданий, задавая произвольные критерии отбора записей.

ЗАДАНИЕ 2

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

1.Проведите подготовительную работу ≈ переименуйте новый лист на Расширенный фильтр и скопируйте на него исходную базу данных рис.3.35).

2. Скопируйте имена полей списка в другую область на том же листе.

3. Сформируйте в области условий отбора Критерий сравнения ≈ о сдаче экзаменов! студентами группы 133 по предмету п1 на оценки 4 или 5.

4.Произведите фильтрацию записей на том же листе.

5.Придумайте собственные критерии отбора по типу Критерий сравнения и проведите фильтрацию на том же листе.

6.Сформируйте в области условий отбора Вычисляемый критерий ≈ для каждого пре╜подавателя выбрать сведения о сдаче студентами экзамена на оценку выше средней, вид занятий ≈ л; результат отбора поместите на новый рабочий лист.

7.Произведите фильтрацию записей на новом листе.

8.Придумайте собственные критерии отбора по типу Вычисляемый критерий и поместите результаты фильтрации на выбранном ранее листе.

ТЕХНОЛОГИЯ РАБОТЫ

1. Проведите подготовительную работу:

  • переименуйте Лист4Расширенный фильтр
  • выделите блок ячеек исходного списка, начиная от имен полей и вниз до конца записей таблицы, и скопируйте их на лист Расширенный фильтр.

Этап 1. Формирование диапазона условий по типу Критерий сравнения

2. Скопируйте все имена полей списка (см. рис. 3.35) в другую область на том же листе например установив курсор в ячейку J1. Это область, где будут формироваться условия отбора записей. Например, блок ячеек J1:O1 ≈ имена полей области критерия, J2:О5 ≈ область значений критерия.

3. Сформируйте в области условий отбора Критерий сравнения ≈ о сдаче экзаменов студентами группы 133 по предметуп1 на оценки 4 или 5. Для этого в первую строку после имен полей введите:

  • в столбец Номер группы ≈ точное значение ≈ 133;
  • в столбец Код предмета ≈ точное значения ≈ п1;
  • в столбец Оценка≈условие≈>3

Этап 2. Фильтрация записей расширенным фильтром.

4. Произведите фильтрацию записей на том же листе:

  • установите курсор в область списка (базы данных);
  • выполните команду Данные, Фильтр, Расширенный фильтр;
  • в диалоговом окне ╚Расширенный фильтр╩ с помощью мыши задайте параметры, например;

Исходный диапазон: A1:G17

Диапазон условия: J1:O5

Поместить результат в диапазон: J6

5. Придумайте собственные критерии отбора по типу Критерий сравнения и проведите фильтрацию на том же листе, соблюдая технологию п.З и п.4.

Этап 1. Формирование диапазона условий по типу Вычисляемый критерий.

6. Сформируйте в области условий отбора Вычисляемый критерий ≈ для каждого пре╜подавателя выберите сведения о сдаче студентами экзамена на оценку выше средней, вид занятий ≈ л; результат отбора поместите на новый рабочий лист. Для этого:

  • в столбец Вид занятия введите точное значения ≈ букву л;
  • переименуйте в области критерия столбец Оценка, например, на имя Оценка 2:
  • в столбец Оценка1 введитевычисляемый критерий, например, вида

где G2 ≈ адрес первой клетки с оценкой в исходном списке,

$G$2 : $G$I7 ≈ блок ячеек с оценками,

СРЗНАЧ ≈ функция вычисления среднего значения.

Этап 2. Фильтрация записей расширенным фильтром.

7. Произведите фильтрацию записей на новом листе;

  • установите курсор в область списка (базы данных);
  • выполните команду Данные, Фильтр, Расширенный фильтр;
  • в диалоговом окне ╚Расширенный фильтр╩ с помощью мыши задайте параметры, например:

Исходный диапазон: A1:G17

Диапазон условия: Л:05

Поместить результат в диапазон: перейдите на новый лист и щелкните мышью в любой ячейке

8. Придумайте собственные критерии отбора по типу Вычисляемый критерий и поместите результаты фильтрации на выбранном ранее листе, соблюдая технологию п.6 и п.7.

ЗАДАНИЕ 3

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

1. Проведите подготовительную работу ≈ переименуйте новый лист на Форма и скопируйте на него исходную базу данных (см. рис.3,35).

2. Просмотрите записи списка с помощью формы данных, добавьте новые.

3. Сформируйтеусловие отбора с помощью формы данных - для преподавателя выбрать сведения о сдаче студентами экзамена на положительную оценку, вид занятий ≈ л.

4. Просмотрите отобранные записи.

5. Сформируйте собственные условия отбора записей и просмотрите их,

ТЕХНОЛОГИЯ РАБОТЫ

1. Проведите подготовительную работу:

  • переименуйте Лист5Форма;
  • выделите блок ячеек исходного списка, начиная от имен полей и вниз до конца записей таблицы, и скопируйте их на лист Форма;
  • установите курсор в область списка и выполните команду Данные, Форма,

2. Просмотрите записи списка и внесите необходимые изменения с помощью кнопки и . С помощью кнопки добавьте новые записи.

3. Сформируйте условие отбора ≈ для преподавателя ≈ а1 выбрать сведения о сдаче студентами экзамена на положительную оценку, вид занятий ≈ л. Для этого:

  • нажмите кнопку , название которой поменяется на ;
  • в пустых строках имен полей списка введите критерии:
  • в строку Таб № препод. введите а1
  • в строку Вид занятия введите л;
  • в строку Оценка введите условие > 2

4. Просмотрите отобранные записи, нажимая на кнопку или .

5. Аналогично сформируйте собственные условия отбора записей и просмотрите их.

Выборка в Microsoft Excel

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

Выполнение выборки

Выборка данных состоит в процедуре отбора из общего массива тех результатов, которые удовлетворяют заданным условиям, с последующим выводом их на листе отдельным списком или в исходном диапазоне.

Способ 1: применение расширенного автофильтра

Наиболее простым способом произвести отбор является применение расширенного автофильтра. Рассмотрим, как это сделать на конкретном примере.

Включение фильтра в Microsoft Excel

Включение фильтра через вкладку Данные в Microsoft Excel

Переход в настраиваемый фильтр в Microsoft Excel

  • равно;
  • не равно;
  • больше;
  • больше или равно;
  • меньше.

Пользвательский фильтр в Microsoft Excel

Результаты фильтрации в Microsoft Excel

Установка верхней границы в пользовательском фильтре в Microsoft Excel

Результаты фильтрации по нижней и верхней границе в Microsoft Excel

Пользвательский фильтр для формата даты в Microsoft Excel

Удаление фильтра с одного из столбцов в Microsoft Excel

Переход к текстовой фильтрации в Microsoft Excel

Пользвательский фильтр для формата текста в Microsoft Excel

Очистка фильтра в Microsoft Excel

Очистка фильтра во вкладке Главная в Microsoft Excel

При использовании любого из двух вышеуказанных методов фильтрация будет удалена, а результаты выборки — очищены. То есть, в таблице будет показан весь массив данных, которыми она располагает.

Фильтр сброшен в Microsoft Excel

Урок: Функция автофильтр в Excel

Способ 2: применение формулы массива

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

    На том же листе создаем пустую таблицу с такими же наименованиями столбцов в шапке, что и у исходника.

Создание пустой таблицы в Microsoft Excel

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

Критерий1.

Пример4.

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

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

Пример5.

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

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

Автофильтр Excel VBA: полное руководство с примерами

Многие функции Excel также доступны для использования в VBA - и Автофильтр метод - одна из таких функций.

А если вам нужна более продвинутая версия, в Excel также есть расширенный фильтр.

Тогда зачем даже использовать автофильтр в VBA?

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

Вам следует использовать VBA Autofilter, если вы хотите фильтровать данные как часть вашей автоматизации (или если это помогает вам сэкономить время, ускоряя фильтрацию данных).

Например, предположим, что вы хотите быстро отфильтровать данные на основе раскрывающегося списка, а затем скопировать эти отфильтрованные данные на новый рабочий лист.

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

В таком сценарии использование VBA Autofilter может ускорить работу и сэкономить время.

Примечание: Я расскажу об этом примере (о фильтрации данных на основе раскрывающегося списка и копировании на новый лист) позже в этом руководстве.

Синтаксис автофильтра Excel VBA

  • Выражение: Это диапазон, к которому вы хотите применить автоматический фильтр.
  • Поле: [Необязательный аргумент] Это номер столбца, который вы хотите отфильтровать. Это считается слева в наборе данных. Поэтому, если вы хотите отфильтровать данные на основе второго столбца, это значение будет 2.
  • Критерии1: [Необязательный аргумент] Это критерии, на основе которых вы хотите отфильтровать набор данных.
  • Оператор: [Необязательный аргумент] Если вы также используете критерий 2, вы можете объединить эти два критерия на основе Оператора. Для использования доступны следующие операторы: xlAnd, xlOr, xlBottom10Items, xlTop10Items, xlBottom10Percent, xlTop10Percent, xlFilterCellColor, xlFilterDynamic, xlFilterFontColor, xlFilterIcon, xlFilterValues
  • Критерии2: [Необязательный аргумент] Это второй критерий, по которому вы можете фильтровать набор данных.
  • VisibleDropDown: [Необязательный аргумент] Вы можете указать, хотите ли вы, чтобы раскрывающийся значок фильтра отображался в отфильтрованных столбцах или нет. Этот аргумент может иметь значение ИСТИНА или ЛОЖЬ.

Все остальные аргументы, кроме Expression, необязательны.

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

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

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

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

Теперь давайте посмотрим на несколько примеров использования Excel VBA Autofilter, которые прояснят его использование.

Пример: фильтрация данных на основе текстового условия


Приведенный выше код относится к Sheet1, а внутри него - к A1 (которая является ячейкой в ​​наборе данных).

Обратите внимание, что здесь мы использовали Field: = 2, поскольку столбец элемента - это второй столбец в нашем наборе данных слева.

Теперь, если вы думаете - зачем мне это делать с помощью кода VBA. Это легко сделать с помощью встроенного фильтра.

Если это все, что вы хотите сделать, лучше использовать встроенную функцию фильтра.

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

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

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

Пример: несколько критериев (И / ИЛИ) в одном столбце


Следующий код сделает это:

Обратите внимание, что здесь я использовал XLOR оператор.

Это указывает VBA использовать оба критерия и фильтровать данные, если выполняется какой-либо из двух критериев.

Точно так же вы также можете использовать критерий И.

Например, если вы хотите отфильтровать все записи, в которых количество больше 10, но меньше 20, вы можете использовать следующий код:

Пример: несколько критериев с разными столбцами

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


С помощью автофильтра вы можете фильтровать несколько столбцов одновременно.

Пример: отфильтровать 10 лучших записей с помощью метода автофильтрации

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


Ниже приведен код, который предоставит вам 10 лучших записей (на основе столбца количества):

В приведенном выше коде я использовал ActiveSheet. Вы можете использовать имя листа, если хотите.

Обратите внимание, что в этом примере, если вы хотите получить 5 лучших элементов, просто измените число в Criteria1: = ”10 ″ с 10 до 5.

Итак, для топ-5 элементов код будет следующим:

Это может выглядеть странно, но независимо от того, сколько топовых элементов вы хотите, значение Operator всегда остается xlTop10Items.

Точно так же приведенный ниже код даст вам 10 нижних элементов:

А если вам нужны 5 нижних элементов, измените число в Criteria1: = ”10 ″ с 10 до 5.

Пример: отфильтруйте 10 процентов лучших с помощью метода автофильтрации

Предположим, у вас есть тот же набор данных (который использовался в предыдущих примерах).

Ниже приведен код, который предоставит вам первые 10 процентов записей (в зависимости от столбца количества):

В нашем наборе данных, поскольку у нас есть 20 записей, он вернет 2 верхние записи (что составляет 10% от общего числа записей).

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

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


Пример: копирование отфильтрованных строк на новый лист

Если вы хотите не только фильтровать записи на основе критериев, но и копировать отфильтрованные строки, вы можете использовать следующий макрос.

Он копирует отфильтрованные строки, добавляет новый лист, а затем вставляет эти скопированные строки в новый лист.

Приведенный выше код проверяет, есть ли отфильтрованные строки в Sheet1 или нет.

И если есть отфильтрованные строки, он скопирует их, вставит новый рабочий лист и вставит эти строки на этот только что вставленный рабочий лист.

Пример: фильтрация данных на основе значения ячейки

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

Что-то вроде того, что показано ниже:

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

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

Ниже приведен код, который это сделает:

Это код события рабочего листа, который выполняется только тогда, когда на листе есть изменение, а целевая ячейка - B2 (где у нас есть раскрывающийся список).

Этот код НЕ помещается в модуль.

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

Вот шаги, чтобы поместить этот код в окно кода рабочего листа:

  1. Откройте редактор VB (сочетание клавиш - ALT + F11).
  2. На панели Project Explorer дважды щелкните имя рабочего листа, в котором вы хотите использовать эту функцию фильтрации.
  3. В окне кода рабочего листа скопируйте и вставьте приведенный выше код.
  4. Закройте редактор VB.

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

Это код события рабочего листа, который выполняется только тогда, когда на листе есть изменение, а целевая ячейка - B2 (где у нас есть раскрывающийся список).

Включение и выключение автофильтра Excel с помощью VBA

При применении автофильтра к диапазону ячеек некоторые фильтры могут уже быть на месте.

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

Этот код проверяет все листы и удаляет все примененные фильтры.

Если вы не хотите отключать фильтры для всего листа, а только для определенного набора данных, используйте следующий код:

Приведенный выше код проверяет, установлены ли уже фильтры или нет.

Если фильтры уже применены, он их удаляет, иначе ничего не делает.

Точно так же, если вы хотите включить автофильтр, используйте следующий код:

Убедитесь, что автофильтр уже применен

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


Показать все данные

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

Приведенный выше код проверяет, имеет ли FilterMode значение TRUE или FALSE.

Если это правда, это означает, что был применен фильтр и он использует метод ShowAllData для отображения всех данных.

Обратите внимание, что это не удаляет фильтры. Значки фильтров по-прежнему доступны для использования.

Использование автофильтра на защищенных листах

По умолчанию, когда вы защищаете лист, фильтры не работают.

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

Для этого отметьте опцию Использовать автофильтр при защите листа.


Хотя это работает, когда у вас уже есть фильтры, если вы попытаетесь добавить автофильтры с помощью кода VBA, это не сработает.

Поскольку лист защищен, он не позволит запускать какие-либо макросы и вносить изменения в автофильтр.

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

Ниже приведен код, который защитит лист, но в то же время позволит вам использовать в нем фильтры, а также макросы VBA.

Этот код необходимо поместить в окно кода ThisWorkbook.

Вот шаги, чтобы поместить код в окно кода ThisWorkbook:

Как только вы откроете книгу и включите макросы, он автоматически запустит макрос и защитит Sheet1.

Однако перед этим он укажет EnableAutoFilter = True, что означает, что фильтры будут работать и на защищенном листе.

Кроме того, он устанавливает для аргумента UserInterfaceOnly значение True. Это означает, что пока рабочий лист защищен, код макроса VBA будет продолжать работать.

Вам также могут понравиться следующие руководства по VBA:

Выборка в Microsoft Excel

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

Выполнение выборки

Выборка данных состоит в процедуре отбора из общего массива тех результатов, которые удовлетворяют заданным условиям, с последующим выводом их на листе отдельным списком или в исходном диапазоне.

Способ 1: применение расширенного автофильтра

Наиболее простым способом произвести отбор является применение расширенного автофильтра. Рассмотрим, как это сделать на конкретном примере.

Включение фильтра в Microsoft Excel

Включение фильтра через вкладку Данные в Microsoft Excel

Переход в настраиваемый фильтр в Microsoft Excel

  • равно;
  • не равно;
  • больше;
  • больше или равно;
  • меньше.

Пользвательский фильтр в Microsoft Excel

Результаты фильтрации в Microsoft Excel

Установка верхней границы в пользовательском фильтре в Microsoft Excel

Результаты фильтрации по нижней и верхней границе в Microsoft Excel

Пользвательский фильтр для формата даты в Microsoft Excel

Удаление фильтра с одного из столбцов в Microsoft Excel

Переход к текстовой фильтрации в Microsoft Excel

Пользвательский фильтр для формата текста в Microsoft Excel

Очистка фильтра в Microsoft Excel

Очистка фильтра во вкладке Главная в Microsoft Excel

При использовании любого из двух вышеуказанных методов фильтрация будет удалена, а результаты выборки — очищены. То есть, в таблице будет показан весь массив данных, которыми она располагает.

Фильтр сброшен в Microsoft Excel

Урок: Функция автофильтр в Excel

Способ 2: применение формулы массива

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

    На том же листе создаем пустую таблицу с такими же наименованиями столбцов в шапке, что и у исходника.

Создание пустой таблицы в Microsoft Excel

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

Критерий1.

Пример4.

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

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

Пример5.

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

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

Читайте также: