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

➤ Формула Excel — Dynamically filter data by a selected cell value (no VBA)
➤ Другие встроенные методы Excel — используйте срезы или фильтры таблиц для интерактивной фильтрации
➤ Использовать условное форматирование — визуальное выделение записей, соответствующих выбранному значению
Фильтрация данных простым щелчком по значению ячейки с помощью кода VBA
VBA предлагает чрезвычайно эффективный способ фильтрации данных — достаточно дважды щёлкнуть по значению в ячейке, чтобы мгновенно применить фильтр, что значительно экономит время по сравнению со стандартными методами. Этот подход идеально подходит для пользователей, готовых включить макросы и желающих получить по-настоящему интерактивную фильтрацию одним щелчком. Следуйте приведённым ниже инструкциям:
1. Присвойте имя ячейке своему набору данных. Выделите весь диапазон данных, введите имя (например,)mydata) в Поле имени, расположенное над сеткой, и нажмите клавишу Enter. Именование диапазона позволяет коду VBA легко ссылаться на вашу таблицу.

2. Щёлкните правой кнопкой мыши по ярлыку листа, на котором нужно реализовать интерактивную фильтрацию, и в контекстном меню выберите Просмотреть код. В открывшемся окне Microsoft Visual Basic for Applications вставьте следующий код в область кода листа (а не в обычный модуль):
Код VBA: фильтрация данных щелчком по значению ячейки:
Option Explicit
Private Sub Worksheet_BeforeDoubleClick(ByVal Target As Range, Cancel As Boolean)
'Updateby Extendoffice
Dim rgTable As Range
Dim rgData As Range
Dim xColumn As Integer
On Error Resume Next
Application.ScreenUpdating = False
Set rgTable = Range("mydata")
With rgTable
Set rgData = .Offset(1, 0).Resize(.Rows.Count - 1, .Columns.Count)
If Not Application.Intersect(ActiveCell, rgData.Cells) Is Nothing Then
xColumn = ActiveCell.Column - .Column + 1
If ActiveSheet.AutoFilterMode = False Then
.AutoFilter
End If
If ActiveSheet.AutoFilter.Filters(xColumn).On = True Then
.AutoFilter Field:=xColumn
Else
.AutoFilter Field:=xColumn, Criteria1:=ActiveCell.Value
End If
End If
End With
Set rgData = Nothing
Set rgTable = Nothing
Application.ScreenUpdating = True
End Sub

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

