Вы узнаете несколько быстрых и простых способов, чтобы удалить начальные, конечные и лишние пробелы между словами, а также почему функция Excel СЖПРОБЕЛЫ (TRIM в английской версии)  не работает и как это исправить.

Вы сравниваете два столбца на совпадения, но ваши формулы не могут найти ни одной повторяющейся записи? 

Или вы складываете два столбца чисел, но получаете только нули? 

И почему, черт возьми, ваша очевидно правильная формула ВПР возвращает только кучу ошибок Н/Д? Это лишь несколько примеров проблем, на которые вы, возможно, ищете ответы. 

И все это вызвано лишними пробелами, скрытыми до, после или между числовыми и текстовыми значениями в ваших ячейках.

Microsoft Excel предлагает несколько различных способов очистки данных. В этом руководстве мы исследуем возможности функции СЖПРОБЕЛЫ как самого быстрого и простого способа удаления пробелов в Excel.

Итак, функция СЖПРОБЕЛЫ в Excel применяется, чтобы удалить лишние интервалы из текста. 

Она удаляет все начальные, конечные и промежуточные, за исключением одного пробела между словами.

Синтаксис её самый простой из возможных:

СЖПРОБЕЛЫ(текст)

Где текст - это ячейка, из которой вы хотите удалить лишние интервалы (или просто текстовая строка, заключённая в двойные кавычки).

лишние пробелы в ячейках Excel

Например, чтобы удалить их в ячейке A1, используйте эту формулу:

=СЖПРОБЕЛЫ(A1)

И это скриншот показывает результат:

функция СЖПРОБЕЛЫ удаляет лишние пробелы в ячейке Excel

Ага, это так просто!

Если в дополнение к лишним пробелам ваши данные содержат разрывы строк и непечатаемые символы, используйте функцию СЖПРОБЕЛЫ в сочетании с ПЕЧСИМВ (CLEAN в английской версии), чтобы удалить первые 32 непечатаемых символа в кодовой системе ASCII. 

Например, чтобы удалить пробелы, разрывы строк и другие нежелательные символы из ячейки A1, используйте эту формулу:

=СЖПРОБЕЛЫ(ПЕЧСИМВ(A1))

Дополнительные сведения см. в разделе Как удалить непечатаемые символы в Excel.

Теперь, когда вы знаете основы, давайте обсудим несколько примеров использования СЖПРОБЕЛЫ в Excel, а также те подводные камни, с которыми вы можете столкнуться.

Как убрать лишние пробелы во всём столбце.

Предположим, у вас есть столбец с именами, в котором есть пробелы до и после текста, а также более одного интервала между словами. Итак, как удалить все начальные, конечные и лишние промежуточные пробелы во всех ячейках одним махом? 

Записав формулу Excel СЖПРОБЕЛЫ в соседний столбец, а затем заменив формулы их значениями. Подробные инструкции приведены ниже.

Напишите это выражение для самой верхней ячейки, A2 в нашем примере:

=СЖПРОБЕЛЫ(A2)

Поместите курсор в нижний правый угол ячейки формулы (B2 в этом примере), и как только курсор превратится в знак плюса, дважды щелкните его, чтобы скопировать вниз по столбцу, до последней ячейки с данными. В результате у вас будет 2 столбца - исходные имена с интервалами и имена, приведённые в порядок при помощи формулы.

убрать лишние пробелы во всём столбце

Наконец, замените значения в исходном столбце новыми данными. Но будьте осторожны! Простое копирование нового столбца поверх исходного сломает ваши формулы. Чтобы этого не случилось, нужно копировать только значения, а не ячейки целиком. 

Вот как это сделать:

Выделите все ячейки с расчетами (B2:B8 в этом примере) и нажмите Ctrl + C, чтобы скопировать их. Или по правой кнопке мыши воспользуйтесь контекстным меню.

Выделите все ячейки со старыми данными (A2:A8) и нажмите Ctrl + Alt + V. Эта комбинация клавиш вставляет только значения и делает то же самое, что и контекстное меню Специальная вставка > Значения.

Нажмите ОК. Готово!

Совет. Если ваш текст в ячейке достаточно длинный и даже после удаления лишних пробелова с трудом помещается в ней, обратите внимание на это руководство: Как перенести текст на другую строку в ячейке Excel.

