Excel найти лишний пробел

Типичная ошибка, которая встречается в электронных таблицах, связана с невидимыми символами пробелов. [1] В ячейке В2 (рис. 1) находится формула, берущая название цвета в ячейке В1 и возвращающая соответствующий код из таблицы D1:E6: =ВПР(B1;D1:E6;2;ЛОЖЬ).

%d1%80%d0%b8%d1%81-1-%d1%84%d0%be%d1%80%d0%bc%d1%83%d0%bb%d0%b0-%d0%bf%d0%be%d0%b8%d1%81%d0%ba%d0%b0-%d0%b2%d0%be%d0%b7%d0%b2%d1%80%d0%b0%d1%89%d0%b0%d0%b5%d1%82-%d1%86%d0%b2%d0%b5%d1%82-%d0%b2

Рис. 1. Формула поиска возвращает цвет, введенный в ячейку В1

Скачать заметку в формате Word или pdf, примеры в формате Excel

В следующем примере формула в ячейке В2 возвращает ошибку, указывая, что значение Красный не было найдено в таблице. Сотни и тысячи пользователей Excel потратили массу времени, чтобы понять, почему подобные операции не работают. Ответ прост: в ячейке D5 написано не «Красный», а «Красный », то есть за словом следует пробел. Для Excel это две разные последовательности символов.

%d1%80%d0%b8%d1%81-2-%d1%84%d0%be%d1%80%d0%bc%d1%83%d0%bb%d0%b0-%d0%bf%d0%be%d0%b8%d1%81%d0%ba%d0%b0-%d0%bd%d0%b5-%d0%bc%d0%be%d0%b6%d0%b5%d1%82-%d0%bd%d0%b0%d0%b9%d1%82%d0%b8-%d0%b2-%d1%82%d0%b0

Рис. 2. Формула поиска не может найти в таблице слово «Красный»

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

  • один ведущий пробел и более;
  • один завершающий пробел и более;
  • два и более последовательных пробела в самом тексте.

Один из способов идентификации таких ячеек связан с использованием условного форматирования. Чтобы настроить его, выполните следующие действия.

  1. Выделите все ячейки с текстом, в которых хотите применить условное форматирование.
  2. Выполните команду Главная –> Условное форматирование –> Создать правило, чтобы открыть диалоговое окно Создание правила форматирования (рис. 3).
  3. В верхней части этого окна выберите параметр Использовать формулу для определения форматируемых ячеек.
  4. В области Измените описание правила введите формулу: =D2<>СЖПРОБЕЛЫ(D2). Данная формула предполагает, что ячейка D2 является верхней левой ячейкой в диапазоне. Если это не так, замените адрес верхней левой ячейки, который вы указали в шаге 1.
  5. Нажмите кнопку Формат, чтобы отобразить диалоговое окно Формат ячеек, и выберите тип форматирования, которое хотите применить к ячейкам, содержащим лишние пробелы, — например, желтую заливку.
  6. Нажмите Ok два раза.

В результате во всем диапазоне, который вы выделили на шаге 1, ячейки с лишними пробелами будут выделены с помощью заданного вами форматирования, и вы сможете легко их найти и исправить (рис. 4).

%d1%80%d0%b8%d1%81-3-%d0%b8%d1%81%d0%bf%d0%be%d0%bb%d1%8c%d0%b7%d0%be%d0%b2%d0%b0%d0%bd%d0%b8%d0%b5-%d1%83%d1%81%d0%bb%d0%be%d0%b2%d0%bd%d0%be%d0%b3%d0%be-%d1%84%d0%be%d1%80%d0%bc%d0%b0%d1%82%d0%b8

Рис. 3. Параметры условного форматирования для выделения ячеек, содержащих лишние пробелы

%d1%80%d0%b8%d1%81-4-%d1%83%d1%81%d0%bb%d0%be%d0%b2%d0%bd%d0%be%d0%b5-%d1%84%d0%be%d1%80%d0%bc%d0%b0%d1%82%d0%b8%d1%80%d0%be%d0%b2%d0%b0%d0%bd%d0%b8%d0%b5-%d0%b2%d1%8b%d0%b4%d0%b5%d0%bb%d0%b8%d0%bb

