Перейти к содержимому

Kutools для Office — один пакет. Пять инструментов. Выполняйте больше.

Как заменить отфильтрованные данные, не отключая фильтр в Excel?

Author Kelly Last modified

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

Ниже мы рассмотрим практические техники, включая встроенные ярлыки Excel, расширенные утилиты Kutools для Excel, а также мощные способы динамической замены данных с использованием VBA и формул — каждый из которых имеет свои преимущества, рекомендации по лучшим практикам и важные советы:


Замена отфильтрованных данных на одно значение без отключения фильтра в Excel

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

Примечание: При использовании этого метода все выбранные видимые ячейки будут перезаписаны одним и тем же значением; если каждая ячейка требует уникального значения, рассмотрите другие решения ниже.

1. Выберите ячейки в отфильтрованном диапазоне, которые нужно заменить. Затем одновременно нажмите Alt + ;. Это действие выделит только видимые (отфильтрованные) ячейки, игнорируя любые скрытые строки.

a screenshot of selecting only visible cells

Совет по устранению неполадок: Если комбинация Alt + ; не работает, убедитесь, что ваш выбор охватывает ячейки, которые вы действительно хотите изменить, и что фильтр правильно применен.

2. Введите значение, которое вы хотите ввести, затем нажмите Ctrl + Enter вместе. Эта команда вводит новое значение во все выбранные (видимые) ячейки сразу.

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

a screenshot showing the original data and replacement results

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

Совет: Чтобы отменить изменения, просто нажмите Ctrl + Z после операции.


Замена отфильтрованных данных путем обмена данными с другими диапазонами

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

Kutools для Excel - Наполнен более чем 300 необходимыми инструментами для Excel. Воспользуйтесь постоянно бесплатными функциями ИИ! Скачайте прямо сейчас!

1. Перейдите на вкладку Excel и выберите Kutools > Диапазон > Поменять местами диапазоны, чтобы активировать диалоговое окно Поменять местами диапазоны.

a screenshot of enbaling the Swap Range feature of Kutools

2. В диалоговом окне установите первое поле (Поменять диапазон 1) на ваш диапазон отфильтрованных, видимых данных, а второе поле (Поменять диапазон 2) на диапазон данных, с которым хотите произвести обмен. Убедитесь, что оба диапазона имеют одинаковое количество строк и столбцов для успешного обмена.

a screenshot showing how to configure the Swap Ranges dialog box

3. Нажмите OK. Kutools мгновенно поменяет местами значения между двумя диапазонами, сохраняя ваш фильтр нетронутым. Настройки фильтра остаются неизменными; меняются только указанные содержимые ячеек.

После выполнения этого действия проверьте правильность обмена содержимого. Операция не влияет на другие скрытые данные.

a screenshot of the swapped results without affecting filtering

Kutools для Excel - Усильте Excel более чем 300 необходимыми инструментами. Наслаждайтесь постоянно бесплатными функциями ИИ! Получите прямо сейчас

Преимущества: Обрабатывает целые диапазоны для операций обмена в отфильтрованных данных; полезно для сравнительного анализа. Примечание: Размеры обменных диапазонов должны совпадать; в противном случае произойдет ошибка.


Замена отфильтрованных данных с вставкой, игнорируя скрытые строки

Кроме обмена, иногда у вас есть новые данные, готовые для вставки в отфильтрованную область, но вы хотите обновить только видимые (показанные) строки и пропустить скрытые. Утилита Вставить в видимый диапазон в Kutools для Excel предоставляет удобный способ вставить скопированные данные прямо в видимые ячейки в отфильтрованном списке. Это полезно для быстрых пакетных обновлений, импорта данных или копирования результатов из другой части вашей книги.

Kutools для Excel - Наполнен более чем 300 необходимыми инструментами для Excel. Воспользуйтесь постоянно бесплатными функциями ИИ! Скачайте прямо сейчас!

1. Выберите диапазон, содержащий данные, которые вы хотите использовать для замены. Затем перейдите в Kutools > Диапазон > Вставить в видимый диапазон, чтобы активировать инструмент.

a screenshot showing how to enable the Paste to Visible Range feature

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

a screenshot of selecting the filtered data range

Kutools автоматически сопоставит ваши вставленные значения только с видимыми (отфильтрованными) строками, оставляя скрытые строки без изменений — идеальное решение для точечной замены в отфильтрованных списках.

a screenshot of the final results

Kutools для Excel - Усильте Excel более чем 300 необходимыми инструментами. Наслаждайтесь постоянно бесплатными функциями ИИ! Получите прямо сейчас