Если фильтр работает не так, как ожидалось, убедитесь, что макросы включены, ваш диапазон данных содержит заголовки столбцов, а имя «mydata» охватывает всю область — включая эти заголовки. Обратите внимание: отменить действие с помощью Ctrl+Z невозможно, поэтому планируйте свою работу заранее. Чтобы сбросить фильтр, дважды щёлкните по тому же значению ещё раз или воспользуйтесь командой «Очистить фильтр» на ленте.
Подход с использованием VBA идеально подходит, когда требуется быстрая, многократная и интерактивная фильтрация структурированных наборов данных, таких как журналы, списки клиентов или записи о продажах. Основное ограничение заключается в том, что он требует от пользователей включения макросов и хотя бы базового понимания событий листа. Для сложных сценариев совместного использования или интеграции могут потребоваться альтернативные решения, описанные ниже.
Формула Excel — Dynamically filter data by a selected cell value (no VBA)
Этот метод использует встроенные формулы Excel (например, ФИЛЬТР) для создания интерактивной динамической фильтрации на основе выбранного или вручную введённого значения. Он идеально подходит пользователям, которые хотят обойтись без макросов, нуждаются в переносимости между книгами или работают в средах, где VBA недоступен. Функция ФИЛЬТР доступна в Excel 365, Excel 2021 и Excel Online.
Например, предположим, что у вас есть таблица данных в диапазоне A1:C11 с заголовками, и вы хотите фильтровать строки на основе значения, введённого в ячейку E1.
1. В пустой ячейке, где должны появиться отфильтрованные результаты (например,)G2), введите следующую формулу, чтобы отфильтровать строки по значению из ячейки E1 для первого столбца (A):
=FILTER(A2:C11, A2:A11=E1, "No results found") Эта формула отобразит только те строки, в которых значение в столбце A совпадает со значением, введённым или выбранным в ячейке E1. Если вы хотите фильтровать по другому столбцу, просто скорректируйте условие — например, B2:B11=E1.
2. Нажмите Enter, и отфильтрованные результаты появятся автоматически. При изменении значения в ячейке E1 область вывода будет мгновенно обновляться.
3. Можно связать ячейку E1 со списком проверки данных для фильтрации по выбору. Для этого перейдите к Данные > Проверка данных, выберите тип Список и укажите в поле «Источник» нужные значения. Это значительно упрощает выбор условия фильтрации — никакого ручного ввода текста!
Фильтр ячеек с формулами отличается высокой динамичностью и безопасностью, так как не требует включения макросов. Однако он не скрывает физически несоответствующие записи в исходной таблице и работает только в поддерживаемых версиях Excel. Пользователям старых версий Excel рекомендуется воспользоваться функцией расширенного фильтра (см. ниже).
Устранение неполадок: Если появляется ошибка #ВЫЧ! или другое сообщение об ошибке, убедитесь, что формула охватывает правильные диапазоны и что вы используете поддерживаемую версию Excel.
Совет: Если ваш набор данных объёмный, использование динамических массивов и формул может замедлить отклик книги, особенно если пересчёт фильтрации выполняется постоянно в режиме реального времени.
Другие встроенные методы Excel — использование срезов или фильтров таблиц для интерактивной фильтрации
Встроенные фильтры таблиц и срезы Excel обеспечивают удобный способ интерактивной фильтрации данных одним щелчком без написания кода или формул. Это особенно полезно для панелей мониторинга и сводных листов, где нетехническим пользователям необходимы интерактивные возможности.
Чтобы использовать этот метод, преобразуйте диапазон в таблицу:
- Выберите свой набор данных и перейдите к Вставка > Таблица. Убедитесь, что установлен флажок «Моя таблица содержит заголовки», и нажмите OK.
- На каждом заголовке таблицы появится интерактивная стрелка фильтра. Щёлкните по ней, выберите нужные значения — и Excel отфильтрует данные соответствующим образом.
- Для ещё более удобной фильтрации с помощью указателя мыши можно вставить срез: выделите таблицу и перейдите к Конструктор таблиц > Вставить срез, выберите столбцы, для которых нужен срез. При щелчке по элементам среза строки таблицы мгновенно отфильтруются.
Этот подход позволяет пользователям визуально и интерактивно фильтровать данные, поддерживая несколько столбцов и мгновенную фильтрацию. Срезы можно свободно форматировать и перемещать для улучшения дизайна панели мониторинга. Если у вас есть сводная таблица, срезы можно присоединить и даже синхронизировать между несколькими таблицами для унифицированной фильтрации.
Некоторые ограничения: срезы и фильтры таблиц требуют, чтобы диапазон был отформатирован как таблица. Большие наборы данных могут вызывать небольшие задержки, и фильтрация влияет только на видимые строки, а не на исходные данные.
Срезы не поддерживаются в Excel для веба на момент написания. Всегда проверяйте совместимость перед отправкой книг другим пользователям.
Использовать условное форматирование — визуальное выделение записей, соответствующих выбранному значению
Когда нужно визуально выделить записи, соответствующие определённому значению, не скрывая их, условное форматирование становится быстрым и удобным решением. Этот метод автоматически выделяет диапазон строк или ячейки, содержащие значение, выбранное или введённое во вспомогательную ячейку. Он идеально подходит для визуального анализа данных и отлично работает в совместных книгах, так как не требует использования кода или формул в ячейках.
Допустим, вы хотите выделить все строки, где данные из первого столбца совпадают со значением, указанным в ячейке E1.
- Выделите весь свой диапазон данных (например,)A2:C11).
- Перейдите к Главная > Использовать условное форматирование > Создать правило.
- Выберите Использовать формулу для определения форматируемых ячеек.
- Введите эту формулу (предполагая, что A2 — первая строка данных):
=$A2=$E$1 - Нажмите Формат, чтобы задать нужное форматирование заливки или шрифта, а затем нажмите OK во всех диалоговых окнах.
Теперь при каждом изменении ячейки E1 все соответствующие строки или ячейки в ваших данных мгновенно выделяются, привлекая внимание — без удаления или скрытия остальных записей.
Этот метод идеально подходит, когда вместо реального скрытия данных вам нужны визуальные подсказки — например, при совместной работе или демонстрации данных группе пользователей, которым важно видеть контекст. Для настоящего скрытия или извлечения данных воспользуйтесь одним из описанных выше методов фильтрации.
Ограничения: Условное форматирование лишь выделяет данные — оно не фильтрует и не скрывает остальную информацию. Для задач, где требуется только визуальное отображение, это простое и удобное в обслуживании решение.

Раскройте магию Excel с помощью KUTOOLS AI
- Интеллектуальное выполнение: Выполняйте операции с ячейками, анализируйте данные и создавайте диаграммы — всё это доступно через простые команды.
- Пользовательские формулы: создавайте индивидуальные формулы для оптимизации рабочих процессов.
- Программирование на VBA: Пишите и внедряйте код VBA легко и без усилий.
- Анализ формул: Легко разбирайтесь даже в самых сложных формулах.
- Перевод текста: Ломайте языковые барьеры прямо в ваших таблицах.
Другие связанные статьи:
Как изменить значение ячейки, просто щёлкнув по ней?
Как сортировать данные в столбце, просто щёлкнув по его заголовку в Excel?
Лучшие инструменты повышения продуктивности в Office
Раскройте весь потенциал Excel с помощью Kutools для Excel и ощутите эффективность как никогда раньше.Kutools для Excel предлагает более 300 расширенных функций для повышения продуктивности и Экономия времени.Нажмите здесь, чтобы получить нужную Вам функцию…
Office Tab добавляет в Office вкладки и значительно упрощает Вашу работу
- Включите редактирование и чтение во вкладках в Word, Excel, PowerPoint, Publisher, Access, Visio и Project.
- Открывайте и создавайте несколько документов во вкладках одного окна — вместо того чтобы использовать отдельные окна.
- Повышает вашу продуктивность на 50 % и экономит сотни кликов мышью каждый день!
Все надстройки Kutools — один установщик
Kutools for Office — набор надстроек для Excel, Word, Outlook и PowerPoint, а также Office Tab Pro, идеально подходящий командам, работающим с разными приложениями Office.
- Единый комплект— надстройки для Excel, Word, Outlook и PowerPoint + Office Tab Pro
- Один установщик, одна лицензия— настройка занимает считанные минуты (готово для MSI)
- Лучше работать вместе— оптимизированная продуктивность во всех приложениях Office
- 30-дневная полнофункциональная пробная версия— без регистрации и кредитной карты
- Лучшее соотношение цены и качества— экономия по сравнению с покупкой отдельных надстроек