Рис. 4. Условное форматирование выделило ячейки с лишними пробелами

Функция СЖПРОБЕЛЫ действует так, что формула, описанная в шаге 4, также применяет условное форматирование ко всем числовым ячейкам. Если в вашем диапазоне встречаются числа, используйте на шаге 4 формулу: =ЕСЛИ(НЕ(ЕНЕТЕКСТ(D2));D2<>СЖПРОБЕЛЫ(D2)). Кроме того, нужно иметь в виду, что функция СЖПРОБЕЛЫ не удаляет (и не воспринимает при условном форматировании) знак неразрывного пробела.

[1] По материалам книги Джон Уокенбах. Excel 2013. Трюки и советы. – СПб.: Питер, 2014. – С. 183–185.

Skip to content

Как удалить пробелы в ячейках Excel

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

В чем самая большая проблема с пробелами? Часто они невидимы для человеческого глаза. Внимательный пользователь может иногда заметить пустой интервал, скрывающийся перед текстом, или несколько ненужных пустот между словами. Но нет никакого способа визуально обнаружить конечные пробелы, те, которые находятся вне поля зрения в конце ячеек.

  • Удаляем все пробелы при помощи «Найти и заменить»
  • Используем формулу СЖПРОБЕЛЫ
  • Удаление начальных и концевых пробелов формулой
  • Как убрать разрыв строки и непечатаемые символы
  • Формула для удаления неразрывных пробелов
  • Как найти и удалить непечатаемый символ
  • Как цифры с пробелами преобразовать в число
  • Считаем пробелы при помощи формулы
  • Простой способ удаления пробелов без формул.

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

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

Как убрать пробелы в Excel при помощи «Найти и заменить»

Это более быстрый метод, который может быть полезен в следующих ситуациях:

  1. Удаление двойных интервалов.

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

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

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

  • Выделите ячейки, из которых вы хотите их удалить.
  • Перейдите на главное меню -> Найти и выбрать -> Заменить.(Также можно использовать сочетание клавиш — CTRL + H).
  • В диалоговом окне «Найти и заменить» введите:
    • Найти: Двойной пробел.
    • Заменить на: Одинарный.

Нажмите «Заменить все».

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

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

  1. Чтобы удалить все пробелы в тексте, выполните следующие действия:
  • Выделите нужные ячейки.
  • Перейдите в меню Главная -> Найти и выбрать -> Заменить. (Также можно использовать сочетание клавиш — CTRL + H).
  • В диалоговом окне «Найти и заменить» введите:

Найти: одинарный пробел.

Заменить на: оставьте это поле пустым.

  • Нажмите «Заменить все».

Это удалит все пробелы в выбранном диапазоне.  

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

Функция СЖПРОБЕЛЫ.

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

Стандартный синтаксис очень простой:

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

Где A2 — ячейка, из которой вы хотите удалить.

Как показано на следующем скриншоте, СЖПРОБЕЛЫ успешно удалила всё до и после текста, а также лишние интервалы в середине строки.

И теперь вам нужно только заменить значения в исходном столбце новыми. Самый простой способ сделать это — использовать Специальная вставка > Значения.

Формулы для удаления начальных и концевых пробелов.

В некоторых ситуациях вы можете вводить двойные или даже тройные интервалы между словами, чтобы ваши данные были более удобочитаемыми. Однако вам нужно избавиться от ведущих пробелов (находящихся в начале), например:

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

=ПСТР(A2;НАЙТИ(ПСТР(СЖПРОБЕЛЫ(A2);1;1);A2);ДЛСТР(A2))

Это выражение в начале вычисляет позицию первого знака в строке. Затем вы передаете это число другой функции ПСТР, чтобы она возвращала всю текстовую строку (длина строки рассчитывается с помощью ДЛСТР), начиная с позиции первого знака.

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

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

=ЛЕВСИМВ(A2;МАКС((ПСТР(A2&ПОВТОР(» «;99);СТРОКА(A2:A100);1)<>» «)*СТРОКА(A2:A100)))

И обратите снимание, что ее нужно вводить как формулу массива (с Ctrl+Shift+Enter). В столбце A выровнять по правому краю получилось плохо из-за разного количества концевых пробелов в каждой ячейке. В столбце B эта проблема решена, и можно красиво расположить текст.

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

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

Функция СЖПРОБЕЛЫ может избавиться от пробелов, но не может устранить непечатаемые символы. Технически она предназначена для удаления только значения 32 в 7-битной системе ASCII , которое как раз и является кодом пробела.

Чтобы удалить ещё и непечатаемые символы в строке, используйте её в сочетании с функцией ПЕЧСИМВ (CLEAN в английской версии). Как следует из названия, ПЕЧСИМВ предназначена для очистки данных от ненужного «мусора» и умеет удалять любой из первых 32 непечатаемых символов в 7-битном наборе ASCII (значения от 0 до 31), включая разрыв строки (значение 10).

Предполагая, что очищаемые данные находятся в ячейке A2, формула будет следующей:

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

Практически всегда, когда при помощи приведенного выше выражения вы удаляете разрывы строки, то отдельные слова оказываются «склеенными» друг с другом. Вы можете исправить это, используя один из следующих способов:

  • Воспользуйтесь инструментом Excel «Заменить все»: в поле «Найти» введите возврат каретки, нажав сочетание клавиш Ctrl + J. И в поле «Заменить» введите пробел. При нажатии кнопки «Заменить все» все разрывы строк в выбранном диапазоне заменяются пробелами.
  • Используйте следующую формулу для замены возврата каретки (код 13) и перевода строки (код 10) на пробелы:

=СЖПРОБЕЛЫ(ПОДСТАВИТЬ(ПОДСТАВИТЬ(A2; СИМВОЛ(13);» «); СИМВОЛ(10); » «))

Как видите, почтовый адрес в колонке С выглядит вполне читаемо.

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

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

Чтобы избавиться от неразрывных пробелов (html-код &nbsp; ), замените их обычными, а затем попросите функцию СЖПРОБЕЛЫ удалить их:

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

Чтобы лучше понять логику, давайте разберем формулу:

  • Неразрывный пробел имеет код 160 в 7-битной системе ASCII, поэтому вы можете определить его с помощью СИМВОЛ(160).
  • Функция ПОДСТАВИТЬ используется для превращения неразрывных пробелов в обычные.
  • И, наконец, вы вставляете ПОДСТАВИТЬ в СЖПРОБЕЛЫ, чтобы окончательно удалить всё лишнее.

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

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

Следующий скриншот демонстрирует разницу в результатах:

Как удалить определенный непечатаемый символ

Если взаимодействие трех функций, описанных в приведенном выше примере, не смогло устранить весь мусор из текста, то это означает, что оставшиеся знаки имеют значения ASCII, отличные от 0 до 32 (непечатаемые символы) или 160 (неразрывный пробел).

В этом случае используйте функцию КОДСИМВ, чтобы сначала идентифицировать код мешающего вам знака, а затем используйте ПОДСТАВИТЬ, чтобы заменить его обычным пробелом. А затем при помощи СЖПРОБЕЛЫ удалите его.

Предполагая, что нежелательные символы, от которых вы хотите избавиться, находятся в ячейке A2, вы пишете два выражения:

  1. В ячейке С2 определите код проблемного знака, используя одну из следующих функций:
    • Ведущий пробел или непечатаемый символ в начале строки:

=КОДСИМВ(ЛЕВСИМВ(A2;1))

  • Конечный пробел или непечатаемый символ в конце строки:

= КОДСИМВ(ПРАВСИМВ(A2;1))

  • Пробел или непечатаемый символ в середине строки, где n — позиция проблемного знака:

= КОДСИМВ(ПСТР(A2, n, 1)))

В этом примере у нас есть неизвестный знак в середине текста, в 11-й позиции, и мы определим его код:

=КОДСИМВ(ПСТР(A2;11;1))

Получаем значение 127 (см. скриншот ниже).

  1. В ячейке C3 вы заменяете СИМВОЛ(127) обычным пробелом (» «), а затем просто удаляете его:

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

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

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

Результат должен выглядеть примерно так:

Эту универсальную формулу мы и использовали. Как видите, успешно.

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

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

Чтобы удалить все пробелы одним махом, используйте ПОДСТАВИТЬ, как описано в предыдущем примере, с той лишь разницей, что вы заменяете знак пробела, возвращаемый при помощи СИМВОЛ(32), ничем («»):

