Как найти пробел в экселе
Перейти к содержимому

Как найти пробел в экселе

Какой формулой Excel найти последний пробел в ячейке?

Чтобы определить положение последнего пробела в строке надо с помощью формулы массива (для старых версий, начиная с Excel 2007 , вводится через CTRL+SHIFT+ENTER, новые Excel, с 2019 этого не требуют) составить формулу содержащую индекс каждого пробела в строке или ноль для других символов, а затем выбрать элемент с наибольшим значением.

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

=НАИБОЛЬШИЙ(массив; номер элемента)

Для самого большого значения (последний пробел) номер элемента равен 1

Для наибольшего значения меньше самого большого (предпоследний пробел) номер элемента равен 2 и так далее.

Чтобы последовательно сделать перебор всех символов строки воспользуемся массивом строк и функцией

=СТРОКА(ссылка на массив строк)

Массив строк можно задать статически для строк, имеющих одинаковую длину (элементы с индексами от 1 до 255):

или динамически (если строка в ячейке A1, элементы с индексами от 1 до последнего):

Получаем такие формулы определяющие индекс последнего пробела строки

Статическая (рассматривает 255 элементов массива)

=НАИБОЛЬШИЙ( ЕСЛИ( ПСТР(A1; СТРОКА( $1:$255); 1)=" "; СТРОКА( $1:$255); 0); 1)

Динамическая (рассматривает с первого до последнего символа строки)

=НАИБОЛЬШИЙ( ЕСЛИ( ПСТР(A1; СТРОКА( ДВССЫЛ( "1:"&ДЛСТР(A1))); 1)=" "; СТРОКА(

Индекс предпоследнего пробела строки вычисляется формулами:

Статическая (рассматривает 255 элементов массива)

=НАИБОЛЬШИЙ( ЕСЛИ( ПСТР(A1; СТРОКА( $1:$255); 1)=" "; СТРОКА( $1:$255); 0); 2)

Динамическая (рассматривает с первого до последнего символа строки)

=НАИБОЛЬШИЙ( ЕСЛИ( ПСТР(A1; СТРОКА( ДВССЫЛ( "1:"&ДЛСТР(A1))); 1)=" "; СТРОКА( ДВССЫЛ( "1:"&ДЛСТР(A1))); 0); 2)

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

Как найти пробелы в 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.

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

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

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

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

Помимо того, что данные могут стать трудночитаемыми, так и использование обычных инструментов 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, чтобы перевести формулу из текста в число.

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

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *