Menu

Как убрать пробелы в Excel (эксель): СЖПРОБЕЛЫ и ПЕЧСИМВ

=СЖПРОБЕЛЫ(A2) удаляет пробелы до и после текста в A2 и сводит несколько пробелов между словами к одному. ПОДСТАВИТЬ удаляет все пробелы или неразрывные пробелы, которые СЖПРОБЕЛЫ пропускает.

Каждая таблица на этой странице живая: измените число или формулу, и она пересчитается.

=СЖПРОБЕЛЫ(A2) удаляет все пробелы до и после текста в A2 и сводит каждую группу пробелов между словами к одному пробелу. " Ana Silva " превращается в Ana Silva. Это функция СЖПРОБЕЛЫ (по-английски TRIM). В таблицах формулы записаны по-английски, но их можно вводить и по-русски, с точкой с запятой: =ПОДСТАВИТЬ(A2;" ";"").

Удалить лишние пробелы
B2
ABCD
1NameTRIMLength beforeLength after
2 Ana Silva Ana Silva149
3Ben Okafor Ben Okafor1310
4 Chen WuChen Wu107
Нажмите на ячейку, чтобы увидеть её формулу. Измените число или формулу, и таблица пересчитается.В русском Excel: =СЖПРОБЕЛЫ(A2)

В столбце A пробелы не видны, поэтому здесь есть столбцы с длиной: ДЛСТР (LEN) их считает. Лишние пробелы обычно приходят вместе с импортированными или вставленными данными и ломают поиск и сравнения без всяких видимых признаков.

Почему лишние пробелы ломают формулы

Для Excel Ana с пробелом в конце и Ana это разные тексты. Сравнение возвращает ЛОЖЬ, СЧЁТЕСЛИ не считает ячейку, а поиск возвращает #Н/Д (по-английски #N/A); таблицы на этой странице показывают ошибки под английскими именами:

Пробел в конце ломает совпадение
D3
ABCD
1NameScoreIs it Ana?Ana's score
2Ana 90FALSEnot found
3Ben85TRUE90
4Chen78
Нажмите на ячейку, чтобы увидеть её формулу. Измените число или формулу, и таблица пересчитается.В русском Excel: =ПРОСМОТРX("Ana";СЖПРОБЕЛЫ(A2:A4);B2:B4;"not found")

