Light-electric.com

IT Журнал
148 просмотров
Рейтинг статьи
1 звезда2 звезды3 звезды4 звезды5 звезд
Загрузка...

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

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

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

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

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

30 функций Excel за 30 дней: СЖПРОБЕЛЫ (TRIM)

Вчера в марафоне 30 функций Excel за 30 дней мы наткнулись на ленивого шурина по имени AREAS (ОБЛАСТИ). Эта функция не часто используется на практике, но с ее помощью мы увидели, как работают три оператора ссылок в Excel. Надеюсь, что этот урок был для Вас полезен.

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

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

Функция 03: TRIM (СЖПРОБЕЛЫ)

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

Как можно использовать функцию TRIM (СЖПРОБЕЛЫ)?

Функция TRIM (СЖПРОБЕЛЫ) может помочь с очисткой текста, загруженного с веб-сайта или импортированного из другого приложения. Функция TRIM (СЖПРОБЕЛЫ):

  • Удаляет пробелы в начале и конце строки.
  • Удаляет все пробелы из текста, кроме одиночных пробелов между словами.
  • НЕ удаляет некоторые специальные символы, скопированные с веб-сайта.

Синтаксис TRIM (СЖПРОБЕЛЫ)

Функция TRIM (СЖПРОБЕЛЫ) имеет вот такой синтаксис:

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

  • text (текст) – это ссылка на ячейку или текстовая строка, из которой надо удалить пробелы

Ловушки TRIM (СЖПРОБЕЛЫ)

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

Пример 1: Удаляем пробелы из начала и конца текстовой строки

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

Пример 2: Удаляем все пробелы, кроме одиночных между словами

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

Пример 3: Как НЕ удаляются некоторые специальные символы

Функция TRIM (СЖПРОБЕЛЫ) НЕ удаляет некоторые символы, используемые в качестве пробела. Например, неразрывный пробел, наверняка будет присутствовать в тексте, скопированном с веб-сайта. На рисунке ниже ячейка C5 содержит один неразрывный пробел, и он не удаляется.

Читать еще:  Группировать строки в excel

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

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

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

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

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

Способ 1: с помощью инструмента «Заменить»

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

  1. Перейдите на вкладку «Главная».
  2. На панели инструментов, в правой ее части, нажмите по кнопке «Найти и выделить». Нажмите по ней.
  3. В появившемся выпадающем списке выберите пункт «Заменить».
  4. Появится окно, в котором в поле «Найти» введите двойной пробел. Для этого просто дважды нажмите по соответствующей клавише.
  5. В поле «Заменить на» пропишите один пробел.
  6. Нажмите кнопку «Заменить все».
  7. В окне с отчетом нажмите «ОК».

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

Способ 2: удаление пробелов между разрядами

Только что мы разобрались, как удалить пробелы в ячейках Excel с текстовыми выражениями, но что, если появилась потребность убрать лишние одинарные пробелы в числовых выражениях, которые зачастую устанавливаются автоматически? В этом случае нам также поможет инструмент «Заменить».

  1. В таблице выделите область, в которой находятся ненужные пробелы.
  2. Находясь на главной странице на панели инструментов, нажмите по кнопке «Найти и заменить» и выберите инструмент «Заменить».
  3. В появившемся окне на этот раз нужно ввести немного другие значения.
  4. В поле «Найти» поставьте один пробел.
  5. Поле «Заменить на» оставьте нетронутым.
  6. Нажмите кнопку «Заменить все».
  7. Подтвердите свои действия, ознакомьтесь с отчетом и примите его.

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

Способ 3: удаление путем форматирования текста

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

  1. Выделите область таблицы, в ячейках которой вы хотите избавиться от пробелов между числовыми выражениями.
  2. Кликните по выделению правой кнопкой мыши.
  3. Выберите пункт «Формат ячеек».
  4. Появится соответствующее окно, в котором перейдите в раздел «Числовой», расположенный во вкладке «Число».
  5. В правой части окна снимите отметку с пункта «Разделитель групп разрядов».
  6. Нажмите «ОК».

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

Способ 4: с помощью специальной функции

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

  1. Установите курсор в той ячейке, которая находится параллельно столбцу или строке, пробелы из которых нужно убрать.
  2. Откройте окно Мастера функций, нажав по соответствующей кнопке, находящейся рядом со строкой функций.
  3. В списке «Категория» выберите «Текстовый», а в списке с перечнем функций выделите «СЖПРОБЕЛЫ» и нажмите «ОК».
  4. Появится окно ввода функции. В нем вам нужно указать ячейку, в которой хотите убрать пробелы. Для этого просто кликните по ней левой кнопкой мыши.
  5. Нажмите «ОК».

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

Удаление лишних пробелов в Microsoft Excel

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

Технология удаления пробелов