=ПОДСТАВИТЬ(A2; СИМВОЛ(32); «»)

Или вы можете просто ввести его (» «) в формуле, например:

=ПОДСТАВИТЬ(A2; “ “; «»)

Результатом этого будет текст, состоящий из цифр. Если же в качестве результата вам нужны именно числа, добавьте перед формулой два знака “-“ (минус). Любая математическая операция автоматически превращает цифры в число. А дважды применив минус, то есть дважды умножив на минус 1, мы не изменим величину числа и его знак.

Как посчитать пробелы в Excel

Чтобы получить общее количество пробелов в ячейке, выполните следующие действия:

  • Вычислите всю длину строки с помощью функции ДЛСТР:  ДЛСТР (A2)
  • Замените все пробелы ничем: ПОДСТАВИТЬ(A2; » «; «»)
  • Вычислить длину строки без пробелов: ДЛСТР(ПОДСТАВИТЬ(A2; » «; «»))
  • Вычтите этот результат из первоначальной длины.

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

=ДЛСТР(A3) — ДЛСТР(ПОДСТАВИТЬ(A3;» «;»»))

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

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

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

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

Простой способ удаления пробелов без формул.

Как вы уже знаете, лишние пробелы и другие нежелательные символы могут незаметно скрываться на ваших листах, особенно если вы импортируете данные из внешних источников. Вы также знаете, как удалять пробелы в Excel с помощью формул. Конечно, изучение нескольких формул – хорошее упражнение для оттачивания ваших навыков, но это может занять много времени.

Пользователи Excel, которые ценят свое время и ценят удобство, могут воспользоваться текстовыми инструментами, включенными в надстройку Ultimate Suite for Excel . Один из этих удобных инструментов позволяет удалять пробелы и непечатаемые символы одним нажатием кнопки.

После установки Ultimate Suite добавляет на ленту Excel несколько полезных кнопок, таких как «Удалить пробелы» , «Удалить символы» , «Преобразовать текст»  и многое другое.

Всякий раз, когда вы хотите удалить лишние пробелы в таблицах Excel, выполните следующие 4 быстрых шага:

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

Готово! Все лишние пробелы удалены одним щелчком мыши:

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

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

ознакомительную версию Ultimate Suite. Благодарю вас за чтение и с нетерпением жду встречи с вами в нашем блоге на следующей неделе!

Формула ЗАМЕНИТЬ и ПОДСТАВИТЬ для текста и чисел В статье объясняется на примерах как работают функции Excel ЗАМЕНИТЬ (REPLACE в английской версии) и ПОДСТАВИТЬ (SUBSTITUTE по-английски). Мы покажем, как использовать функцию ЗАМЕНИТЬ с текстом, числами и датами, а также…
Как убрать пробелы в числах в Excel Представляем 4 быстрых способа удалить лишние пробелы между цифрами в ячейках Excel. Вы можете использовать формулы, инструмент «Найти и заменить» или попробовать изменить формат ячейки. Когда вы вставляете данные из…
Функция СЖПРОБЕЛЫ — как пользоваться и примеры Вы узнаете несколько быстрых и простых способов, чтобы удалить начальные, конечные и лишние пробелы между словами, а также почему функция Excel СЖПРОБЕЛЫ (TRIM в английской версии)  не работает и как…
Функция ПРАВСИМВ в Excel — примеры и советы. В последних нескольких статьях мы обсуждали различные текстовые функции. Сегодня наше внимание сосредоточено на ПРАВСИМВ (RIGHT в английской версии), которая предназначена для возврата указанного количества символов из крайней правой части…
Функция ЛЕВСИМВ в Excel. Примеры использования и советы. В руководстве показано, как использовать функцию ЛЕВСИМВ (LEFT) в Excel, чтобы получить подстроку из начала текстовой строки, извлечь текст перед определенным символом, заставить формулу возвращать число и многое другое. Среди…
5 примеров с функцией ДЛСТР в Excel. Вы ищете формулу Excel для подсчета символов в ячейке? Если да, то вы, безусловно, попали на нужную страницу. В этом коротком руководстве вы узнаете, как использовать функцию ДЛСТР (LEN в английской версии)…
Как быстро сосчитать количество символов в ячейке Excel В руководстве объясняется, как считать символы в Excel. Вы изучите формулы, позволяющие получить общее количество символов в диапазоне и подсчитывать только определенные символы в одной или нескольких ячейках. В нашем предыдущем…