Как удалить ведущие пробелы в столбце с числами

Как вы только что видели, функция Excel СЖПРОБЕЛЫ без проблем удалила все лишние интервалы из столбца текстовых данных. Но что, если ваши данные — числа, а не текст?

удалить ведущие пробелы в столбце с числами

На первый взгляд может показаться, что функция СЖПРОБЕЛЫ сделала свое дело. Однако при более внимательном рассмотрении вы заметите, что обрезанные значения не ведут себя как числа. Вот лишь несколько признаков аномалии:

  • И исходный столбец, и обрезанные числа выравниваются по левому краю, даже если вы применяете к ним числовой формат. В то время как обычные числа по умолчанию выравниваются по правому краю.
  • Когда выбраны две или более ячеек с очищенными числами, Excel отображает только КОЛИЧЕСТВО в строке состояния.Для чисел он также должен отображать СУММУ и СРЕДНЕЕ.
  • Формула СУММ, примененная к этим ячейкам, возвращает ноль.

И что нам с этим делать?

Небольшой лайфхак. Если вы вместо СЖПРОБЕЛЫ(A2) используете операцию умножения на 1, то есть A1*1, то получите тот же результат. И еще один элегантный способ избавления от пробелов перед числом:  

=--A1

Но обращаю внимание, что результатом будет являться по-прежнему текст.

А вот такое хитрое выражение сразу превратит текст “    333” в число 333:

=--(--A1)

Вы видите, что все цифры выровнены по левому краю. Дело в том, что очищенные значения представляют собой текстовые строки, а нам нужны числа. Чтобы исправить это, вы можете умножить «обрезанные» значения на 1 (чтобы умножить все значения одним махом, используйте опцию  Специальная вставка > Умножить).

Более элегантное решение - заключить функцию СЖПРОБЕЛЫ в ЗНАЧЕН, например:

=ЗНАЧЕН(СЖПРОБЕЛЫ(A2))

Приведенное выше выражение удаляет все начальные и конечные пробелы, если они есть, и превращает полученное значение в число, как показано на скриншоте ниже:

как удалить лишние пробелы и превратить текст в число

И более того, если вам нужно именно число, то можете вовсе не утруждать себя удалением лишних символов перед цифрами. Выражение

=ЗНАЧЕН(A2)

сделает это за вас, и вы сразу получите на выходе число, с которым можно производить различные математические операции.

Кроме того, вы можете применить функцию Excel СЖПРОБЕЛЫ для удаления только начальных пробелов, сохраняя их все в середине текстовой строки без изменений. Пример формулы здесь: Как удалить только ведущие пробелы?

Несколько полезных приемов вы также можете посмотреть в этой статье: 4 способа убрать пробелы в числах.

Как посчитать лишние пробелы в ячейке.

Чтобы получить количество лишних пробелов в ячейке, узнайте общую длину текста с помощью функции ДЛСТР, затем вычислите длину строки без дополнительных интервалов и вычтите последнее из первого:

=ДЛСТР(A2)-ДЛСТР(СЖПРОБЕЛЫ(A2))

На рисунке ниже показана приведенная выше формула в действии:

посчитать лишние пробелы в ячейке

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

Как выделить ячейки с лишними пробелами?

При работе с конфиденциальной или важной информацией вы можете не решаться удалить что-либо, не видя, что именно вы удаляете. В этом случае вы можете сначала выделить ячейки, содержащие лишние пробелы, а затем безопасно удалить их.

Для этого создайте правило условного форматирования со следующей формулой:

=ДЛСТР($A2)>ДЛСТР(СЖПРОБЕЛЫ($A2))

Где A2 – самый верхний адрес с данными, которые вы хотите выделить.

Мы указываем Excel выделять ячейки, в которых общая длина строки больше, чем длина обрезанного текста.

Чтобы создать правило условного форматирования, выберите все ячейки, которые вы хотите выделить, без заголовков столбцов, перейдите на вкладку «Главная » и нажмите « Условное форматирование» > «Новое правило» > «Используйте формулу…».

Если вы еще не знакомы с условным форматированием Excel, вы найдете подробные инструкции здесь: Как создать правило условного форматирования на основе формулы .

Как показано на скриншоте ниже, результат полностью подтверждается числами, которые мы получили в соседнем столбце:

выделить цветом ячейки с лишними пробелами

