KutoolsforOffice — Одно решение — пять мощных инструментов.Меньше усилий — больше результата.

Как отфильтровать данные в Excel одним щелчком по содержимому ячейки?

АвторСяоянДата изменения

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

 фильтрация данных простым щелчком по содержимому ячейки


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

Чтобы использовать этот метод, преобразуйте диапазон в таблицу:

  1. Выберите свой набор данных и перейдите к Вставка > Таблица. Убедитесь, что установлен флажок «Моя таблица содержит заголовки», и нажмите OK.
  2. На каждом заголовке таблицы появится интерактивная стрелка фильтра. Щёлкните по ней, выберите нужные значения — и Excel отфильтрует данные соответствующим образом.
  3. Для ещё более удобной фильтрации с помощью указателя мыши можно вставить срез: выделите таблицу и перейдите к Конструктор таблиц > Вставить срез, выберите столбцы, для которых нужен срез. При щелчке по элементам среза строки таблицы мгновенно отфильтруются.

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

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

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


Использовать условное форматирование — визуальное выделение записей, соответствующих выбранному значению

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

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

  1. Выделите весь свой диапазон данных (например,)A2:C11).
  2. Перейдите к Главная > Использовать условное форматирование > Создать правило.
  3. Выберите Использовать формулу для определения форматируемых ячеек.
  4. Введите эту формулу (предполагая, что A2 — первая строка данных):=$A2=$E$1
  5. Нажмите Формат, чтобы задать нужное форматирование заливки или шрифта, а затем нажмите OK во всех диалоговых окнах.

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

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

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

скриншот kutools for excel ai

Раскройте магию Excel с помощью KUTOOLS AI

  • Интеллектуальное выполнение: Выполняйте операции с ячейками, анализируйте данные и создавайте диаграммы — всё это доступно через простые команды.
  • Пользовательские формулы: создавайте индивидуальные формулы для оптимизации рабочих процессов.
  • Программирование на VBA: Пишите и внедряйте код VBA легко и без усилий.
  • Анализ формул: Легко разбирайтесь даже в самых сложных формулах.
  • Перевод текста: Ломайте языковые барьеры прямо в ваших таблицах.
Расширьте возможности Excel с помощью инструментов на базе ИИ.Скачать сейчаси ощутите эффективность, как никогда раньше!

Другие связанные статьи:

Как изменить значение ячейки, просто щёлкнув по ней?

Как сортировать данные в столбце, просто щёлкнув по его заголовку в Excel?

Лучшие инструменты повышения продуктивности в Office

🤖KUTOOLS AI Помощник: Преобразуйте Анализ данных с помощью:Интеллектуального выполнения   |  Генерации кода|  Создания пользовательские формулы  |  Анализа данных и построения диаграмм|  Вызова Расширенные функции
Популярные функции:Поиск, выделение или Отметить дубликаты   |  Удалить пустые строки   |  Объединить столбцы или ячеек без потери данных   |  Округление без использования формул
Супер ПОИСК:VLookup по нескольким критериям  |  VLookup по нескольким значениям  |   VLookup по нескольким листам   |   Распознавание нечетких соответствий
Расширенный раскрывающийся список:Быстрое создание выпадающего списка   |  Зависимый выпадающий список   |  Выпадающий список с множественным выбором
Управление столбцами:Добавление заданного количества столбцов|Перемещение столбцов|Переключение видимости скрытых столбцов|Сравнение диапазонов и столбцов
Избранные функции:Сетка фокусировки   |  Просмотр дизайна   |Улучшенная строка формулы   | Управление рабочими книгами и листами   |  Библиотека ресурсов(автотекст)|  Выбор даты   |  Объединить листы  |  Шифрование/Расшифровать ячейки   | Отправка писем по списку   |  Супер фильтр   |   Специальный фильтр(Фильтр ячеек с жирным шрифтом/курсив/зачёркивание…) …
Лучшие наборы инструментов 15:12 Текстовыеинструменты(Добавить текст,Удалить определенные символы, …)|   50+Типыдиаграмм(Диаграмма Ганта, …)|   40+ Практические формулы(Рассчитать возраст на основе даты рождения, …)|   19 Инструментывставки(Вставить QR-код,Вставка изображения по пути, …)|   12 Инструментыпреобразования(Преобразовать в слова,Конвертация валют, …)|   7 Объединить и разделитьИнструменты(Расширенное объединение строк,Разделить ячейки, …)|… и многое другое
Используйте Kutools на предпочитаемом языке — поддержка английского, испанского, немецкого, французского, китайского и ещё 40+ языков!

Раскройте весь потенциал 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.

ExcelWordOutlookTabsPowerPoint
  • Единый комплект— надстройки для Excel, Word, Outlook и PowerPoint + Office Tab Pro
  • Один установщик, одна лицензия— настройка занимает считанные минуты (готово для MSI)
  • Лучше работать вместе— оптимизированная продуктивность во всех приложениях Office
  • 30-дневная полнофункциональная пробная версия— без регистрации и кредитной карты
  • Лучшее соотношение цены и качества— экономия по сравнению с покупкой отдельных надстроек