Подсветка лишних пробелов

Предположим, что мы создали форму для ввода данных пользователем – например, такую:

highlight-bad-spaces1.png

При вводе всегда есть вероятность некорректного ввода информации, «человеческий фактор». Один из вариантов его проявления– лишние пробелы. Кто-то ставит их случайно, кто-то – намеренно, но, в любом случае, даже один лишний пробел будет представлять для вас проблему в дальнейшем при обработке введенной информации. Дополнительная «прелесть» в том, что их еще и не видно, хотя, если очень хочется, то можно сделать видимыми с помощью макроса.

Безусловно, можно и нужно «причесывать» информацию после ввода с помощью специальных функций или макросов. А можно подсвечивать некорректно введенные данные прямо в процессе заполнения формы, оперативно сигнализируя об ошибке пользователю. Для этого:

  1. Выделите поля ввода, где нужна проверка на лишние пробелы (желтые ячейки в нашем примере).
  2. Выберите на Главной вкладке команду Условное форматирование – Создать правило (Home – Conditional Formatting — Create Rule).
  3. Выберите тип правила Использовать формулу для определения форматируемых ячеек (Use formula to determine which cells to format) и введите в поле следующую формулу:

highlight-bad-spaces2.png

где D4 – адрес текущей ячейки (без знаков «$»).

В английской версии это будет, соответственно =G4<>TRIM(G4)

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

Теперь при забивании лишних пробелов «для красоты» наши поля ввода будут подсвечиваться красным, намекая пользователю, что он не прав:

highlight-bad-spaces.gif

Вот такой простой, но приятный трюк, который я использовал в много раз в своих проектах. Надеюсь, что пригодится и вам :)

Ссылки по теме

  • Зачистка текста от лишних пробелов, непечатаемых символов, латиницы и т.д.
  • Инструменты для удаления лишних пробелов из надстройки PLEX
  • Защита листов, книг и файлов в Microsoft Excel

Рассмотрим способы удаления пробелов в Excel (например, между словами, в начале или конце предложений, в числах).


Приветствую всех, уважаемые читатели блога TutorExcel.Ru.

Зачастую при копировании текста или переносе таблиц возникают проблемы с наличием лишних символов, которые могут появиться по самым разным причинам: неправильный ввод данных, импортирование данных из внешних источников и т.д.

Достаточно часто лишние пробелы в Excel встречаются в тексте в следующих случаях:

  • В начале или в конце предложений;
  • Дублирование пробелов;
  • Невидимые символы, в т.ч. неразрывный пробел;
  • В числах (в разделителях разрядов).

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

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

Рассмотрим 2 основных способа, как можно удалить лишние символы:

  • Инструмент «Найти и заменить». Удаление пробелов через диалоговое окно;
  • С помощью функций. Формульный вариант удаления.

Инструмент «Найти и заменить»

Предположим, что у нас есть текст или таблица со словами, в котором присутствует дублирование пробелов.

Для начала выделяем диапазон ячеек с данными и выбираем на панели вкладок Главная -> Редактирование -> Найти и выделить -> Заменить либо просто нажимаем сочетание клавиш Ctrl + H:

Инструмент "Найти и заменить"
Появляется стандартное диалоговое окно замены, затем вводим в поле Найти два пробела, а в Заменить на — один. Нажимаем Заменить все и повторяем операцию до тех пор, пока Excel находит повторения.

Как видим алгоритм достаточно простой, однако данный способ удаления пробелов не срабатывает, если они присутствуют в конце или в начале текста.

С помощью функций

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

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

Удаление с помощью функции СЖПРОБЕЛЫ
Далее копируем содержимое столбца B и вставляем значения без связей в столбец A, после чего удаляем вспомогательный столбец.
Минусом данного способа является его неудобство при работе с большими объемами данных, так как для каждой редактируемой ячейки необходимо создавать дополнительное место где будет обрабатываться исходная ячейка.

