Как удалить звездочку (*) в Excel: все способы от замены до макросов

Символ звездочки (*) в Microsoft Excel может появляться в самых неожиданных ситуациях: как часть импортированных данных, результат ошибки формулы, разделитель в текстовом файле или даже как визуальный маркер в условном форматировании. Его наличие часто мешает дальнейшей обработке данных — нарушает сортировку, искажает результаты функций ПОИСК или НАЙТИ, а иногда просто портит внешний вид таблицы.

Многие пользователи пытаются удалить звездочку вручную, но при больших объемах данных это занимает часы. К счастью, в Excel есть минимум 5 способов автоматизировать процесс: от элементарной функции «Найти и заменить» до сложных формул массива и VBA-скриптов. В этой статье мы разберём каждый метод с примерами, нюансами и предупреждениями о возможных ошибках. Вы узнаете, как удалить звездочку из ячеек, формул и даже из условного форматирования, где она может скрываться в виде символа-заменителя.

Особое внимание уделим случаям, когда звездочка является подстановочным знаком (например, в формулах ПОИСК или СЧЁТЕСЛИ). Здесь простая замена не сработает — потребуются обходные пути с экранированием символа. Также рассмотрим, почему после удаления звездочки данные могут отображаться некорректно (например, даты превращаются в числа), и как это исправить.

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

1. Способ «Найти и заменить»: быстрое решение для простых случаев

Самый очевидный метод — использовать встроенную функцию «Найти и заменить» (Ctrl + H). Он подходит, если звездочка является обычным текстовым символом (не подстановочным знаком) и не используется в формулах.

Алгоритм действий:

  1. Выделите диапазон ячеек (или весь лист — Ctrl + A).
  2. Нажмите Ctrl + H или перейдите в Главная → Найти и выделить → Заменить.
  3. В поле «Найти» введите *.
  4. Поле «Заменить на» оставьте пустым.
  5. Нажмите «Заменить всё».

⚠️ Внимание: Если в ваших данных есть реальные подстановочные знаки (например, в формулах типа =СЧЁТЕСЛИ(A1:A10;"текст")), этот метод их повредит! В таком случае используйте способы из раздела 3 или 4.

Чтобы избежать случайных замен, перед запуском проверьте:

  • 🔹 Только значения: Убедитесь, что выделены только ячейки с данными, а не формулы (переключитесь на вкладку Формулы и посмотрите, нет ли там = в начале ячеек).
  • 🔹 Скрытые символы: Звездочка может быть частью непечатаемого символа (например, CHAR(42)). Чтобы их увидеть, включите отображение всех символов через Файл → Параметры → Дополнительно → Показывать параметры для следующего листа → Отображать формулы в ячейках.

Выделены только ячейки с данными (не формулы)

Включено отображение скрытых символов

Создана резервная копия файла

Проверены зависимые формулы-->

2. Удаление звездочки как подстановочного знака: экранирование символа

Если звездочка является частью условия в формуле (например, =СЧЁТЕСЛИ(A1:A10;"")), простая замена её не удалит — Excel воспримет как шаблон для поиска любых символов. Здесь нужен обходной путь: экранирование с помощью тильды (~).

Примеры корректной замены:

  • 📌 Чтобы найти ячейки, содержащие только звездочку, используйте условие: =СЧЁТЕСЛИ(A1:A10;"~*").
  • 📌 Чтобы заменить звездочку в формуле, модифицируйте её через Найти и заменить:
    Найти: ~*
    

    Заменить на: [пусто]

⚠️ Внимание: Экранирование работает только в функциях, поддерживающих подстановочные знаки (СЧЁТЕСЛИ, СУММЕСЛИ, ПОИСК и др.). В регулярных выражениях (например, в Power Query) используйте \*.

Если вам нужно удалить звездочку из условного форматирования, где она может быть частью правила (например, формат применяется к ячейкам, содержащим *), выполните следующие шаги:

  1. Выделите диапазон с условным форматированием.
  2. Перейдите в Главная → Условное форматирование → Управление правилами.
  3. Найдите правило со звездочкой и отредактируйте его, заменив на ~ или удалив символ полностью.

3. Формулы для удаления звездочки: ПСТР, ПОДСТАВИТЬ и регулярные выражения

