Excel разбить текст по строкам в excel

Как разделить текст в ячейке Excel?

Добрый день уважаемый читатель!

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

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

Мастер разбора текстов

Рассмотрим самый простой способ разделить текст в ячейке, не по сути, а по исполнению. Для примера, очень наглядно это можно продемонстрировать на ФИО в одной ячейке, которые необходимо разделить на отдельные столбики для удобства сортировки и фильтрации.

Для выполнения задачи вызываем диалоговое окно «Мастер текстов (разбор)» и в 3 шага разделяем текст:

  1. Для начала нужно выделить данные, которые необходимо разделить, следующим шагом на вкладке «Данные» в разделе «Работа с данными» нажимаете иконку «Текст по столбцам» и в вызванном диалоговом окне мастера указываем формат рабочего текста. Выбираем 2 вида форматов:
  • С разделителями – это когда существует текст или символ, который условно будет отделять будущее содержимое отдельных ячеек;
  • Фиксированной ширины – это когда при помощи пробелов в тексте имитируется столбики одинаковой ширины.
  1. Вторым шагом, в нашем примере, указываем символ, выполняющий роль разделителя. В случаях, когда в тексте идут подряд пару разделителей, несколько пробелов, к примеру, то установка флажка для пункта «Считать последовательные разделители одним» укажет для Excel принимать их за один разделитель. Дополнительное условие «Ограничитель строк» поможет указать, что текстовые значения, содержащиеся в кавычках не делить (к примеру, название фирмы «Рудольф, Петер и Саймон»);
  2. Последним шагом, для уже разделённых столбиков, нужно указать в диалоговом окне мастера, предварительно выделив их, выбрать необходимый формат получаемых данных:
  • Общий – не проводит изменения данных, оставляя их в первоначальном виде, будет оптимальным выбором в большинстве случаев;
  • Текстовый – данный формат, в основном, необходим для столбиков с числовыми значениями, которые программа в обязательном порядке должна интерпретировать как текст. (К примеру, это числа с разделителем по тысяче или номер пластиковой карточки);
  • Дата – этот формат используется для столбиков с датами, кстати, формат самой даты можно выбрать в выпадающем списке.

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

Рассоединяем текст с помощью формул

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

И если с первыми двумя словами понятно, что и как разделять, то разделителя для последнего слова нет, а это значит что нужно указать в качестве аргумента условно большое количество символов, как аргумент «число_знаков» для функции ПСТР, например, 100, 200 или больше.

А теперь поэтапно рассмотрим формирование формулы для разделения текста в ячейке:

  • Во-первых, нам необходимо найти два пробела, которые разделяют наши слова, для поиска первого пробела нужна формула: =ПОИСК(» «;B2;1), а для второго подойдет: =ПОИСК(» «;B2;C2+1);
  • Во-вторых, определяем, сколько символов нужно выделить в строке. Поскольку позиции разделителя мы уже определили, то символов для разделения у нас будет на один меньше. Значит, будем использовать функцию ПСТР для изъятия слов, с ячейки используя как аргумент «количество_знаков» результат работы предыдущей формулы. Для определения первого слова (Фамилии) нужна формула: =ПСТР(B2;1;ПОИСК(» «;B2;1)), для определения второго значения (Имя): =ПСТР(B2;ПОИСК(» «;B2;1)+1;ПОИСК(» «;B2;ПОИСК(» «;B2;1)+1) -ПОИСК(» «;B2;1)), а теперь определим последнее значение (Отчество): =ПСТР(B2;ПОИСК(» «;B2;ПОИСК(» «;B2;1)+1)+1;100).

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

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

Выдергиваем слова с помощью макросов VBA

Рассмотрим два способа разделить текст в ячейке:

  1. Выдергиваем отдельные слова по разделителю;
  2. Делим текст без пробелов.
Читать еще:  Как в excel сделать строки одного размера

Способ №1.

Поскольку вас интересует автоматическое деление текста, значит надо написать хорошую функцию на VBA и внедрить ее в рабочую книгу. Для начала переходим на вкладку «Разработчик» и выбираем «Visual Basic» или вызываем эту возможность с помощью горячего сочетания клавиш Alt+F11. (детальнее в статье «Как создать макрос в Excel»).

Создаем новый модуль в меню «Insert» наживаем пункт «Module» и переносим в него нижеприведенный код:

Разбить по строкам/столбцам

