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

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

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

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

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

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

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

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

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

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

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

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

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

 = TRIM (ПОДСТАВИТЬ (А1, СИМ (160), CHAR (32))) 

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

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

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

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

Соображения

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

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

Оцените статью
Solutics.ru
Добавить комментарий

  1. Валерий

    А что делать, когда
    msgbox trim(“a b c”)
    выдает “a b c”, а не “abc”?

    Ответить