Если звездочка является частью текстовой строки, а ручная замена нежелательна (например, данные часто обновляются), используйте формулы. Они позволяют динамически очищать данные без изменения исходных ячеек.

Основные функции для удаления:

Функция Синтаксис Пример Когда использовать
ПОДСТАВИТЬ =ПОДСТАВИТЬ(текст;"*";"") =ПОДСТАВИТЬ(A1;"*";"") Замена всех вхождений звездочки на пустоту
ПСТР + НАЙТИ =ПСТР(A1; 1; НАЙТИ(""; A1)-1) & ПСТР(A1; НАЙТИ(""; A1)+1; 99) =ПСТР(A1;1;НАЙТИ("";A1)-1)&ПСТР(A1;НАЙТИ("";A1)+1;99) Удаление первой звездочки в строке
ТЕКСТПОСЛЕ + ТЕКСТДО =ТЕКСТДО(A1;"") & ТЕКСТПОСЛЕ(A1;"") =ТЕКСТДО(A1;"")&ТЕКСТПОСЛЕ(A1;"") Удаление первой звездочки (Excel 365)
РЕГВЫРАЖ (Power Query) =Text.Replace([Column1];"\*";"") =Text.Replace([Столбец1];"\*";"") Массовая замена в больших наборах данных

⚠️ Внимание: Функция ПОДСТАВИТЬ чувствительна к регистру! Если в данных есть звездочки разных регистров (например, * и — полноширинный символ), используйте вложенные замены:

=ПОДСТАВИТЬ(ПОДСТАВИТЬ(A1;"*";"");"";"")

Для удаления всех неалфавитных символов (включая звездочку) используйте комбинацию функций:

=СЖПРОБЕЛЫ(ПОДСТАВИТЬ(ПОДСТАВИТЬ(ПОДСТАВИТЬ(A1;"*";"");"?";"");"!";""))

Функция"Найти и заменить"

Формулы (ПОДСТАВИТЬ, ПСТР и др.)

VBA-макрос

Power Query

Другой вариант-->

4. VBA-макрос: автоматизация для больших файлов

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

Макрос для удаления звездочек из выделенного диапазона:

Sub УдалитьЗвездочки

Dim rng As Range

Dim cell As Range

Set rng = Selection' Выделенный диапазон

For Each cell In rng

If Not cell.HasFormula Then' Пропускаем ячейки с формулами

cell.Value = Replace(cell.Value,"*","")

End If

Next cell

End Sub

Как использовать:

  1. Нажмите Alt + F11, чтобы открыть редактор VBA.
  2. Вставьте код в новый модуль (Insert → Module).
  3. Выделите нужный диапазон на листе и запустите макрос (F5).

⚠️ Внимание: Макрос не обрабатывает ячейки с формулами — это сделано специально, чтобы избежать повреждения зависимостей. Если нужно очистить формулы, модифицируйте код, добавив обработку строковых представлений (например, через cell.Formula).

Для удаления звездочек во всех листах книги используйте этот код:

Sub УдалитьЗвездочкиВоВсехЛистах

Dim ws As Worksheet

Dim rng As Range

For Each ws In ThisWorkbook.Worksheets

Set rng = ws.UsedRange' Все используемые ячейки на листе

For Each cell In rng

If Not cell.HasFormula Then

cell.Value = Replace(cell.Value,"*","")

End If

Next cell

Next ws

End Sub

Как удалить звездочку из формул с помощью VBA?

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

Sub ЗаменитьЗвездочкиВФормулах

Dim rng As Range

Dim cell As Range

Dim formulaText As String

Set rng = Selection

For Each cell In rng

If cell.HasFormula Then

formulaText = cell.Formula

formulaText = Replace(formulaText,"*","")

cell.Formula = formulaText

End If

Next cell

End Sub

Важно: Перед запуском проверьте, не используются ли звездочки как подстановочные знаки в функциях типа СЧЁТЕСЛИ. В таком случае их нужно экранировать (~*) вручную!

5. Power Query: очистка данных при импорте

Если звездочки появляются при импорте данных (например, из .csv или .txt), удобнее очищать их на этапе загрузки с помощью Power Query. Этот метод гарантирует, что символы не попадут в основную таблицу.

