Лишние пробелы Excel: как очистить названия материалов курса без потери исходника
Одинаково выглядящие названия могут различаться невидимыми символами и мешать сверке учебных материалов. Разберём очистку обычных и неразрывных пробелов в отдельном столбце, сохранив исходные значения для проверки.
В этом материале
Установите правило для названия
Представьте, что редактор собрал список материалов из нескольких сообщений. В одном месте записано «Модуль 1», в другом перед названием стоит пробел, а в третьем между словами их два. Прежде чем объединять записи, договоритесь, какой вид считается нормальным: без пробелов по краям и с одним обычным пробелом между словами.
Это правило подходит для названий в нашем примере, но не обязано подходить любому тексту. В программном коде, учебных заданиях на форматирование или специально выровненных фрагментах пробелы могут иметь значение. Такие поля сначала отделите от обычных названий материалов.
Очистка символов не устанавливает, что две записи обозначают один объект. «Модуль 1» разных курсов может быть разным материалом. Сохраняйте отдельный идентификатор, а удаление повторных строк рассматривайте по правилам дедупликации данных курса, после проверки содержания.
Сделайте небольшой контрольный набор
В A1 напишите «Исходное название», в B1 — «Обычные пробелы», в C1 — «Проверенная нормализация». Для воспроизводимого примера введите в A2 формулу =" Модуль 1 ", а в A3 — ="Модуль 1". Кавычки задают текст; внутри первой записи стоят по два обычных пробела по краям, внутри второй — два между словами.
В A4 создайте неразрывный пробел: ="Модуль"&ЮНИСИМВ(160)&"1". В английском интерфейсе имя функции — UNICHAR. A5 заполните обычным «Модуль 10», A6 оставьте пустой. Это пять разных контрольных случаев, включая похожее, но самостоятельное название.
До применения формул запишите ожидание: первые три заполненные строки должны стать «Модуль 1», четвёртая — сохранить «Модуль 10», последняя — остаться пустой. Если какой-то результат не совпадёт, не переходите к обработке всего рабочего списка.
Уберите обычные пробелы
В B2 введите =СЖПРОБЕЛЫ(A2) и распространите формулу до B6. В английском варианте это =TRIM(A2). В описании Microsoft функция удаляет обычные пробелы по краям и оставляет одиночные между словами. Она рассчитана на символ с кодом 32 и сама не удаляет неразрывный пробел с кодом 160.
Поэтому B2 и B3 должны соответствовать выбранному стандарту, а B4 всё ещё содержит другой тип пробела. Внешне отличие может быть незаметно. Не принимайте ровное отображение на экране за подтверждение одинакового состава текста.
Пока сохраняйте все три столбца. Если автор уточнит, что двойной пробел был частью образца для задания, исходное значение останется доступным. Такой спор нельзя разрешить одной формулой: редактор должен знать, что именно представляет обрабатываемое поле.
Обработайте известное исключение
Для C2 используйте =СЖПРОБЕЛЫ(ПОДСТАВИТЬ(A2;ЮНИСИМВ(160);" ")) и скопируйте вниз. В английских именах функций запись выглядит так: =TRIM(SUBSTITUTE(A2,UNICHAR(160)," ")). Разделители аргументов зависят от региональных настроек Excel.
Функция ПОДСТАВИТЬ заменяет указанный текст другим; без номера вхождения заменяются все совпадения. Здесь мы сначала превращаем известный неразрывный пробел в обычный, затем применяем согласованное правило очистки. Это не универсальное удаление всех невидимых символов.
Для воспроизводимой записи кода 160 использована функция ЮНИСИМВ, которая возвращает символ Unicode по числу. Если результат всё ещё отличается, исследуйте конкретную строку: причиной могут быть табуляция, другой пробельный символ или буквы разных алфавитов. Не добавляйте случайные замены ко всему списку.
Сверьте результат до переноса
Сравните C2:C6 с ожидаемыми пятью значениями. Обратите внимание на «Модуль 10»: удаление пробелов не должно превращаться в удаление цифр или объединение соседних названий. Пустая ячейка в этом текстовом примере должна давать пустую строку, а не пометку о несуществующем модуле.
Добавьте ещё одну проверку: название «Мини-курс» должно сохранить дефис. Затем возьмите несколько реальных исключений из рабочей копии и оцените, допустима ли для них выбранная нормализация. Не публикуйте список учеников ради такой проверки; здесь достаточно названий учебных файлов и условных данных.
Если очистка нужна перед сопоставлением через ВПР, применяйте одинаковое правило к сопоставимым полям обоих наборов. При этом не подменяйте устойчивый идентификатор удобным названием: нормализация делает текст единообразным, но не превращает его в уникальный ключ.
Зафиксируйте проверенную версию
После сверки сохраните отдельный файл результата. Если передаёте только очищенные значения, вставьте их как значения в новую копию и проверьте несколько строк после повторного открытия. Исходный столбец и формулы оставьте в рабочем файле редактора, чтобы можно было восстановить причину изменения.
Рядом запишите назначение обработки: обычные пробелы нормализованы, код 160 предварительно заменён, другие символы автоматически не исправлялись. Эта заметка полезнее общей отметки «данные почищены»: следующий сотрудник понимает, какие различия уже проверены и какие ещё требуют решения.
Источники
Создайте свой курс в Umhub
Примените то, что узнали: соберите программу, добавьте материалы и пригласите учеников.