Фильтрация данных в Excel с использованием расширенного фильтра
Расширенный фильтр в Excel предоставляет более широкие возможности по управлению данными электронных таблиц. Он более сложен в настройках, но значительно эффективнее в действии.
С помощью стандартного фильтра пользователь Microsoft Excel может решить далеко не все поставленные задачи. Нет визуального отображения примененных условий фильтрации. Невозможно применить более двух критериев отбора. Нельзя фильтровать дублирование значений, чтобы оставить только уникальные записи. Да и сами критерии схематичны и просты. Гораздо богаче функционал расширенного фильтра. Присмотримся к его возможностям поближе.
Как сделать расширенный фильтр в Excel?
Расширенный фильтр позволяет фильтровать данные по неограниченному набору условий. С помощью инструмента пользователь может:
- задать более двух критериев отбора;
- скопировать результат фильтрации на другой лист;
- задать условие любой сложности с помощью формул;
- извлечь уникальные значения.
Алгоритм применения расширенного фильтра прост:
- Делаем таблицу с исходными данными либо открываем имеющуюся. Например, так:
- Создаем таблицу условий. Особенности: строка заголовков полностью совпадает с «шапкой» фильтруемой таблицы. Чтобы избежать ошибок, копируем строку заголовков в исходной таблице и вставляем на этот же лист (сбоку, сверху, снизу) или на другой лист. Вносим в таблицу условий критерии отбора.

- Переходим на вкладку «Данные» — «Сортировка и фильтр» — «Дополнительно». Если отфильтрованная информация должна отобразиться на другом листе (НЕ там, где находится исходная таблица), то запускать расширенный фильтр нужно с другого листа.

- В открывшемся окне «Расширенного фильтра» выбираем способ обработки информации (на этом же листе или на другом), задаем исходный диапазон (табл. 1, пример) и диапазон условий (табл. 2, условия). Строки заголовков должны быть включены в диапазоны.

- Чтобы закрыть окно «Расширенного фильтра», нажимаем ОК. Видим результат.

Верхняя таблица – результат фильтрации. Нижняя табличка с условиями дана для наглядности рядом.
Как пользоваться расширенным фильтром в Excel?
Чтобы отменить действие расширенного фильтра, поставим курсор в любом месте таблицы и нажмем сочетание клавиш Ctrl + Shift + L или «Данные» — «Сортировка и фильтр» — «Очистить».
Найдем с помощью инструмента «Расширенный фильтр» информацию по значениям, которые содержат слово «Набор».
В таблицу условий внесем критерии. Например, такие:

Программа в данном случае будет искать всю информацию по товарам, в названии которых есть слово «Набор».

Для поиска точного значения можно использовать знак «=». Внесем в таблицу условий следующие критерии:

Excel воспринимает знак «=» как сигнал: сейчас пользователь задаст формулу. Чтобы программа работала корректно, в строке формул должна быть запись вида: =»=Набор обл.6 кл.»
После использования «Расширенного фильтра»:

Теперь отфильтруем исходную таблицу по условию «ИЛИ» для разных столбцов. Оператор «ИЛИ» есть и в инструменте «Автофильтр». Но там его можно использовать в рамках одного столбца.
В табличку условий введем критерии отбора: =»=Набор обл.6 кл.» (в столбец «Название») и (в столбец «Цена»). То есть программа должна отобрать те значения, содержащие ТОЧНО информацию о товаре «Набор обл.6 кл.» ИЛИ информацию по товарам, цена которых ””;МАКС($A$1:A1)+1)’ >

Рядом с выпадающим списком ячейку введем следующую формулу: МАКС($B$1:$O$1);»»;ГПР(СТОЛБЕЦ(A:A);$B$1:$O$33;ПОИСКПОЗ($A$12;$A$4:$A$9;)+3))’ > Ее задача – выбирать из таблицы те значения, которые соответствуют определенному товару