Неразрывный пробел в Excel

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

Данный символ внешне выглядит как обычный пробел, однако его нельзя удалить с помощью функции СЖПРОБЕЛЫ или инструмента «Найти и Заменить» (при вводе в поле для замены обычного пробела).

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

Каждый символ в Excel имеет свою кодировку в таблице знаков ANSI (для ОС Windows), в том числе и интересные нам одиночный пробел (символ 32) и неразрывный (символ 160).

Поэтому с помощью функции ПОДСТАВИТЬ заменяем неразрывный пробел (символ 160) на обычный (символ 32), а затем к полученному результату применяя функцию СЖПРОБЕЛЫ получаем требуемый результат:

Удаление неразрывного пробела
На самом деле убрать неразрывный пробел можно и с помощью «Найти и заменить», для этого в поле Найти необходимо ввести неразрывный пробел и заменить его либо на обычный, либо удалить, оставив поле Заменить на пустым.

Возникает вопрос, как это сделать?

Первый способ — непосредственно скопировать данный символ из текста и ввести в поле Найти.

Второй способ — воспользоваться Alt-кодом (для систем Windows) и ввести комбинацию Alt + 0160 (удерживая клавишу Alt нужно набрать 0160 на цифровой клавиатуре).

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

Проблема с удалением пробелов встречается и при работе с числами — в числах попадаются пробелы (к примеру, вместо разделителей разрядов), из-за чего они воспринимаются в Excel как текст.

Предположим, что у нас имеется таблица с числами, где содержатся пробелы. Выделяем диапазон с данными и с помощью инструмента «Найти и Заменить» удаляем пробелы, подставив вместо одиночного пробела пустое поле, как показано в примере выше.

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

Спасибо за внимание!
Если у вас есть мысли или вопросы по теме статьи — делитесь ими в комментариях.

Удачи вам и до скорых встреч на страницах блога Tutorexcel.ru!

Поделиться с друзьями:
Поиск по сайту:

Содержание:

  • 1 Синтаксис функции
  • 2 Примеры
  • 3 Функция НАЙТИ() vs ПОИСК()
  • 4 Связь с функциями ЛЕВСИМВ() , ПРАВСИМВ() и ПСТР()
    • 4.1 Извлечение первого слова из строки
    • 4.2 Извлечение последнего слова строки
    • 4.3 Извлечение всего, кроме первого слова строки
  • 5 Синтаксис функции СЖПРОБЕЛЫ в Excel
  • 6 Пример использования функции СЖПРОБЕЛЫ
  • 7 СЖПРОБЕЛЫ с другими функциями
  • 8 Как еще можно удалить лишние пробелы в Excel?

Синтаксис функции

ПОИСК(искомый_текст;просматриваемая_строка;[нач_позиция])

Искомый_текст — текст, который требуется найти.

Просматриваемая_строка — текст, в которой ищется Искомый_текст.

Нач_позиция — позиция знака в просматриваемой_строке, с которой должен начинаться поиск. Если аргумент нач_позиция опущен, то предполагается значение 1.

