Как убрать неразрывные пробелы (РС) в Excel: полное руководство

Что такое "РС" в Excel и почему они портят ваши данные

Вы когда-нибудь сталкивались с ситуацией, когда в ячейках Excel появляются странные символы РС, которые не удаляются стандартными способами? Эти невидимые "призраки" — неразрывные пробелы (non-breaking spaces), которые часто проникают в таблицы при копировании данных из веб-страниц, PDF или других источников. Они выглядят как обычные пробелы, но ведут себя иначе: не разбивают текст при переносе строки и не удаляются функцией TRIM().

Проблема в том, что неразрывные пробелы ломают сортировку, мешают работе формул ВПР/INDEX, и даже функция СЖПРОБЕЛЫ их не убирает. В этой статье вы узнаете 7 способов очистки данных от РС — от простых замен до автоматизации через Power Query и VBA. А еще мы раскроем секрет, почему эти пробелы появляются в 90% случаев при импорте данных из 1С.

Способ 1: Ручная замена через "Найти и заменить"

Самый быстрый метод для небольших таблиц — использование стандартного диалога замены. Но здесь есть подвох: неразрывный пробел не вводится с клавиатуры. Вот как его найти:

  1. Откройте диалог замены: нажмите Ctrl + H (или перейдите на вкладку Главная → Найти и выделить → Заменить).
  2. Вставьте символ РС:
    Как вставить неразрывный пробел в поле "Найти"

    Нажмите Alt + 0160 на цифровой клавиатуре (с включенным Num Lock).

  3. В поле "Заменить на" оставьте пустым или введите обычный пробел.
  4. Нажмите "Заменить все".

⚠️ Внимание: Если после замены данные "слиплись" (например, "ИвановИ.И." вместо "Иванов И.И."), значит, между словами стоял только неразрывный пробел. В этом случае в поле "Заменить на" введите обычный пробел (нажмите Space).

Сделайте копию листа (ПКМ → Переместить/скопировать)

Убедитесь, что в данных нет полезных неразрывных пробелов (например, в фамилиях типа "ван дер Ваальс")

Проверьте количество замен (должно совпадать с количеством РС в данных)

-->

Способ 2: Формула ПОДСТАВИТЬ для автоматической очистки

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

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

Где:

  • 🔹 A1 — ячейка с исходными данными
  • 🔹 СИМВОЛ(160) — код неразрывного пробела
  • 🔹 " " — обычный пробел (или "", чтобы удалить совсем)

Чтобы применить формулу ко всему столбцу:

  1. Введите формулу в первую ячейку (например, B1).
  2. Протяните маркер автозаполнения вниз.
  3. Скопируйте результаты (Ctrl + C) и вставьте как значения (ПКМ → Значения) поверх исходных данных.
=СЖПРОБЕЛЫ(ПОДСТАВИТЬ(ПОДСТАВИТЬ(ПОДСТАВИТЬ(A1;СИМВОЛ(160);" ");СИМВОЛ(10);" ");СИМВОЛ(13);" "))

-->

Способ 3: Очистка через Power Query (для Excel 2016+)

Power Query — мощный инструмент для трансформации данных, который справляется с неразрывными пробелами в больших наборах данных. Вот пошаговая инструкция:

  1. Выделите диапазон данных и перейдите на вкладку Данные → Из таблицы/диапазона (в Excel 2016+).
  2. В открывшемся редакторе Power Query выделите столбец с проблемами.
  3. Перейдите на вкладку Преобразование → Заменить значения.
  4. В поле "Значение для поиска" вставьте неразрывный пробел (Alt + 0160).
  5. В поле "Заменить на" введите обычный пробел или оставьте пустым.
  6. Нажмите ОК, затем Закрыть и загрузить.

Преимущество этого метода: все изменения сохраняются в шаге трансформации. Если исходные данные обновятся, достаточно кликнуть "Обновить" на листе.

Ручная замена (Ctrl+H)

Формулы (ПОДСТАВИТЬ, СЖПРОБЕЛЫ)

Power Query

VBA-макросы

Другие способы-->

Способ 4: VBA-макрос для массовой обработки

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

Sub ЗаменитьНеразрывныеПробелы()

Dim rng As Range

Dim cell As Range

Set rng = Selection

For Each cell In rng

If Not IsEmpty(cell) Then

cell.Value = Replace(cell.Value, Chr(160), " ")

End If

Next cell

End Sub

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

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

⚠️ Внимание: Макрос работает только с значениями, а не с формулами. Если в ячейках формулы, сначала преобразуйте их в значения (Копировать → Специальная вставка → Значения).

