Вы узнаете несколько быстрых и простых способов, чтобы удалить начальные, конечные и лишние пробелы между словами, а также почему функция Excel СЖПРОБЕЛЫ (TRIM в английской версии) не работает и как это исправить.
Вы сравниваете два столбца на совпадения, но ваши формулы не могут найти ни одной повторяющейся записи?
Или вы складываете два столбца чисел, но получаете только нули?
И почему, черт возьми, ваша очевидно правильная формула ВПР возвращает только кучу ошибок Н/Д? Это лишь несколько примеров проблем, на которые вы, возможно, ищете ответы.
И все это вызвано лишними пробелами, скрытыми до, после или между числовыми и текстовыми значениями в ваших ячейках.
Microsoft Excel предлагает несколько различных способов очистки данных. В этом руководстве мы исследуем возможности функции СЖПРОБЕЛЫ как самого быстрого и простого способа удаления пробелов в Excel.
Итак, функция СЖПРОБЕЛЫ в Excel применяется, чтобы удалить лишние интервалы из текста.
Она удаляет все начальные, конечные и промежуточные, за исключением одного пробела между словами.
Синтаксис её самый простой из возможных:
СЖПРОБЕЛЫ(текст)
Где текст - это ячейка, из которой вы хотите удалить лишние интервалы (или просто текстовая строка, заключённая в двойные кавычки).
Например, чтобы удалить их в ячейке A1, используйте эту формулу:
=СЖПРОБЕЛЫ(A1)
И это скриншот показывает результат:
Ага, это так просто!
Если в дополнение к лишним пробелам ваши данные содержат разрывы строк и непечатаемые символы, используйте функцию СЖПРОБЕЛЫ в сочетании с ПЕЧСИМВ (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); " ")))
На этом рисунке показана разница:
Если приведенные выше варианты также не работают, скорее всего, ваши данные содержат некоторые определенные непечатаемые символы с кодовыми значениями, отличными от 32 и 160.
В этом случае используйте одну из следующих формул, чтобы узнать код символа, где A1 - проблемная ячейка:
Перед текстом: = КОДСИМВ (ЛЕВСИМВ(A1;1))
После текста: = КОДСИМВ (ПРАВСИМВ(A1;1))
Внутри ячейки (где n - позиция проблемного знака в текстовой строке):
=КОДСИМВ(ПСТР(A1; n; 1)))
Затем передайте найденный код проблемного символа в СЖПРОБЕЛЫ(ПОДСТАВИТЬ()), как описано выше.
Например, если функция КОДСИМВ возвращает 9, что является знаком горизонтальной табуляции, используйте следующую формулу для ее удаления:
=СЖПРОБЕЛЫ(ПОДСТАВИТЬ(A2; СИМВОЛ(9); " "))
Инструмент Trim Spaces: удаляйте лишние пробелы одним щелчком мыши.
Если применение формул представляет сложность для вас, тогда вам может понравиться этот метод буквально в один клик, чтобы избавиться от пробелов в Excel. Надстройка Ultimate Suite среди множества полезных инструментов, например, изменение регистра, разделение текста и извлечение из него нужных символов, предлагает опцию «Удалить пробелы» .
Если в Excel установлен Ultimate Suite, то удалить пробелы будет очень просто:
- Выберите одну или несколько ячеек, в которой вы хотите убрать пробелы.
- Нажмите кнопку «Trim Spaces» на ленте.
- Выберите один, несколько или сразу все из следующих вариантов:
- Обрезать начальные и конечные пробелы.
- Удалить лишние пробелы между словами, кроме одного.
- Удалить неразрывные пробелы ( )
- Удалить лишние переносы строк до и после значений, между значениями оставить только один.
- Удалить все переносы строк в ячейке.
- Нажмите кнопку Обрезать (Trim).
Вот и все! Все лишние пробелы удаляются в мгновение ока.
В этом примере мы удаляем всё лишнее, сохраняя только по одному пробелу между словами.
Задача, с которой не справляются формулы Excel, выполняется одним щелчком мыши! Вот результат:
А вот обзор других возможностей работы с текстовыми данными — изменить регистр символов, добавить текст в начале в конце, перед или после выбранных символов, удалить непечатаемые символы, извлечь часть текста по позиции или после указанных символов, извлечь числа из текста, разделить текст по столбцам или строкам и другие полезные операции.
Если вы хотите попробовать этот инструмент на своих данных, вы можете загрузить ознакомительную версию.
Также у нас есть еще один материал на эту тему: 7 примеров удаления пробелов в ячейке.
Дай вам Бог здоровья!