Сразу нужно сказать, что пробелы в Excel могут быть разного типа. Это могут быть пробелы между словами, пробел в начале значения и в конце, разделители между разрядами числовых выражений и т.д. Соответственно и алгоритм их устранения в этих случаях различный.

Способ 1: использование инструмента «Заменить»

С заменой двойных пробелов между словами на одинарные в Экселе отлично справляется инструмент «Заменить».

    Находясь во вкладке «Главная», кликаем по кнопке «Найти и выделить», которая размещена в блоке инструментов «Редактирование» на ленте. В выпадающем списке выбираем пункт «Заменить». Можно также вместо вышеперечисленных действий просто набрать сочетание клавиш на клавиатуре Ctrl+H.

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

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

    Способ 2: удаление пробелов между разрядами

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

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

    Читать еще:  Процент от двух чисел в excel

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

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

    Способ 3: удаление разделителей между разрядами путем форматирования

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

    Так как пробелы были сделаны с помощью инструментов форматирования, то только при помощи этих же инструментов их можно убрать.

      Выделяем диапазон чисел с разделителями. Кликаем по выделению правой кнопкой мыши. В появившемся меню выбираем пункт «Формат ячеек…».

    Происходит запуск окна форматирования. Переходим во вкладку «Число», в случае если открытие произошло в другом месте. Если разделение было задано при помощи форматирования, то в блоке параметров «Числовые форматы» должен быть установлен вариант «Числовой». В правой части окна располагаются точные настройки данного формата. Около пункта «Разделитель групп рядов ()» вам просто нужно будет снять галочку. Затем, чтобы произведенные изменения вступили в силу, жмите на кнопку «OK».

  • Окно форматирования закроется, а разделения между разрядами чисел в выбранном диапазоне будут убраны.
  • Способ 4: удаление пробелов с помощью функции

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

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

    Синтаксис этого оператора довольно прост и имеет всего один аргумент:

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

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

    Запускается окно Мастера функций. В категории «Полный алфавитный перечень» или «Текстовые» ищем элемент «СЖПРОБЕЛЫ». Выделяем его и жмем на кнопку «OK».

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

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

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

    Выделяем диапазон с преобразованными значениями. Жмем на кнопку «Копировать», расположенную на ленте во вкладке «Главная» в группе инструментов «Буфер обмена». Как альтернативный вариант можно после выделения набрать сочетание клавиш Ctrl+C.

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

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

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

    Отблагодарите автора, поделитесь статьей в социальных сетях.

    Извлечение слов из текста в Excel

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

    Важное замечание!

    Задача 1. Подсчет количества слов в тексте

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

    Итак, слова в тексте отделены друг от друга пробелами. Пробелов всегда на 1 меньше, чем слов (действительно, между двумя словами — один пробел, между тремя — два и т.д.). Значит, достаточно подсчитать пробелы и прибавить к ним единицу, чтобы узнать число слов в ячейке.

    Читать еще:  95 интервал в excel

    В Excel есть замечательные функции ДЛСТР() и ПОДСТАВИТЬ() . Первая подсчитывает количество символов в указанной ячейке, а вторая умеет заменять указанный символ на любой другой или на пусто (обозначается как двойные кавычки без пробела между ними «» ).

    Функция ПОДСТАВИТЬ() имеет 4 аргумента:

    1) Ячейка с текстом

    2) То, что нужно заменить (указывается в кавычках)

    3) То, на что нужно заменить (указывается в кавычка)

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

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

    Прибавим к ней единицу — и получим число слов в ячейке.

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

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

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

    Найти символ в тексте поможет функция НАЙТИ() . У нее есть 3 аргумента:

    1) Искомый текст;

    2) Текст, в котором ищем;

    3) С какого символа начать поиск (необязательный, если опущен — функция ищет с самого начала).

    Результатом работы функции является позиция первого символа найденного текста в строке. Например, формула =НАЙТИ(«плюс»;»Один плюс один») вернет в результате число 6 (именно с этой позиции начинается искомое слово «плюс»). Если в строке несколько раз содержится искомое слово, то вернется результат для первого вхождения.

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

    Теперь мы можем найти позицию первого пробела

    Извлечь символы до пробела поможет функция ЛЕВСИМВ . Ей нужно указать текст, а также число символов, которое нужно извлечь начиная с первого. Если найденный пробел, например, 6-ой символ, то нам нужно извлечь 6-1=5.

    Формула для извлечения первого слова:

    Если в строке одно слово (то есть нет пробела между первым и вторым словом), данная формула вернет ошибку. Чтобы этого избежать, нужно добавить к ней функцию ЕСЛИОШИБКА() .

    Теперь формула корректно сработает для любого числа слов в ячейке.

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

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

    • подсчитаем, сколько в ячейке пробелов, воспользовавшись приемом из Задачи 1.

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

    • с помощью функции ПОДСТАВИТЬ заменим последний пробел в тексте на символ, которого там точно нет (например, «*» или «$»). Чтобы заменить именно последний пробел, добавим в качестве необязательного аргумента формулу из предыдущего пункта (то есть число пробелов, так как оно равно номеру последнего пробела)

    =ПОДСТАВИТЬ(A1;» «;»*»;ДЛСТР(A1)-ДЛСТР(ПОДСТАВИТЬ(A1;» «;»»)))

    • теперь, когда последний пробел заменен на «*», мы можем узнать его позицию с помощью функции НАЙТИ() . В качестве текста, в котором ищем, укажем предыдущую формулу

    =НАЙТИ(«*»;ПОДСТАВИТЬ(A1;» «;»*»;ДЛСТР(A1)-ДЛСТР(ПОДСТАВИТЬ(A1;» «;»»))))

    • если из общей длины текста мы вычтем найденную позицию звездочки, то получим число символов после звездочки (то есть длину последнего слова в ячейке)

    =ДЛСТР(A1)-НАЙТИ(«*»;ПОДСТАВИТЬ(A1;» «;»*»;ДЛСТР(A1)-ДЛСТР(ПОДСТАВИТЬ(A1;» «;»»))))

    • теперь, зная длину последнего слова, мы можем вытащить его из ячейки с помощью функции ПРАВСИМВ() . Она работает точно так же, как ЛЕВСИМВ() , но извлекает символы не с начала, а с конца строки. В качестве количества извлекаемых символов, укажем предыдущую формулу.

    Как и в предыдущей задаче, можно обернуть в ЕСЛИОШИБКА , чтобы верно работало с ячейками, в которых только 1 слово.

    =ЕСЛИОШИБКА(ПРАВСИМВ(A1;ДЛСТР(A1)-НАЙТИ(«*»;ПОДСТАВИТЬ(A1;» «;»*»;ДЛСТР(A1)-ДЛСТР(ПОДСТАВИТЬ(A1;» «;»»)))));A1)

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

    Function РЕВЕРС(str As String)

    Это макрофункция. Теперь, используя ее, можно отразить текст зеркально, извлечь первое слово, как в Задаче 2 и отразить его обратно. Формула:

    Берите на вооружение, если любите макросы.

    Задача 4. Извлечение n-ного слова из текста

    Самый интересный пример. Для решения подобной задачи нужно применить фантазию. Разберем решение поэтапно.

    Помимо уже использовавшихся в статье функций, нам понадобятся еще 2:

    1) ПОВТОР() . Умеет повторять указанный текст указанное число раз.

    2) ПСТР() . Имеет 3 аргумента:

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

    Теперь мы вооружены всем нужным инструментарием. Приступаем:

    • Для начала воспользуемся функцией ПОВТОР() , чтобы вместо 1 пробела в тексте вставить число пробелов, равное длине исходного текста. Количество повторений узнаем через уже известную функцию ДЛСТР() . Итак, формула:

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

    • Теперь каждое слово отделено друг от друга числом символов, равным общей длине строки. Чтобы извлечь слово под номером n, нам нужно узнать позицию какого-нибудь пробела между словом n и n-1 в обработанном удлиненном тексте. Это может сделать формула ниже (+1 в ней нужно для правильного поиска первого слова):

    =ДЛСТР(A1)*(n-1)+1

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

    • Теперь мы может извлечь из найденной позиции число символов ДЛСТР(A1) (на рисунке — m ) и извлеченный текст всегда будет захватывать нужное нам слово целиком (с некоторым количеством предшествующих и последующих пробелов)

    =ПСТР(ПОДСТАВИТЬ(A1;» «;ПОВТОР(» «;ДЛСТР(A1)));ДЛСТР(A1)*(n-1)+1;ДЛСТР(A1))

    • Осталось избавиться от лишних пробелов функцией СЖПРОБЕЛЫ()

    =СЖПРОБЕЛЫ(ПСТР(ПОДСТАВИТЬ(A1;» «;ПОВТОР(» «;ДЛСТР(A1)));ДЛСТР(A1)*(n-1)+1;ДЛСТР(A1)))

    Не забудьте в формуле заменить n на номер извлекаемого слова или ссылку на ячейку с этим номером.

    Задача 5. Извлечение имя файла из полного пути к нему

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

    Как мы знаем, директории в ссылках отделены друг от друга символом «». После последнего такого символа расположено нужное нам имя файла. Похоже на задачу с извлечением последнего слова? Только вместо пробелов теперь символ обратной косой черты.

    Берем формулу из задачи 3 и заменяем в ней пробелы на «».

    Получим следующую формулу:

    Вставляем в ячейку и вуаля! Имя файла извлечено.

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

    Поддержать наш проект и его дальнейшее развитие можно вот здесь .

    Ваши вопросы по статье можете задавать через нашего бота обратной связи в Telegram: @ExEvFeedbackBot

    0 0 голоса
    Рейтинг статьи
    Ссылка на основную публикацию
    ВсеИнструменты