Пошаговая инструкция:

  1. Импортируйте данные через Данные → Получить данные → Из файла.
  2. В редакторе Power Query выделите столбец со звездочками.
  3. Перейдите на вкладку Преобразовать и выберите Заменить значения.
  4. В поле «Значение для поиска» введите *, в «Замена» оставьте пустым.
  5. Нажмите Закрыть и загрузить.

Для сложных замен (например, удаление звездочек только в начале или конце строки) используйте регулярные выражения:

  1. Выделите столбец → Преобразовать → Формат → Заменить значения → Дополнительные параметры.
  2. Включите опцию «Регистр» и «Регулярные выражения».
  3. В поле «Значение для поиска» введите:
    • 🔸 ^* — удалить звездочки в начале строки;
    • 🔸 *$ — удалить в конце;
    • 🔸 \* — удалить все вхождения.

⚠️ Внимание: В Power Query звездочка по умолчанию является подстановочным знаком, поэтому для её поиска как символа используйте экранирование (\*).

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

6. Удаление звездочки из условного форматирования

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

Как найти и удалить такие правила:

  1. Выделите диапазон или весь лист (Ctrl + A).
  2. Перейдите в Главная → Условное форматирование → Управление правилами.
  3. В окне правил ищите условия с (например, Содержит → ).
  4. Выделите правило и нажмите «Удалить правило» или отредактируйте его, заменив * на нужный текст.
  5. Если правило использует формулу (например, =ПОИСК("*"; A1)), отредактируйте её, добавив экранирование:

    =ПОИСК("~*"; A1)

    ⚠️ Внимание: Удаление правил условного форматирования необратимо отменяет все связанные форматы (цвета, шрифты и т.д.). Перед изменением экспортируйте правила через VBA или сделайте копию файла.

    Чтобы быстро найти все ячейки с условным форматированием, содержащим звездочку, используйте VBA-скрипт:

    Sub НайтиФорматированиеСоЗвездочкой
    

    Dim ws As Worksheet

    Dim fc As FormatCondition

    Dim rng As Range

    For Each ws In ActiveWorkbook.Worksheets

    For Each fc In ws.Cells.FormatConditions

    If InStr(1, fc.Formula1,"*") > 0 Then

    Set rng = fc.AppliesTo

    MsgBox"На листе" & ws.Name &" найдено правило со звездочкой в диапазоне" & rng.Address

    End If

    Next fc

    Next ws

    End Sub

    7. Почему после удаления звездочки данные отображаются некорректно?

    Иногда после удаления звездочки числа превращаются в даты, текст «съезжает» или формулы перестают работать. Это происходит из-за того, что Excel автоматически интерпретирует очищенные данные. Рассмотрим типичные проблемы и решения:

    Проблема 1: Числа с звездочкой (например, 123*456) после удаления отображаются в экспоненциальном формате (1,23E+05).

    • 🔹 Решение: Преобразуйте столбец в текстовый формат перед заменой (Формат ячеек → Текстовый).

    Проблема 2: Даты в формате DD*MM*YYYY после удаления звездочек становятся некорректными (например, 12052023 вместо 12.05.2023).

    • 🔹 Решение: Используйте функцию ДАТАЗНАЧ с предварительной заменой разделителей:
      =ДАТАЗНАЧ(ПОДСТАВИТЬ(ПОДСТАВИТЬ(A1;"*";".");"";""))

    Проблема 3: Формулы возвращают ошибку #ЗНАЧ! после удаления звездочек из условий.

    • 🔹 Решение: Восстановите экранирование (~*) или перепишите формулы без подстановочных знаков.

    ⚠️ Внимание: Если после очистки данные «исчезли», проверьте, не были ли звездочки частью разделителя тысячных (например, в европейском формате 1*000*000 вместо 1 000 000). В таком случае используйте замену на пробел:

    =ПОДСТАВИТЬ(A1;"*";"")

    8. Альтернативные символы: как удалить «невидимые» звездочки

    Иногда звездочка в Excel не удаляется стандартными методами, потому что на самом деле это другой символ:

    • 🔸 Полноширинная звездочка (): используется в азиатских шрифтах (код CHAR(65288)).
    • 🔸 Звездочка в Юникоде (, , ): декоративные символы (коды CHAR(8721), CHAR(8738) и др.).
    • 🔸 Звездочка как часть шрифта: символ может быть частью Wingdings или Webdings.