C2 даёт ЛОЖЬ, а D2 ничего не находит (без четвёртого аргумента ПРОСМОТРX показала бы #Н/Д), потому что в A2 стоит Ana с пробелом. D3 обрезает пробелы во всём столбце поиска прямо внутри формулы и находит 90. Это работает в Microsoft 365 и Excel 2021; в старых версиях сначала очистите столбец. Пробелы одна из самых частых причин ошибки #Н/Д при поиске.

Удалить все пробелы

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

СЖПРОБЕЛЫ или удаление всех пробелов
B2
ABC
1CodeTRIMNo spaces
2 AB 12 34 AB 12 34AB1234
3555 201 3344555 201 33445552013344
Нажмите на ячейку, чтобы увидеть её формулу. Измените число или формулу, и таблица пересчитается.В русском Excel: =СЖПРОБЕЛЫ(A2)
Очистить имена клиентов
B2
AB
1CustomerClean name
2 Eli Novak
3Fay Ruiz
4Gus Lee
Нажмите на ячейку, чтобы увидеть её формулу. Измените число или формулу, и таблица пересчитается.

Ваша очередь: В именах в столбце A есть лишние пробелы. В B2 верните имя из A2 без пробелов по краям и с одним пробелом между словами. Формула протягивается до B4.

СЖПРОБЕЛЫ не работает: неразрывные пробелы

Текст, скопированный с веб-страницы или из PDF, часто содержит неразрывные пробелы, символ 160, вместо обычных пробелов, символа 32. Выглядят они одинаково, но СЖПРОБЕЛЫ удаляет только символ 32, поэтому в Excel ничего не меняется:

A2:             Ana Silva   (a non-breaking space between the names and one at the end)
=LEN(A2)        10
=LEN(TRIM(A2))  10, TRIM removed nothing

В русском Excel последняя формула записывается как =ДЛСТР(СЖПРОБЕЛЫ(A2)). Решение такое: сначала превратите каждый символ 160 в обычный пробел функцией ПОДСТАВИТЬ, а остальное сделает СЖПРОБЕЛЫ. Текст в A2 ниже собран через СИМВОЛ(160), чтобы вы видели символ, который вставляет веб-страница:

Исправить неразрывные пробелы
D2
ABCDE
1Pasted textLengthCode of 4th characterFixedFixed length
2Ana Silva 10160Ana Silva9
Нажмите на ячейку, чтобы увидеть её формулу. Измените число или формулу, и таблица пересчитается.В русском Excel: =СЖПРОБЕЛЫ(ПОДСТАВИТЬ(A2;СИМВОЛ(160);" "))

C2 показывает, как распознать странный символ: КОДСИМВ(ПСТР(A2;4;1)) возвращает код 4-го символа, здесь 160. В D2 9 символов: 10 из A2 минус пробел в конце.

ПЕЧСИМВ: удалить переносы строк и другие скрытые символы

ПЕЧСИМВ (по-английски CLEAN) удаляет непечатаемые символы с кодами от 0 до 31: переносы строк (10), возвраты каретки (13) и табуляцию (9). Пробелы она не трогает, поэтому обычно их используют в паре: =СЖПРОБЕЛЫ(ПЕЧСИМВ(A2)):

Сначала ПЕЧСИМВ, затем СЖПРОБЕЛЫ
B2
ABC
1ImportedCLEANTRIM(CLEAN)
2 Ana Silva AnaSilva AnaSilva
Нажмите на ячейку, чтобы увидеть её формулу. Измените число или формулу, и таблица пересчитается.В русском Excel: =ПЕЧСИМВ(A2)

ПЕЧСИМВ просто удаляет перенос строки, поэтому имя и фамилия сливаются: AnaSilva . Когда перенос строки разделяет слова, замените его пробелом, =СЖПРОБЕЛЫ(ПОДСТАВИТЬ(A2;СИМВОЛ(10);" ")); этот случай разобран на странице о переносе строки.

Заменить исходный столбец очищенным текстом

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

  1. Введите =СЖПРОБЕЛЫ(A2) в пустом столбце рядом с данными и протяните вниз.
  2. Скопируйте этот столбец (Ctrl+C, на Mac Cmd+C).
  3. Выделите исходный столбец и выберите Главная > Вставить > Вставить значения, чтобы в ячейки попал текст, а не формулы.
  4. Удалите вспомогательный столбец.

«Найти и заменить» умеет удалять пробелы без формулы, но не отличает пробелы по краям от пробелов между словами: замена пробела пустотой склеит Ana Silva в AnaSilva. Замена двух пробелов одним, повторённая, пока Excel не перестанет находить что заменять, это ручной вариант правила СЖПРОБЕЛЫ для пробелов внутри текста. Одиночный пробел в начале или в конце при этом остаётся.

Часто задаваемые вопросы

Как убрать пробелы в Excel?

=СЖПРОБЕЛЫ(A2) удаляет пробелы в начале и в конце и оставляет один пробел между словами. Чтобы удалить все пробелы, включая пробелы между словами, используйте =ПОДСТАВИТЬ(A2;" ";"").

Почему СЖПРОБЕЛЫ не удаляет пробелы?

Скорее всего, это неразрывные пробелы (символ 160), которые часто попадают в текст, скопированный с веб-страниц. СЖПРОБЕЛЫ удаляет только обычный пробел, символ 32. Сначала преобразуйте их: =СЖПРОБЕЛЫ(ПОДСТАВИТЬ(A2;СИМВОЛ(160);" ")).

Чем СЖПРОБЕЛЫ отличается от ПЕЧСИМВ?

СЖПРОБЕЛЫ удаляет лишние пробелы. ПЕЧСИМВ удаляет непечатаемые символы с кодами от 0 до 31, например переносы строк и табуляцию. =СЖПРОБЕЛЫ(ПЕЧСИМВ(A2)) делает и то, и другое.

Как заменить исходный столбец очищенным текстом?

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

Иллюстрация языков программирования Coddy

Учитесь программировать с Coddy

НАЧАТЬ