Что делать, если не работает функция TRIM

Когда вы копируете или импортируете текстовые данные в лист Excel, электронная таблица иногда сохраняет дополнительные пробелы в дополнение к вставленному содержимому. Как правило, функция TRIM () сама по себе может удалить эти нежелательные пробелы, независимо от того, находятся ли они между словами или в начале или в конце текстовой строки. Однако в определенных ситуациях TRIM () не может выполнять эту работу.

На компьютере пробел между словами — это не пустая область, а символ — и существует более одного типа пробела. Одним из символов пробела, обычно используемым на веб-страницах, который TRIM () не удаляет, является неразрывный пробел.

Если вы импортировали или скопировали данные с веб-страниц, вы не сможете удалить лишние пробелы с помощью функции TRIM (), если они созданы неразрывными пробелами.

Неразрывные и регулярные пространства

Пробелы являются символами, и на каждый символ ссылается его кодовое значение ASCII. ASCII означает Американский стандартный код для обмена информацией — международный стандарт для текстовых символов в компьютерных операционных средах, который создает один набор кодов для 255 различных символов и символов, используемых в компьютерных программах.

Код ASCII для неразрывного пробела 160. Код ASCII для обычного пробела 32.

Функция TRIM () может удалять только те пробелы, которые имеют код ASCII 32.

Таблица кодировки ASCII.
Wikimedia Commons

Различные типы поддерживают разные диапазоны кодов ASCII. Стандартная таблица предлагает 127 возможных значений; гарнитуры должны минимально поддерживать 127-символьную карту ASCII, чтобы считаться действительными. Но «расширенные» символы ASCII, вызываемые дополнительными кодами, часто добавляют дополнительные символы в ваши любимые шрифты. Фактически, неразрывный пробел сам по себе является расширенным символом ASCII, тогда как стандартный пробел … ну, стандарт.

Удаление неразрывных пробелов

Удалите неразрывные пробелы из строки текста, используя функции TRIM (), SUBSTITUTE () и CHAR ().

Поскольку функции SUBSTITUTE () и CHAR () вложены в функцию TRIM (), формулу необходимо вводить в таблицу, а не использовать диалоговые окна функций для ввода аргументов.

Формула, предполагая, что данные с неразрывными пробелами находятся в ячейке A1, имеет вид:

Как работает формула

Каждая вложенная функция выполняет определенную задачу:

  • Функция CHAR предусматривает соответствующие коды ASCII для двух разных пробелов в формуле — 160 и 32
  • Функция SUBSTITUTE заменяет или заменяет все неразрывные пробелы между словами на регулярные пробелы
  • Функция TRIM удаляет лишние регулярные пробелы между словами, чтобы оператор нормально отображался на листе

Учитывая логику порядка операций формул Excel, формула вызывает функцию SUBSTITUTE () и сообщает ей о замене каждого вхождения CHAR (160) — неразрывного пробела — на стандартный пробел CHAR (32), содержащийся в ячейке A1. Затем функция TRIM () удаляет стандартные пробелы из замещенной строки.

Соображения

Если TRIM () не может выполнить работу, у вас могут быть проблемы, кроме неразрывных пробелов, особенно если вы работаете с исходным материалом, отображаемым в HTML. Когда вы вставляете материал в Excel, вставьте его в виде обычного текста, чтобы убрать фоновое форматирование из строки и удалить специальное форматирование, например символы, которые отображаются в виде белого на белом — который выглядит как пробел, но это не так. Проверьте также наличие встроенных вкладок, которые можно заменить, используя ту же формулу, что и выше, но заменив код ASCII 160 на 9.

SUBSTITUTE () полезен для замены любого кода ASCII любым другим.

Ссылка на основную публикацию