Как их найти и удалить:

  1. Используйте функцию КОДСИМВ, чтобы определить код символа:
    =КОДСИМВ(ПРАВСИМВ(A1))

    (перетащите формулу на всю колонку, чтобы проверить каждый символ).

  2. Для удаления по коду используйте ПОДСТАВИТЬ с СИМВОЛ:
    =ПОДСТАВИТЬ(A1; СИМВОЛ(65288);"")

⚠️ Внимание: Если звездочка является частью шрифта Wingdings, её нельзя удалить заменой — нужно изменить шрифт ячейки на стандартный (например, Arial).

Для массовой очистки от всех «нестандартных» звездочек используйте этот VBA-скрипт:

Sub УдалитьВсеТипыЗвездочек

Dim rng As Range

Dim cell As Range

Dim i As Integer

Dim charCode As Integer

Dim newText As String

Set rng = Selection

For Each cell In rng

If Not cell.HasFormula Then

newText =""

For i = 1 To Len(cell.Value)

charCode = Asc(Mid(cell.Value, i, 1))

' Пропускаем все виды звездочек

If charCode <> 42 And charCode <> 65288 And charCode <> 8721 Then

newText = newText & Mid(cell.Value, i, 1)

End If

Next i

cell.Value = newText

End If

Next cell

End Sub

FAQ: Частые вопросы по удалению звездочек в Excel

Можно ли удалить звездочку только в начале или конце ячейки?

Да, используйте формулы:

  • 🔹 Для удаления в начале: =ЕСЛИ(ЛЕВСИМВ(A1)="*"; ПРАВСИМВ(A1; ДЛСТР(A1)-1); A1)
  • 🔹 Для удаления в конце: =ЕСЛИ(ПРАВСИМВ(A1)="*"; ЛЕВСИМВ(A1; ДЛСТР(A1)-1); A1)

В Power Query используйте регулярные выражения ^ (начало) или $ (конец).

Почему после замены звездочки на пустоту ячейки стали пустыми?

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

=ЕСЛИ(A1="";""; ПОДСТАВИТЬ(A1;"";""))

Или в VBA добавьте проверку длины строки:

If Len(Replace(cell.Value,"","")) > 0 Then cell.Value = Replace(cell.Value,"","")
Как удалить звездочку из названий листов?

Названия листов нельзя редактировать напрямую через формулы. Используйте VBA:

Sub ПереименоватьЛисты

Dim ws As Worksheet

For Each ws In ThisWorkbook.Worksheets

If InStr(ws.Name,"*") > 0 Then

ws.Name = Replace(ws.Name,"*","")

End If

Next ws

End Sub

⚠️ Внимание: Имена листов не могут содержать символы \ /? * . Если звездочка была частью такого набора, Excel выдаст ошибку.

Можно ли удалить звездочку в защищенных ячейках?

Нет, если ячейки защищены от изменений. Сначала снимите защиту:

  1. Перейдите в Рецензирование → Снять защиту листа (потребуется пароль, если он установлен).
  2. Выполните замену.
  3. Верните защиту: Рецензирование → Защитить лист.

Для автоматизации используйте VBA с временным снятием защиты:

Sub ЗаменаВЗащищенныхЯчейках

ActiveSheet.Unprotect Password:="ваш_пароль"' Укажите пароль или оставьте пустым

' Код замены здесь

ActiveSheet.Protect Password:="ваш_пароль"

End Sub

Как удалить звездочку в сводной таблице?

В сводных таблицах звездочки могут появляться как:

  • 🔹 Помеченные элементы (например, в фильтрах). Удалите их через Параметры → Показать список полей.
  • 🔹 Текстовые данные в источниках. Обновите источник данных (исправьте звездочки в исходной таблице).
  • 🔹 Символы ошибок (например, #Н/Д отображается как *). Настройте отображение ошибок через Параметры сводной таблицы → Для пустых ячеек отображать.

Чтобы обновить сводную таблицу после изменений, нажмите Анализ → Обновить.