Символ звездочки (*) в Microsoft Excel может появляться в самых неожиданных ситуациях: как часть импортированных данных, результат ошибки формулы, разделитель в текстовом файле или даже как визуальный маркер в условном форматировании. Его наличие часто мешает дальнейшей обработке данных — нарушает сортировку, искажает результаты функций ПОИСК или НАЙТИ, а иногда просто портит внешний вид таблицы.
Многие пользователи пытаются удалить звездочку вручную, но при больших объемах данных это занимает часы. К счастью, в Excel есть минимум 5 способов автоматизировать процесс: от элементарной функции «Найти и заменить» до сложных формул массива и VBA-скриптов. В этой статье мы разберём каждый метод с примерами, нюансами и предупреждениями о возможных ошибках. Вы узнаете, как удалить звездочку из ячеек, формул и даже из условного форматирования, где она может скрываться в виде символа-заменителя.
Особое внимание уделим случаям, когда звездочка является подстановочным знаком (например, в формулах ПОИСК или СЧЁТЕСЛИ). Здесь простая замена не сработает — потребуются обходные пути с экранированием символа. Также рассмотрим, почему после удаления звездочки данные могут отображаться некорректно (например, даты превращаются в числа), и как это исправить.
Если вы работаете с Excel регулярно, сохраните эту статью в закладки: она пригодится не только для очистки звездочек, но и для удаления любых нежелательных символов по аналогии.
1. Способ «Найти и заменить»: быстрое решение для простых случаев
Самый очевидный метод — использовать встроенную функцию «Найти и заменить» (Ctrl + H). Он подходит, если звездочка является обычным текстовым символом (не подстановочным знаком) и не используется в формулах.
Алгоритм действий:
- Выделите диапазон ячеек (или весь лист —
Ctrl + A). - Нажмите
Ctrl + Hили перейдите вГлавная → Найти и выделить → Заменить. - В поле «Найти» введите
*. - Поле «Заменить на» оставьте пустым.
- Нажмите «Заменить всё».
⚠️ Внимание: Если в ваших данных есть реальные подстановочные знаки (например, в формулах типа =СЧЁТЕСЛИ(A1:A10;"текст")), этот метод их повредит! В таком случае используйте способы из раздела 3 или 4.
Чтобы избежать случайных замен, перед запуском проверьте:
- 🔹 Только значения: Убедитесь, что выделены только ячейки с данными, а не формулы (переключитесь на вкладку
Формулыи посмотрите, нет ли там=в начале ячеек). - 🔹 Скрытые символы: Звездочка может быть частью непечатаемого символа (например,
CHAR(42)). Чтобы их увидеть, включите отображение всех символов черезФайл → Параметры → Дополнительно → Показывать параметры для следующего листа → Отображать формулы в ячейках.
Выделены только ячейки с данными (не формулы)
Включено отображение скрытых символов
Создана резервная копия файла
Проверены зависимые формулы-->
2. Удаление звездочки как подстановочного знака: экранирование символа
Если звездочка является частью условия в формуле (например, =СЧЁТЕСЛИ(A1:A10;"")), простая замена её не удалит — Excel воспримет как шаблон для поиска любых символов. Здесь нужен обходной путь: экранирование с помощью тильды (~).
Примеры корректной замены:
- 📌 Чтобы найти ячейки, содержащие только звездочку, используйте условие:
=СЧЁТЕСЛИ(A1:A10;"~*"). - 📌 Чтобы заменить звездочку в формуле, модифицируйте её через
Найти и заменить:Найти: ~*Заменить на: [пусто]
⚠️ Внимание: Экранирование работает только в функциях, поддерживающих подстановочные знаки (СЧЁТЕСЛИ, СУММЕСЛИ, ПОИСК и др.). В регулярных выражениях (например, в Power Query) используйте \*.
Если вам нужно удалить звездочку из условного форматирования, где она может быть частью правила (например, формат применяется к ячейкам, содержащим *), выполните следующие шаги:
- Выделите диапазон с условным форматированием.
- Перейдите в
Главная → Условное форматирование → Управление правилами. - Найдите правило со звездочкой и отредактируйте его, заменив
на~или удалив символ полностью.
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
Как использовать:
- Нажмите
Alt + F11, чтобы открыть редактор VBA. - Вставьте код в новый модуль (
Insert → Module). - Выделите нужный диапазон на листе и запустите макрос (
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. Этот метод гарантирует, что символы не попадут в основную таблицу.
Пошаговая инструкция:
- Импортируйте данные через
Данные → Получить данные → Из файла. - В редакторе Power Query выделите столбец со звездочками.
- Перейдите на вкладку
Преобразоватьи выберитеЗаменить значения. - В поле «Значение для поиска» введите
*, в «Замена» оставьте пустым. - Нажмите
Закрыть и загрузить.
Для сложных замен (например, удаление звездочек только в начале или конце строки) используйте регулярные выражения:
- Выделите столбец →
Преобразовать → Формат → Заменить значения → Дополнительные параметры. - Включите опцию «Регистр» и «Регулярные выражения».
- В поле «Значение для поиска» введите:
- 🔸
^*— удалить звездочки в начале строки; - 🔸
*$— удалить в конце; - 🔸
\*— удалить все вхождения.
- 🔸
⚠️ Внимание: В Power Query звездочка по умолчанию является подстановочным знаком, поэтому для её поиска как символа используйте экранирование (\*).
Если данные импортируются регулярно, сохраните запрос и настройте автоматическое обновление через Данные → Обновить все. Так звездочки будут удаляться при каждом обновлении без ручного вмешательства.
6. Удаление звездочки из условного форматирования
Звездочка может скрываться не только в ячейках, но и в правилах условного форматирования. Например, если правило применяется к ячейкам, содержащим текст срочно, символ будет невидимым, но активным.
Как найти и удалить такие правила:
- Выделите диапазон или весь лист (
Ctrl + A). - Перейдите в
Главная → Условное форматирование → Управление правилами. - В окне правил ищите условия с
(например,Содержит →). - Выделите правило и нажмите «Удалить правило» или отредактируйте его, заменив
*на нужный текст. - 🔹 Решение: Преобразуйте столбец в текстовый формат перед заменой (
Формат ячеек → Текстовый). - 🔹 Решение: Используйте функцию
ДАТАЗНАЧс предварительной заменой разделителей:=ДАТАЗНАЧ(ПОДСТАВИТЬ(ПОДСТАВИТЬ(A1;"*";".");"";"")) - 🔹 Решение: Восстановите экранирование (
~*) или перепишите формулы без подстановочных знаков. - 🔸 Полноширинная звездочка (
): используется в азиатских шрифтах (кодCHAR(65288)). - 🔸 Звездочка в Юникоде (
✱,✲,❋): декоративные символы (кодыCHAR(8721),CHAR(8738)и др.). - 🔸 Звездочка как часть шрифта: символ может быть частью Wingdings или Webdings.
Если правило использует формулу (например, =ПОИСК("*"; 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).
Проблема 3: Формулы возвращают ошибку #ЗНАЧ! после удаления звездочек из условий.
⚠️ Внимание: Если после очистки данные «исчезли», проверьте, не были ли звездочки частью разделителя тысячных (например, в европейском формате 1*000*000 вместо 1 000 000). В таком случае используйте замену на пробел:
=ПОДСТАВИТЬ(A1;"*";"")
8. Альтернативные символы: как удалить «невидимые» звездочки
Иногда звездочка в Excel не удаляется стандартными методами, потому что на самом деле это другой символ:
Как их найти и удалить:
- Используйте функцию
КОДСИМВ, чтобы определить код символа:=КОДСИМВ(ПРАВСИМВ(A1))(перетащите формулу на всю колонку, чтобы проверить каждый символ).
- Для удаления по коду используйте
ПОДСТАВИТЬсСИМВОЛ:=ПОДСТАВИТЬ(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 выдаст ошибку.
Можно ли удалить звездочку в защищенных ячейках?
Нет, если ячейки защищены от изменений. Сначала снимите защиту:
- Перейдите в
Рецензирование → Снять защиту листа(потребуется пароль, если он установлен). - Выполните замену.
- Верните защиту:
Рецензирование → Защитить лист.
Для автоматизации используйте VBA с временным снятием защиты:
Sub ЗаменаВЗащищенныхЯчейках
ActiveSheet.Unprotect Password:="ваш_пароль"' Укажите пароль или оставьте пустым
' Код замены здесь
ActiveSheet.Protect Password:="ваш_пароль"
End Sub
Как удалить звездочку в сводной таблице?
В сводных таблицах звездочки могут появляться как:
- 🔹 Помеченные элементы (например, в фильтрах). Удалите их через
Параметры → Показать список полей. - 🔹 Текстовые данные в источниках. Обновите источник данных (исправьте звездочки в исходной таблице).
- 🔹 Символы ошибок (например,
#Н/Дотображается как*). Настройте отображение ошибок черезПараметры сводной таблицы → Для пустых ячеек отображать.
Чтобы обновить сводную таблицу после изменений, нажмите Анализ → Обновить.