В аргументе искомый_текст можно использовать подстановочные знаки — вопросительный знак (?) и звездочку (*). Вопросительный знак соответствует любому знаку; звездочка — любой последовательности знаков. Если нужно найти в тексте вопросительный знак или звездочку, следует поставить перед ними тильду (

Если искомый_текст не найден, возвращается значение ошибки #ЗНАЧ!

Функция ПОИСК() не учитывает РЕгиСТР букв. Для поиска с учетом регистра следует воспользоваться функцией НАЙТИ() .

Примеры

Формула =ПОИСК(«к»;»Первый канал») вернет 8, т.к. буква к находится на 8-й позиции слева.

Пусть в ячейке А2 введена строка Первый канал — лучший. Формула =ПОИСК(СИМВОЛ(32);A2) вернет 7, т.к. символ пробела (код 32) находится на 7-й позиции.

Формула =ПОИСК(«#. #»;»Артикул #123# ID») будет искать в строке «Артикул #123# ID» последовательность из 5 символов, которая начинается и заканчивается на знак #.

Чтобы найти позицию второго вхождения буквы «а» в строке «мама мыла раму» используйте формулу =ПОИСК(«а»;»мама мыла раму»;ПОИСК(«а»;»мама мыла раму»)+1). Чтобы определить есть ли третье вхождение буквы «м» в строке «мама мыла раму» используйте формулу =ЕСЛИ(ДЛСТР(ПОДСТАВИТЬ(«мама мыла раму»;»м»;»»;3))=ДЛСТР(«мама мыла раму»);»Нет третьего вхождения м»;»Есть третье вхождение м»)

Формула =ПОИСК(«клад?»;»докладная») вернет 3, т.е. в слове «докладная» содержится слово из 5 букв, первые 4 из которых клад (начиная с третьей буквы слова докладная).

Функция НАЙТИ() vs ПОИСК()

Функция НАЙТИ() учитывает РЕгиСТР букв и не допускает использование подстановочных знаков. Для поиска без учета регистра, а также для поиска с использованием подстановочных знаков пользуйтесь функцией ПОИСК() .

Связь с функциями ЛЕВСИМВ() , ПРАВСИМВ() и ПСТР()

Функция ПОИСК() может быть использована совместно с функциями ЛЕВСИМВ() , ПРАВСИМВ() и ПСТР() .

Например, в ячейке А2 содержится фамилия и имя «Иванов Иван», то формула =ЛЕВСИМВ(A2;ПОИСК(СИМВОЛ(32);A2)-1) извлечет фамилию, а =ПРАВСИМВ(A2;ДЛСТР(A2)-ПОИСК(СИМВОЛ(32);A2)) — имя. Если между именем и фамилией содержится более одного пробела, то для работоспособности вышеупомянутых формул используйте функцию СЖПРОБЕЛЫ() .

трюки • приёмы • решения

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

Извлечение первого слова из строки

Чтобы извлечь первое слово из строки, формула должна найти позицию первого символа пробела, а затем использовать эту информацию в качестве аргумента для функции ЛЕВСИМВ. Следующая формула делает это: =ЛЕВСИМВ(A1;НАЙТИ(» «;A1)-1) .

Эта формула возвращает весь текст до первого пробела в ячейке A1. Однако у нее есть небольшой недостаток: она возвращает ошибку, если текст в ячейке А1 не содержит пробелов, потому что состоит из одного слова. Несколько более сложная формула решает проблему с помощью новой функции ЕСЛИОШИБКА, отображая все содержимое ячейки, если произошла ошибка:
=ЕСЛИОШИБКА(ЛЕВСИМВ(A1;НАЙТИ(» «;A1)-1);A1) .

Если вам нужно, чтобы формула была совместима с более ранними версиями Excel, вы не можете использовать ЕСЛИОШИБКА. В таком случае придется обойтись функцией ЕСЛИ и функцией ЕОШ для проверки на ошибку:
=ЕСЛИ(ЕОШ(НАЙТИ(» «;A1));A1;ЛЕВСИМВ(A1;НАЙТИ(» «;A1)-1))

Извлечение последнего слова строки

Извлечение последнего слова строки — более сложная задача, поскольку функция НАЙТИ работает только слева направо. Таким образом, проблема состоит в поиске последнего символа пробела. Следующая формула, однако, решает эту проблему. Она возвращает последнее слово строки (весь текст, следующий за последним символом пробела):
=ПРАВСИМВ(A1;ДЛСТР(A1)-НАЙТИ(«*»;ПОДСТАВИТЬ(A1;» «;»*»;ДЛСТР(A1)-ДЛСТР(ПОДСТАВИТЬ(A1;»»;»»)))))

Но у этой формулы есть такой же недостаток, как и у первой формулы из предыдущего раздела: она вернет ошибку, если строка не содержит по крайней мере один пробел. Решение заключается в использовании функции ЕСЛИОШИБКА и возврате всего содержимого ячейки А1, если возникает ошибка:
=ЕСЛИОШИБКА(ПРАВСИМВ(A1;ДЛСТР(A1)-НАЙТИ(«*»;ПОДСТАВИТЬ(A1;» «;»*»;ДЛСТР(A1)-ДЛСТР(ПОДСТАВИТЬ(A1;» «;»»)))));A1)

Следующая формула совместима со всеми версиями Excel:
=ЕСЛИ(ЕОШ(НАЙТИ(» «;A1));A1;ПРАВСИМВ(A1;ДЛСТР(A1)-НАЙТИ(«*»;ПОДСТАВИТЬ(A1;»»;»*»;ДЛСТР(A1)-ДЛСТР(ПОДСТАВИТЬ(A1;» «;»»))))))

Извлечение всего, кроме первого слова строки

Следующая формула возвращает содержимое ячейки А1, за исключением первого слова:
=ПРАВСИМВ(A1;ДЛСТР(A1)-НАЙТИ(» «:A1;1)) .
Если ячейка А1 содержит текст 2008 Operating Budget, то формула вернет Operating Budget.

Формула возвращает ошибку, если ячейка содержит только одно слово. Следующая версия формулы использует функцию ЕСЛИОШИБКА, чтобы можно было избежать ошибки; формула возвращает пустую строку, если ячейка не содержит более одного слова:
=ЕСЛИОШИБКА(ПРАВСИМВ(A1;ДЛСТР(A1)-НАЙТИ(» «;A1;1));»»)

А эта версия совместима со всеми версиями Excel:
=ЕСЛИ(ЕОШ(НАЙТИ(» «;A1));»»;ПРАВСИМВ(A1;ДЛСТР(A1)-НАЙТИ(» «;A1;1)))

Лишние пробелы в тексте замечают не все. И не для всех это, в общем-то, важно. Но в Excel это может обернуться серьезной проблемой, потому что при выполнении команд программа просто не будет учитывать ячейки с дополнительными пробелами.

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

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

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

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

Пример использования функции СЖПРОБЕЛЫ

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

Невооруженным глазом видно, что некоторые позиции написаны с явными лишними пробелами. Рассмотрим, к чему это может привести.

Подсчитывать общее количество позиций по каждому виду игрушек будем через функцию СУММЕСЛИ. Вводим ее, протягиваем на остальные ячейки и смотрим результат. Программа выдала ответ по плюшевым зайцам: 3. Хотя мы видим, что их должно быть 3+2=5. В чем проблема? В лишних пробелах.

Запишем функцию в ячейке D3. В качестве аргумента введем ячейку B3, в которой значится наименование игрушки.

Теперь протянем функцию до 14 строки и увидим, что тексты действительно выровнялись, потому что пробелы удалились. Проверим это наверняка, изменив диапазон в команде СУММЕСЛИ. Вместо B3:B14 пропишем D3:D14 и посмотрим результат. Теперь плюшевых зайцев действительно 5, медведей – 6 и т.п. Получается, символы табуляции играют важную роль, и их нужно подчищать.

СЖПРОБЕЛЫ с другими функциями

Использование функции СЖПРОБЕЛЫ вместе с другими функциями расширяет возможности пользователя. Логично, что она будет использоваться вместе с теми функциями, которые исследуют массивы и возвращают данные. В частности, это функции НАЙТИ, ЛЕВСИМВ, ПРАВСИМВ и др. На практике оказывается, что чаще всего СЖПРОБЕЛЫ используется вместе с ВПР.

Рассмотрим на примере той же таблицы. Задача: проставить цену напротив каждой позиции. Справа дана вспомогательная таблица, в которой прописана цена каждой игрушки. Теоретически мы можем вручную перепечатать нужные нам цифры, но раз мы в Excel, будем использовать ВПР.

Если мы протянем формулу до конца таблицы, увидим следующее:

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

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

Как еще можно удалить лишние пробелы в Excel?

Избавиться от лишних пробелов можно и без использования функции СЖПРОБЕЛЫ. Воспользуемся старым проверенным способом, который нам знаком еще из WORD – команда НАЙТИ-ЗАМЕНИТЬ.

Пример останется тот же самый. Выделяем столбец, в котором прописаны наименования игрушек и нажимаем CTRL+H. В появившемся окне напротив НАЙТИ проставляем пробел, а напротив ЗАМЕНИТЬ НА не пишем ничего.

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

Понравилась статья? Поделить с друзьями:
  • Excel найти источник ошибки связи
  • Excel найти кто открыл файл
  • Excel найти или несколько значений
  • Excel найти корни полинома в excel
  • Excel найти значения меньше