Преимущества: Отлично подходит для обновления отфильтрованных записей несколькими новыми значениями одновременно; нет необходимости выполнять ручное копирование/вставку построчно. Советы: Убедитесь, что исходный и видимый целевой диапазоны содержат одинаковое количество ячеек, чтобы предотвратить несоответствие данных.


VBA: Замена данных только в видимых (отфильтрованных) ячейках

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

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

Преимущества: Гибкий, программируемый, поддерживает множественные правила замены.

Недостатки: Требуется знание VBA; изменения применяются немедленно — сделайте резервную копию вашего файла перед этим.

1. Нажмите Разработчик > Visual Basic. В окне Microsoft Visual Basic for Applications нажмите Вставка > Модуль и вставьте следующий код в модуль:

Sub ReplaceVisibleCellsOnly_Advanced()
    ' Updated by ExtendOffice
    Dim rng As Range
    Dim cell As Range
    Dim searchText As String
    Dim replaceText As String
    Dim xTitleId As String

    On Error GoTo ExitSub
    xTitleId = "KutoolsforExcel"

   
    Set rng = Application.InputBox("Select the filtered range:", xTitleId, Selection.Address, Type:=8)
    If rng Is Nothing Then Exit Sub

 
    searchText = Application.InputBox("Enter the text/value to be replaced:", xTitleId, "", Type:=2)
    If searchText = "" Then Exit Sub
    replaceText = Application.InputBox("Enter the new text/value:", xTitleId, "", Type:=2)

    On Error Resume Next
    For Each cell In rng.SpecialCells(xlCellTypeVisible)
        If Not IsError(cell.Value) Then
            If InStr(1, cell.Value, searchText, vbTextCompare) > 0 Then
                cell.Value = Replace(cell.Value, searchText, replaceText, , , vbTextCompare)
            End If
        End If
    Next cell
    On Error GoTo 0

    MsgBox "Replacements completed in visible cells.", vbInformation, xTitleId
ExitSub:
End Sub

2. Нажмите Run button Выполнить , чтобы запустить макрос. Сначала выберите отфильтрованный диапазон. Затем введите значение, которое вы хотите заменить, и новое значение. Макрос применит замены только к видимым ячейкам, оставляя скрытые строки без изменений.

Примечания и советы:

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

Формула Excel: Динамическая обработка или замена отфильтрованных данных

Для ситуаций, где вы хотите использовать формулу для «замены» или изменения отображаемых значений в зависимости от того, видна ли строка (то есть не отфильтрована), вы можете использовать комбинацию SUBTOTAL и логических условий, таких как ЕСЛИ или ЕСЛИОШИБКА. Этот подход идеален для динамической отчетности или визуальных подстановок без изменения исходных данных.

Применяемые сценарии: Динамические сводки, условные экспортные данные, параллельные замены

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

Недостатки: Не изменяет оригинальные данные; результаты отображаются в вспомогательных столбцах

1. Предположим, ваши данные находятся в диапазоне A2:A100. В соседней ячейке (например, B2) введите эту формулу:

=IF(SUBTOTAL(103, OFFSET(A2, 0, 0)), IF(A2 = "oldvalue", "newvalue", A2), "")

Объяснение:

  • SUBTOTAL(103, OFFSET(A2, 0, 0)) возвращает 1, если строка видима, и 0, если она скрыта.
  • Если строка видима и A2 равно "oldvalue", то показывается "newvalue"; в противном случае показывается значение A2.
  • Если строка отфильтрована, формула возвращает пустое значение.

2. Нажмите Enter и протяните формулу вниз. Логика динамически применяется к видимым строкам. Чтобы закрепить результаты, скопируйте вспомогательный столбец и используйте Специальная вставка → Значения для перезаписи исходных данных.

Продвинутые советы:

  • Вы можете использовать функции, такие как ПОИСК, ЗАМЕНИТЬ или ПОДСТАВИТЬ, чтобы выполнять частичные или условные замены на основе шаблонов текста.
  • Всегда проверяйте результаты перед использованием Специальная вставка → Значения для перезаписи исходных данных, особенно в рабочих книгах для производства.

Демонстрация: замена отфильтрованных данных без отключения фильтра в Excel

 
Kutools для Excel: Более 300 удобных инструментов у вас под рукой! Наслаждайтесь постоянно бесплатными функциями ИИ! Скачать сейчас!

Связанные статьи:


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

🤖 Kutools AI Aide: Совершенно новый подход к анализу данных благодаря: Интеллектуальное выполнение |  Генерация кода  |  Создание пользовательских формул |  Анализ данных и построение диаграмм  |  Вызов Kutools Functions
Популярные функции: Поиск, выделение или отметка дубликатов | Удалить пустые строки | Объединить столбцы или адреса без потери данных | Округлить ...
Супер ПОИСК: 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.

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