Таким образом, с помощью инструмента «Выпадающий список» и встроенных функций Excel отбирает данные в строках по определенному критерию.
- Excel Formula Examples
- Создать таблицу
- Форматирование
- Функции Excel
- Формулы и диапазоны
- Фильтр и сортировка
- Диаграммы и графики
- Сводные таблицы
- Печать документов
- Базы данных и XML
- Возможности Excel
- Настройки параметры
- Уроки Excel
- Макросы VBA
- Скачать примеры
Горизонтальная фильтрация столбцов в Excel

Если вы не совсем начинающий пользователь, то, должно быть, уже заметили, что на 99% всё в Excel устроено для работы именно с вертикальными таблицами, где по столбцам идут параметры или атрибуты (поля), а в строчках располагается информация об объектах или событиях. Сводные таблицы, промежуточные итоги, копирование формул двойным щелчком — всё заточено именно под такой формат данных. Однако же, нет правил без исключений и с достаточно регулярной периодичностью меня спрашивают что делать если в работе попалась таблица с горизонтальной смысловой ориентацией, либо таблица, где строки и столбцы имеют одинаковый по смыслу вес:
И если сортировать по горизонтали Excel ещё умеет (командой Данные — Сортировка — Параметры — Сортировать столбцы), то с фильтрацией всё обстоит хуже — встроенных инструментов для фильтрации столбцов, а не строк в Excel просто нет. Так что, если перед вами встала такая задача, придется придумывать обходные пути разной степени сложности.
Способ 1. Новая функция ФИЛЬТР