Как видите, использовать функцию СЖПРОБЕЛЫ в Excel довольно просто. 

Если не работает удаление пробелов?

Функция СЖПРОБЕЛЫ предназначена для удаления только символа пробела, представленного значением кода 32 в 7-битном наборе символов ASCII. В наборе Unicode есть так называемый неразрывный пробел, который обычно используется на веб-страницах как символ html & nbsp. Он имеет десятичное значение 160, и функция СЖПРОБЕЛЫ не может удалить его сама. При копировании текста с веб-страниц или из Word вы вполне можете получить его в свою таблицу.

Иногда такие неразрывные пробелы вставляют специально, чтобы фраза в ячейке не разделялась по строкам. К примеру, некрасиво будет, если инициалы будут оторваны от фамилии и перенесены на следующую строку. В Microsoft Word такой спецсимвол вводится сочетанием клавиш Ctrl+Shift+Пробел.

Итак, если ваш набор данных содержит один или несколько пробелов, которые нашими стандартными методами не получается убрать, используйте функцию ПОДСТАВИТЬ, чтобы преобразовать неразрывные пробелы в обычные, а затем избавиться от их. Предполагая, что текст находится в A1, выражение выглядит следующим образом:

=СЖПРОБЕЛЫ(ПОДСТАВИТЬ(A2; СИМВОЛ(160); " "))

В качестве дополнительной меры предосторожности вы можете встроить функцию ПЕЧСИМВ для очистки ячейки от любых непечатаемых символов:

=СЖПРОБЕЛЫ(ПЕЧСИМВ(ПОДСТАВИТЬ(A2; СИМВОЛ(160); " ")))

На этом рисунке показана разница:

как удалить неразрывные пробелы в Excel

Если приведенные выше варианты также не работают, скорее всего, ваши данные содержат некоторые определенные непечатаемые символы с кодовыми значениями, отличными от 32 и 160.

В этом случае используйте одну из следующих формул, чтобы узнать код символа, где A1 - проблемная ячейка:

Перед текстом: = КОДСИМВ (ЛЕВСИМВ(A1;1))

После текста: = КОДСИМВ (ПРАВСИМВ(A1;1))

Внутри ячейки (где n - позиция проблемного знака в текстовой строке):

=КОДСИМВ(ПСТР(A1; n; 1)))

Затем передайте найденный код проблемного символа в СЖПРОБЕЛЫ(ПОДСТАВИТЬ()), как описано выше.

Например, если функция КОДСИМВ возвращает 9, что является знаком горизонтальной табуляции, используйте следующую формулу для ее удаления:

=СЖПРОБЕЛЫ(ПОДСТАВИТЬ(A2; СИМВОЛ(9); " "))

Инструмент Trim Spaces: удаляйте лишние пробелы одним щелчком мыши.

Если применение формул представляет сложность для вас, тогда вам может понравиться этот метод буквально в один клик, чтобы избавиться от пробелов в Excel. Надстройка Ultimate Suite среди множества полезных инструментов, например, изменение регистра, разделение текста и извлечение из него нужных символов, предлагает опцию «Удалить пробелы» .

Если в Excel установлен Ultimate Suite, то удалить пробелы будет очень просто:

  1. Выберите одну или несколько ячеек, в которой вы хотите убрать пробелы.
  2. Нажмите кнопку «Trim Spaces» на ленте.
  3. Выберите один, несколько или сразу все из следующих вариантов:
    • Обрезать начальные и конечные пробелы.
    • Удалить лишние пробелы между словами, кроме одного.
    • Удалить неразрывные пробелы ( )
    • Удалить лишние переносы строк до и после значений, между значениями оставить только один.
    • Удалить все переносы строк в ячейке.
  4. Нажмите кнопку Обрезать (Trim).

Вот и все! Все лишние пробелы удаляются в мгновение ока.

В этом примере мы удаляем всё лишнее, сохраняя только по одному пробелу между словами.

удаление лишних пробелов при помощи Trim Spaces

Задача, с которой не справляются формулы Excel, выполняется одним щелчком мыши! Вот результат:

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

Если вы хотите попробовать этот инструмент на своих данных, вы можете загрузить ознакомительную версию.

 Также у нас есть еще один материал на эту тему: 7 примеров удаления пробелов в ячейке.