Данная функция является частью надстройки MulTEx

  • Описание, установка, удаление и обновление
  • Полный список команд и функций MulTEx
  • Часто задаваемые вопросы по MulTEx
  • Скачать MulTEx

Вызов команды:
MulTEx -группа Ячейки/ДиапазоныДиапазоныРазбить по строкам/столбцам

Эта команда разбивает данные во всех выделенных ячейках на части, используя в качестве разделителя указанные символ/символы. Главная особенность — в отличие от стандартной команды Excel «Разбить по столбцам», данная команда заносит результат разбиения данных в строки либо столбцы в одну строку/столбец, а не каждую часть в свой столбец. К тому же в стандартной команде Excel нет возможности указать несколько символов — только один.

Диапазон значений — указывается диапазон ячеек, данные которых необходимо разбить. Может быть как одним столбцом/строкой, так и диапазоном, состоящим из нескольких строк и нескольких столбцов.
Разделитель — указывается символ (или группа символов), который будет применен в качестве разделителя. Если разделитель не указан, то появится сообщение, информирующее об этом. В сообщении будет предложено использовать разделитель по умолчанию (Пробел). В случае отказа Вы сможете указать необходимый разделитель. Данные, внесенные ранее не будут утеряны.

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

  • ДА(YES) — в поле Разделитель будет добавлен указанный специальный символ. Указанные ранее символы не будут удалены.
  • НЕТ(NO) — поле Разделитель будет очищено и в него будет помещен только выбранный специальный символ.
  • Поместить результат:

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

    Разделитель результата:
    Доступно только если в качестве вывода результата указана одна ячейка. По умолчанию разделителем является перенос на строки. В качестве разделителя можно указать любой символ или группу символов.

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

    Транспонировать — если Диапазон значений представляет собой столбец, то данные после обработки будут помещены в одну строку. Если Диапазон значений — строка, то данные будут помещены в столбец. Недоступно при выводе результата в одну ячейку.

    Финансы в Excel

    Текст по столбцам и строкам

    Подробности Создано 03 Май 2012

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

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

    Напомним, что интерфейсное средство «Текст по столбцам» доступно через меню и ленту Excel Данные Текст по столбцам.

    В файле-примере показано два типа формулы для разделения текста на составляющие:

    • текст по столбцам (диапазон B5:K6)
    • текст по строкам (диапазон A10:B19)
    Читать еще:  Функция эксель если текст содержит

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

    Формула в ячейке B5 и далее по столбцам обрабатывает исходный текст из ячейки A5:

    Формула в ячейке A10 и далее по строкам обрабатывает исходный текст из ячейки A9:

    Формулы ссылаются только на исходный текст и не требуют наличия других предварительно вычисленных составляющих. Варианты отличаются только автоматическим определением порядкового номера текстовой составляющей, в первом случае — это подформула для вычисления номера от количества столбцов: COLUMNS($B:B); во втором — от количества строк: ROWS($10:10). При копировании диапазон столбцов и строк автоматически расширяется, вычисляя таким образом нужное значение. Вместо этой подформулы можно задать константу или переменную, определяющую требуемый номер. Из результатирующих текстовых значений убираются лишние пробелы при помощи функции TRIM().

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

    Как разделить текст в ячейке Excel?

    Добрый день уважаемый читатель!

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

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

    Мастер разбора текстов

    Рассмотрим самый простой способ разделить текст в ячейке, не по сути, а по исполнению. Для примера, очень наглядно это можно продемонстрировать на ФИО в одной ячейке, которые необходимо разделить на отдельные столбики для удобства сортировки и фильтрации.

    Для выполнения задачи вызываем диалоговое окно «Мастер текстов (разбор)» и в 3 шага разделяем текст:

    1. Для начала нужно выделить данные, которые необходимо разделить, следующим шагом на вкладке «Данные» в разделе «Работа с данными» нажимаете иконку «Текст по столбцам» и в вызванном диалоговом окне мастера указываем формат рабочего текста. Выбираем 2 вида форматов:
    • С разделителями – это когда существует текст или символ, который условно будет отделять будущее содержимое отдельных ячеек;
    • Фиксированной ширины – это когда при помощи пробелов в тексте имитируется столбики одинаковой ширины.
    1. Вторым шагом, в нашем примере, указываем символ, выполняющий роль разделителя. В случаях, когда в тексте идут подряд пару разделителей, несколько пробелов, к примеру, то установка флажка для пункта «Считать последовательные разделители одним» укажет для Excel принимать их за один разделитель. Дополнительное условие «Ограничитель строк» поможет указать, что текстовые значения, содержащиеся в кавычках не делить (к примеру, название фирмы «Рудольф, Петер и Саймон»);
    2. Последним шагом, для уже разделённых столбиков, нужно указать в диалоговом окне мастера, предварительно выделив их, выбрать необходимый формат получаемых данных:
    • Общий – не проводит изменения данных, оставляя их в первоначальном виде, будет оптимальным выбором в большинстве случаев;
    • Текстовый – данный формат, в основном, необходим для столбиков с числовыми значениями, которые программа в обязательном порядке должна интерпретировать как текст. (К примеру, это числа с разделителем по тысяче или номер пластиковой карточки);
    • Дата – этот формат используется для столбиков с датами, кстати, формат самой даты можно выбрать в выпадающем списке.

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

    Рассоединяем текст с помощью формул

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

    И если с первыми двумя словами понятно, что и как разделять, то разделителя для последнего слова нет, а это значит что нужно указать в качестве аргумента условно большое количество символов, как аргумент «число_знаков» для функции ПСТР, например, 100, 200 или больше.

    Читать еще:  Vba excel перенос строки

    А теперь поэтапно рассмотрим формирование формулы для разделения текста в ячейке:

    • Во-первых, нам необходимо найти два пробела, которые разделяют наши слова, для поиска первого пробела нужна формула: =ПОИСК(» «;B2;1), а для второго подойдет: =ПОИСК(» «;B2;C2+1);
    • Во-вторых, определяем, сколько символов нужно выделить в строке. Поскольку позиции разделителя мы уже определили, то символов для разделения у нас будет на один меньше. Значит, будем использовать функцию ПСТР для изъятия слов, с ячейки используя как аргумент «количество_знаков» результат работы предыдущей формулы. Для определения первого слова (Фамилии) нужна формула: =ПСТР(B2;1;ПОИСК(» «;B2;1)), для определения второго значения (Имя): =ПСТР(B2;ПОИСК(» «;B2;1)+1;ПОИСК(» «;B2;ПОИСК(» «;B2;1)+1) -ПОИСК(» «;B2;1)), а теперь определим последнее значение (Отчество): =ПСТР(B2;ПОИСК(» «;B2;ПОИСК(» «;B2;1)+1)+1;100).

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

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

    Выдергиваем слова с помощью макросов VBA

    Рассмотрим два способа разделить текст в ячейке:

    1. Выдергиваем отдельные слова по разделителю;
    2. Делим текст без пробелов.

    Способ №1.

    Поскольку вас интересует автоматическое деление текста, значит надо написать хорошую функцию на VBA и внедрить ее в рабочую книгу. Для начала переходим на вкладку «Разработчик» и выбираем «Visual Basic» или вызываем эту возможность с помощью горячего сочетания клавиш Alt+F11. (детальнее в статье «Как создать макрос в Excel»).

    Создаем новый модуль в меню «Insert» наживаем пункт «Module» и переносим в него нижеприведенный код:

    Разделить текст по столбцам в Excel

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

    Для примера рассмотрим данные CSV файла. Каждая подстрока в нем разделена символом «точка с запятой» и помещена в двойные кавычки. Вставьте их в любое место Вашей рабочей книги:

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

    На экране будет отображено окно мастера распределения текста:

    Весь процесс состоит из трех шагов.

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

    Выберите пункт «С разделителями» и нажмите кнопку «Далее».

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

    Обратите внимание на то, что если разделители идут подряд, то каждый из них образует новый столбец, т.е. 2 таких символа создают 1 пустой столбец, 3 – 2 и т.д. Чтобы избавиться от этого часто нужного действия достаточно поставить галочку на поле «Считать последовательные разделители одним».

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

    Имейте в виду то, что символы-разделители и ограничители удаляются из содержимого разделенных данных.

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

    Завершающим шагом является назначение форматирования новым колонкам и указания места для их расположения.

    Из возможных настроек предоставлено только несколько форматов (типов данных), а поместить распределенный текст можно только на текущем листе.

    У Вас недостаточно прав для комментирования.

    Похожие статьи

    Ссылка на основную публикацию
    Похожие публикации
    Adblock
    detector