Если вы работаете на новой версии Excel 2021 или в подписке Excel 365, то можно воспользоваться недавно появившейся функциейФИЛЬТР(FILTER), умеющей фильтровать исходные данные не только по строчкам, но и по столбцам. Для работы эта функция требует вспомогательный горизонтальный одномерный массив-строку, где каждое значение (ИСТИНА или ЛОЖЬ) определяет показываем ли мы или, наоборот, скрываем очередной столбец в таблице. Добавим такую строку над нашей таблицей и пропишем в ней статус каждого столбца:
- Допустим, мы всегда хотим отображать первый и последний столбцы (заголовки и итоги), поэтому для них в первой и последней ячейках массива зададим значение =ИСТИНА.
- Для остальных столбцов содержимое соответствующих ячеек будет формулой, которая проверяет нужное нам условие с помощью функций И (AND) или ИЛИ (OR) . Например, что итог находится в интервале от 300 до 500.
После этого останется лишь использовать функцию ФИЛЬТР для отбора столбцов, над которыми в нашем вспомогательном массиве есть значение ИСТИНА:
Аналогичным образом можно отфильтровать столбцы и по заданному списку. В этом случае поможет функция СЧЁТЕСЛИ (COUNTIF) , проверяющая количество вхождений очередного названия столбца из шапки таблицы в разрешённый список:
Способ 2. Сводная таблица вместо обычной
На текущий момент встроенная горизонтальная фильтрация по столбцам есть в Excel только в сводных таблицах, поэтому если нам удастся преобразовать нашу исходную таблицу в сводную, то можно будет воспользоваться этим встроенным функционалом. Для этого наша исходная таблица должна удовлетворять следующим условиям:
- иметь «правильную» однострочную строку заголовка без пустых и объединенных ячеек — иначе не получится построить сводную таблицу;
- не содержать дубликатов в подписях строк и столбцов — они «схлопнутся» в сводной в список только уникальных значений;
- содержать только числа в области значений (на пересечении строк и столбцов), т.к. сводная таблица обязательно применит к ним какую-то агрегирующую функцию (сумму, среднее и т.д.) и с текстом это не сработает
Если все эти условия выполняются, то для построения сводной, внешне похожей на нашу исходную таблицу, её (исходную) нужно будет развернуть из кросс-таблицы в плоскую (нормализовать). А это проще всего сделать с помощью надстройки Power Query — мощного инструмента преобразования любых данных, встроенного в Excel начиная с 2016-й версии.
- Преобразуем таблицу в «умную» динамическую командой Главная — Форматировать как таблицу (Home — Format as Table) .
- Загружаем в Power Query командой Данные — Из таблицы/диапазона (Data — From Table/Range).
- Фильтруем строку с итогами (в сводной будут свои итоги).
- Щёлкаем правой кнопкой мыши по заголовку первого столбца и выбираем Отменить свёртывание других столбцов (Unpivot Other Columns) . Все невыделенные столбцы преобразуются в два — имя сотрудника и значение его показателя.
- Фильтруем столбец с итогами, который ушёл в колонку Атрибут.
- Строим сводную таблицу по получившейся плоской (нормализованной) таблице командой Главная — Закрыть и загрузить — Закрыть и загрузить в. (Home — Close & Load — Close & Load to. ) .
Теперь можно пользоваться имеющейся в сводных таблицах возможностью фильтрации столбцов — привычными галочками напротив имён и пунктами Фильтры по подписи (Label Filters) или Фильтры по значению (Value Filters) :
И само собой при изменении данных нужно будет обновить наш запрос и сводную сочетанием клавиш Ctrl + Alt + F5 или командой Данные — Обновить всё (Data — Refresh All) .
Способ 3. Макрос на VBA
Все предыдущие способы, как легко заметить, представляют собой не совсем фильтрацию — мы не скрываем столбцы в исходном списке, а формируем новую таблицу с заданным набором столбцов из исходной. Если же требуется именно фильтровать (скрывать) столбцы в исходных данных, то нужен принципиально другой подход, а именно — макрос.
Предположим, что мы хотим «на лету» фильтровать столбцы, где имя менеджера в шапке таблицы удовлетворяет заданной в жёлтой ячейке А4 маске, например, начинается с буквы «А» (то бишь получить в результате «Анна» и «Артур»).
Как и в первом способе, сначала реализуем вспомогательный диапазон-строку, где в каждой ячейке формулой будет проверяться наш критерий и выводиться логические значения ИСТИНА или ЛОЖЬ для видимых и скрытых столбцов соответственно:
Затем добавим простой макрос. Щёлкните правой кнопкой мыши по ярлычку листа и выберите команду Исходный код (Source code) . В открывшееся окно скопируйте и вставьте следующий VBA-код:
Private Sub Worksheet_Change(ByVal Target As Range) If Target.Address = "$A$4" Then For Each cell In Range("D2:O2") If cell = True Then cell.EntireColumn.Hidden = False Else cell.EntireColumn.Hidden = True End If Next cell End If End Sub
Логика его работы следующая:
- В общем и целом — это обработчик события Worksheet_Change, т.е. этот макрос будет автоматически запускаться при любом изменении любой ячейки на текущем листе.
- Ссылка на изменённую ячейку всегда будет лежать в переменной Target.
- Сначала мы проверяем, что пользователь изменил именно ячейку с критерием (A4) — это делает оператор if.
- Затем запускается цикл For Each. для перебора серых ячеек (D2:O2) со значениями-индикаторами ИСТИНА / ЛОЖЬ для каждого столбца.
- Если значение очередной серой ячейки равно ИСТИНА (true), то столбец не скрывается, в противном случае — скрываем его (свойство Hidden).
Ссылки по теме
- Функции динамических массивов из Office 365: ФИЛЬТР, СОРТ и УНИК
- Сводная по таблице с многострочной шапкой с помощью Power Query
- Что такое макросы, как их создавать и использовать
Как сделать горизонтальный фильтр в excel
Доброе утро! Прошу помочь с макросом. Есть макрос, который применялся для другой таблицы. Макрос выполнял действие по фильтрации столбцов (горизонтально). Как можно применить его для моей таблицы, чтобы тоже была вертикальная фильтрация? Свой файл «post111» без макроса прилагаю.
Option Explicit
Public isHide As Boolean
Sub ColumnHideShow()
Dim rng As Range
Dim i As Long, iRow As Long, iClm As Long
Dim strKnopka As String
If Cells.Count <> Cells.SpecialCells(xlCellTypeVisible).Count Then
isHide = True
Else: isHide = False
End If
‘пропускаем ошибки
On Error Resume Next
‘отключаем обновление и контроль событий
Application.ScreenUpdating = False
Application.EnableEvents = False
‘снимаем текст в кнопке
‘ ActiveSheet.Shapes(«AutoShape 2»).Select
‘ strKnopka = Selection.Characters.Text
‘ Range(«A1»).Activate
‘отображаем все столбцы
If isHide = True Then
ActiveSheet.Range(Cells(, 1), Cells(1, Columns.Count)).EntireColumn.Hidden = False
strKnopka = «Скрыть столбцы»
‘скрываем пустые столбцы в используемом диапазоне данных
Else: With ActiveSheet.UsedRange
iRow = .Row + .Rows.Count — 1
iClm = .Column + .Columns.Count — 1
.Range(Cells(1, 1), Cells(1, iClm)).EntireColumn.Hidden = False
For i = iClm To 1 Step -1
Set rng = Range(Cells(1, i), Cells(Rows.Count, i)).Find(What:=»?*», LookIn:=xlFormulas, _
LookAt:=xlWhole, SearchOrder:=xlByColumns, MatchCase:=False, SearchFormat:=False)
If rng Is Nothing Then .EntireColumn(i).Hidden = True
strKnopka = «Отобразить все»
‘устанавливаем подпись кнопки
ActiveSheet.Shapes(«AutoShape 2»).Select
Selection.Characters.Text = strKnopka
Range(«A1»).Activate
Application.EnableEvents = True
Application.ScreenUpdating = True
End Sub
‘———————————
‘Sub ShowAll()
‘
‘On Error Resume Next
‘
‘ Application.ScreenUpdating = False
‘ Application.EnableEvents = False
‘
‘ Range(«B3»).ClearContents
‘
‘Range(Cells(7, 6), Cells(7, Columns.Count)).EntireColumn.Hidden = False
‘
‘ Application.EnableEvents = True
‘ Application.ScreenUpdating = True
‘
‘End Sub
Доброе утро! Прошу помочь с макросом. Есть макрос, который применялся для другой таблицы. Макрос выполнял действие по фильтрации столбцов (горизонтально). Как можно применить его для моей таблицы, чтобы тоже была вертикальная фильтрация? Свой файл «post111» без макроса прилагаю.
Option Explicit
Public isHide As Boolean
Sub ColumnHideShow()
Dim rng As Range
Dim i As Long, iRow As Long, iClm As Long
Dim strKnopka As String
If Cells.Count <> Cells.SpecialCells(xlCellTypeVisible).Count Then
isHide = True
Else: isHide = False
End If
‘пропускаем ошибки
On Error Resume Next
‘отключаем обновление и контроль событий
Application.ScreenUpdating = False
Application.EnableEvents = False
‘снимаем текст в кнопке
‘ ActiveSheet.Shapes(«AutoShape 2»).Select
‘ strKnopka = Selection.Characters.Text
‘ Range(«A1»).Activate
‘отображаем все столбцы
If isHide = True Then
ActiveSheet.Range(Cells(, 1), Cells(1, Columns.Count)).EntireColumn.Hidden = False
strKnopka = «Скрыть столбцы»
‘скрываем пустые столбцы в используемом диапазоне данных
Else: With ActiveSheet.UsedRange
iRow = .Row + .Rows.Count — 1
iClm = .Column + .Columns.Count — 1
.Range(Cells(1, 1), Cells(1, iClm)).EntireColumn.Hidden = False
For i = iClm To 1 Step -1
Set rng = Range(Cells(1, i), Cells(Rows.Count, i)).Find(What:=»?*», LookIn:=xlFormulas, _
LookAt:=xlWhole, SearchOrder:=xlByColumns, MatchCase:=False, SearchFormat:=False)
If rng Is Nothing Then .EntireColumn(i).Hidden = True
strKnopka = «Отобразить все»
‘устанавливаем подпись кнопки
ActiveSheet.Shapes(«AutoShape 2»).Select
Selection.Characters.Text = strKnopka
Range(«A1»).Activate
Application.EnableEvents = True
Application.ScreenUpdating = True
End Sub
‘———————————
‘Sub ShowAll()
‘
‘On Error Resume Next
‘
‘ Application.ScreenUpdating = False
‘ Application.EnableEvents = False
‘
‘ Range(«B3»).ClearContents
‘
‘Range(Cells(7, 6), Cells(7, Columns.Count)).EntireColumn.Hidden = False
‘
‘ Application.EnableEvents = True
‘ Application.ScreenUpdating = True
‘
‘End Sub
К сообщению приложен файл: post111.xlsx (19.4 Kb)
Сообщение отредактировал Serge_007 — Среда, 13.04.2022, 09:06
Сообщение Доброе утро! Прошу помочь с макросом. Есть макрос, который применялся для другой таблицы. Макрос выполнял действие по фильтрации столбцов (горизонтально). Как можно применить его для моей таблицы, чтобы тоже была вертикальная фильтрация? Свой файл «post111» без макроса прилагаю.
Option Explicit
Public isHide As Boolean
Sub ColumnHideShow()
Dim rng As Range
Dim i As Long, iRow As Long, iClm As Long
Dim strKnopka As String
If Cells.Count <> Cells.SpecialCells(xlCellTypeVisible).Count Then
isHide = True
Else: isHide = False
End If
‘пропускаем ошибки
On Error Resume Next
‘отключаем обновление и контроль событий
Application.ScreenUpdating = False
Application.EnableEvents = False
‘снимаем текст в кнопке
‘ ActiveSheet.Shapes(«AutoShape 2»).Select
‘ strKnopka = Selection.Characters.Text
‘ Range(«A1»).Activate
‘отображаем все столбцы
If isHide = True Then
ActiveSheet.Range(Cells(, 1), Cells(1, Columns.Count)).EntireColumn.Hidden = False
strKnopka = «Скрыть столбцы»
‘скрываем пустые столбцы в используемом диапазоне данных
Else: With ActiveSheet.UsedRange
iRow = .Row + .Rows.Count — 1
iClm = .Column + .Columns.Count — 1
.Range(Cells(1, 1), Cells(1, iClm)).EntireColumn.Hidden = False
For i = iClm To 1 Step -1
Set rng = Range(Cells(1, i), Cells(Rows.Count, i)).Find(What:=»?*», LookIn:=xlFormulas, _
LookAt:=xlWhole, SearchOrder:=xlByColumns, MatchCase:=False, SearchFormat:=False)
If rng Is Nothing Then .EntireColumn(i).Hidden = True
strKnopka = «Отобразить все»
‘устанавливаем подпись кнопки
ActiveSheet.Shapes(«AutoShape 2»).Select
Selection.Characters.Text = strKnopka
Range(«A1»).Activate
Application.EnableEvents = True
Application.ScreenUpdating = True
End Sub
‘———————————
‘Sub ShowAll()
‘
‘On Error Resume Next
‘
‘ Application.ScreenUpdating = False
‘ Application.EnableEvents = False
‘
‘ Range(«B3»).ClearContents
‘
‘Range(Cells(7, 6), Cells(7, Columns.Count)).EntireColumn.Hidden = False
‘
‘ Application.EnableEvents = True
‘ Application.ScreenUpdating = True
‘
‘End Sub
Как сделать горизонтальный фильтр в excel
Текст представляет собой адаптированный перевод статьи Annie Cushing (Энни Кашинг), оригинал — Advanced Filters: Excel’s Amazing Alternative To Regex. Курсивом выделяются названия пунктов меню для Excel 2013 и Mac 2011 или термины.
Всегда казалось странным, что 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
Заголовки
Чтобы начать работу с расширенным фильтром, скопируйте заголовки базы данных в удобное место вне самой базы. Как правило, отбор идёт по одному столбцу, но встречаются и более сложные случаи. На первых порах сделайте заголовки как в учебной базе. Критерии для отбора пишутся непосредственно под заголовками. Примеры приведены ниже.
Набор условий
Вот три базовых конструкции для множественных условий:
ИЛИ: Если имеется несколько критериев и отбор нужен при совпадении хотя бы одного, используется логический оператор ИЛИ. При использовании таблицы условий это достигается расположением критериев вертикально на разных строках. Приведённый пример демонстрирует это:

Фильтр отберёт строки, для которых выполняется хотя бы одно из условий, т.е. либо Позиция меньше 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, или подключить стандартный фильтр.
