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

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

Как найти и заменить звездочку / вопросительный знак / тильду в Excel?

Author Xiaoyang Last modified

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

Попытка напрямую найти и заменить эти специальные символы путем их ввода в диалоговое окно "Найти и заменить" Excel не всегда дает ожидаемые результаты. Это связано с тем, что Excel интерпретирует "*" и "?" как подстановочные символы — "*" соответствует любой последовательности символов, а "?" соответствует одному символу. Тильда "~" используется как escape-символ, указывающий, что следующий за ним символ должен быть обработан буквально. Если использовать их в стандартной форме для поиска, можно случайно изменить гораздо больше данных, чем предполагалось.

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

Найти и заменить звездочку / вопросительный знак / тильду в Excel

Формула Excel: функция SUBSTITUTE для замены специальных символов

Макрос VBA: Найти и заменить специальные символы с помощью кода


Найти и заменить звездочку / вопросительный знак / тильду в Excel

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

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

2. Перейдите на вкладку Главная, нажмите Найти и выделить > Заменить, или используйте удобное сочетание клавиш Ctrl + H, чтобы открыть диалоговое окно "Найти и заменить". При работе с большими наборами данных использование сочетания клавиш может сэкономить время и уменьшить количество повторных кликов.

a screenshot showing how to open the Find and Replace dialog box

3. В диалоговом окне "Найти и заменить" введите ~* в поле "Найти", если вы хотите искать звездочки, ~? для вопросительных знаков или ~~ для тильд. В поле "Заменить на" введите значение или символ, который вы хотите использовать в качестве замены. Это позволит вам заменить эти специальные символы текстом, числами или просто удалить их, оставив поле пустым, в зависимости от ваших потребностей.

a screenshot of specifying the Find what and Replace with boxes

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

a screenshot of the original data a screenshot of arrow a screenshot showing the results after replacing

5. Наконец, закройте диалоговое окно "Найти и заменить" после подтверждения ваших изменений.

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

Совет: Если вы ищете литеральную тильду, используйте ~~ в поле "Найти". Для замены вопросительного знака введите ~?. Это позволяет точно контролировать, что именно изменяется, даже в сложных строках текста или кодах продуктов.

Преимущества: Эта встроенная функция проста и эффективна для быстрых замен, когда вам не нужна автоматизация или продвинутая логика.

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

Устранение неполадок: Если вы заметили, что совпадения не найдены, дважды проверьте, что вы правильно включили тильду (~) перед специальным символом в поле "Найти". Чтобы избежать влияния на формулы, вы можете отфильтровать данные, чтобы ориентироваться только на определенные столбцы или текстовые ячейки, вместо того чтобы включать весь лист.


Формула Excel: функция SUBSTITUTE для замены специальных символов

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

1. Предположим, вам нужно заменить звездочки "*" в значениях столбца A. Введите формулу ниже в целевую ячейку, например B1:

=SUBSTITUTE(A1,"*","replacement")

Эта формула заменяет каждую звездочку в ячейке A1 текстом “replacement”. Вы можете заменить "replacement" любым текстом, числом или оставить его как пустую строку ("") для простого удаления звездочек.

2. Нажмите Enter для подтверждения формулы. Чтобы применить формулу к другим строкам, выберите ячейку B1, скопируйте её (Ctrl+C), затем выберите диапазон, куда вы хотите скопировать формулу, и вставьте (Ctrl+V). Excel автоматически скорректирует ссылки, чтобы каждый ряд обрабатывал значение в столбце A.

3. Чтобы заменить вопросительные знаки "?" или тильды "~", используйте аналогичные формулы. Например:

=SUBSTITUTE(A1,"?","replacement")
=SUBSTITUTE(A1,"~","replacement")

Вы можете комбинировать несколько функций SUBSTITUTE для более сложных потребностей замены, таких как удаление обоих "*" и "?" из текста:

=SUBSTITUTE(SUBSTITUTE(A1,"*",""),"?","")

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

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

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

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


Макрос VBA: Найти и заменить специальные символы с помощью кода

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

1. Для начала включите вкладку Разработчик в Excel (если она еще не видна), затем нажмите Разработчик > Visual Basic, чтобы открыть редактор VBA. В окне VBA нажмите Вставка > Модуль и вставьте код ниже в модуль:

Sub ReplaceSpecialCharacters()
    Dim ws As Worksheet
    Dim rng As Range
    Dim oldChar As String
    Dim newChar As String
    
    On Error Resume Next
    xTitleId = "KutoolsforExcel"
    
    Set rng = Application.Selection
    Set rng = Application.InputBox("Select range to process", xTitleId, rng.Address, Type:=8)
    
    oldChar = Application.InputBox("Enter the character to replace (*, ?, or ~)", xTitleId, "", Type:=2)
    newChar = Application.InputBox("Enter the new character or value", xTitleId, "", Type:=2)
    
    For Each cell In rng
        If Not IsEmpty(cell.Value) And VarType(cell.Value) = vbString Then
            cell.Value = Replace(cell.Value, oldChar, newChar)
        End If
    Next cell
End Sub

2. Для запуска макроса нажмите Run button (Выполнить) кнопку, пока курсор находится внутри макроса. Появится запрос для выбора диапазона для обработки, затем укажите, какой символ заменить (введите * или ? или ~ по необходимости, без кавычек), и, наконец, введите значение или символ замены. Макрос обработает каждую ячейку в выбранном диапазоне соответственно.

Преимущества: Автоматизация с помощью VBA хорошо подходит для обработки больших объемов данных, операций между листами или для встраивания в более сложные рабочие процессы обработки данных. Она экономит время для повторяющихся или крупномасштабных задач по замене.

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

Устранение неполадок: Если вы столкнулись с ошибками при запуске макроса, убедитесь, что макросы включены и на ячейках, которые вы нацеливаете, нет защиты листа. Вводите только символ, который вы хотите заменить — не используйте подстановочные знаки или escape-последовательности в поле ввода. Если макрос не производит замену, проверьте, что ваш выбор диапазона включает ячейки, которые вы планируете изменить.


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

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

Как найти и заменить текст в заголовках диаграмм в Excel?

Как изменить сразу несколько путей гиперссылок в Excel?


Лучшие инструменты для повышения продуктивности в 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-дневная полнофункциональная пробная версия — без регистрации и кредитной карты
  • Лучшее соотношение цены и качества — экономия по сравнению с покупкой отдельных надстроек