Способ 5: Регулярные выражения (для опытных пользователей)

Если вы работаете с Excel для Microsoft 365, у вас есть доступ к функциям ТЕКСТПОСЛЕ/ТЕКСТДО с поддержкой регулярных выражений. Чтобы удалить все неразрывные пробелы:

=ТЕКСТ.ЗАМЕНИТЬ(A1; "[^\S ]"; " ")

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

=СЖПРОБЕЛЫ(ТЕКСТ.ЗАМЕНИТЬ(A1; "[^\S ]"; " "))

Ограничение: работает только в Excel 365 и Excel 2021 (для пользователей с подпиской).

Способ 6: Очистка при импорте данных из 1С

Более 60% случаев появления неразрывных пробелов в Excel связано с импортом данных из 1С. Программа активно использует РС для форматирования отчетов. Чтобы избежать проблемы:

  • 📌 Экспортируйте данные из 1С в .csv с кодировкой UTF-8 (не Windows-1251!).
  • 📌 В Excel при импорте выбирайте Данные → Из текстового/CSV-файла и на шаге преобразования применяйте замену СИМВОЛ(160).
  • 📌 Используйте Power Query для автоматической очистки при каждом обновлении данных.

Если вы часто работаете с выгрузками из 1С, создайте шаблон Power Query с готовыми шагами очистки. Это сэкономит часы в будущем.

Сравнение методов: какой выбрать?

Выбор способа зависит от объема данных и ваших навыков. В таблице ниже — сравнение всех методов:

Метод Сложность Объем данных Автоматизация Подходит для 1С
Ручная замена (Ctrl+H) До 1000 строк ❌ Нет ✅ Да
Формула ПОДСТАВИТЬ ⭐⭐ До 100 000 строк ⚠️ Частично ✅ Да
Power Query ⭐⭐⭐ Неограниченно ✅ Полная ✅ Идеально
VBA-макрос ⭐⭐⭐⭐ Неограниченно ✅ Полная ✅ Да
Регулярные выражения ⭐⭐⭐⭐ До 1 000 000 строк ✅ Полная ❌ Нет (только Excel 365)

Для разовых задач подойдет ручная замена или формулы. Если вы работаете с большими объемами данных из 1С, Power Query — оптимальный выбор. Для полной автоматизации напишите VBA-макрос.

FAQ: Частые вопросы о неразрывных пробелах в Excel

Почему функция СЖПРОБЕЛЫ не удаляет РС?

Функция СЖПРОБЕЛЫ удаляет только обычные пробелы в начале/конце текста и заменяет несколько пробелов подряд на один. Неразрывный пробел (СИМВОЛ(160)) для Excel — это отдельный символ, который не относится к "пробелам" в классическом понимании. Чтобы удалить его, используйте ПОДСТАВИТЬ.

Как узнать, есть ли в данных неразрывные пробелы?

Есть 3 способа:

  1. Включите отображение непечатаемых символов: Файл → Параметры → Дополнительно → Показывать знаки форматирования (но РС все равно не отобразится).
  2. Используйте формулу:
    =НАЙТИ(СИМВОЛ(160);A1)
    Если результат не #ЗНАЧ!, то РС есть.
  3. Скопируйте данные в Блокнот — неразрывные пробелы там видны как маленькие кружочки.
Можно ли удалить РС при экспорте данных из Excel?

Да, но это зависит от формата:

  • 📄 CSV/ТXT: Неразрывные пробелы сохранятся. Очищайте данные до экспорта.
  • 📄 PDF: При экспорте в PDF РС преобразуются в обычные пробелы.
  • 📄 XLSX/XLS: Пробелы сохранятся, но их не будет видно в других программах (например, в LibreOffice они отобразятся как обычные).
Почему после удаления РС данные "слиплись"?

Это значит, что между словами стоял только неразрывный пробел. Например, если исходный текст был "ПриветРСмир", то после замены РС на пустоту получится "Приветмир". Решение:

  1. Вместо пустоты заменяйте на обычный пробел (" ").
  2. Используйте формулу:
    =ПОДСТАВИТЬ(ПОДСТАВИТЬ(A1;СИМВОЛ(160);" ");"  ";" ")
    (удаляет двойные пробелы).
Есть ли разница между РС и обычным пробелом?

Да, и она существенная:

Характеристика Обычный пробел Неразрывный пробел (РС)
Код символа 32 (Chr(32)) 160 (Chr(160))
Перенос строки Разрывает текст Не разрывает (отсюда название)
Удаление TRIM() ✅ Да ❌ Нет
Отображение в Excel Виден как пробел Виден как пробел, но ведет себя иначе