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

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

Советы: 

  • Альтернативный способ распределения текста по столбцам см. в статье «Разделение текста по столбцам с помощью функций».

  • Ячейки можно объединить с помощью функции СОВКА или С CONCATENATE.

Выполните указанные ниже действия:

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

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

  2. На вкладке Данные в группе Работа с данными нажмите кнопку Текст по столбцам.

    Группа "Работа с данными" на вкладке "Данные"

     

  3. Следуя инструкциям мастера текстов, укажите, как вы хотите разделить текст на отдельные столбцы.  

    Примечание: Чтобы получить справку по выполнению всех действий мастера, см. статью, разделите текст на разные столбцы с помощью мастера текстов или нажмите кнопку » Кнопка в мастере текстов».

Эта функция недоступна в Excel в Интернете.

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

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

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

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

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

xls2Как в Excel разнести данные из одной ячейки по нескольким столбцамОбратите внимание, перед пунктом «Считать последовательные разделители одним» должна стоять галочка. Это поможет Вам избежать ошибок. Нажмите на «Далее». Подтвердите внесение изменений нажатием на «Готово».

Excel разобьет содержимое ячеек на несколько столбцов.

Фото: компания-производитель

Skip to content

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

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

Разделение текста из одной ячейки на несколько — это задача, с которой время от времени сталкиваются все пользователи Excel. В одной из наших предыдущих статей мы обсуждали, как разделить ячейки в Excel с помощью функции «Текст по столбцам» и «Мгновенное заполнение».  Сегодня мы подробно рассмотрим, как можно разделить текст по ячейкам с помощью формул.

Чтобы разбить текст в Excel, вы обычно используете функции ЛЕВСИМВ (LEFT), ПРАВСИМВ (RIGHT) или ПСТР (MID) в сочетании с НАЙТИ (FIND) или ПОИСК (SEARCH). На первый взгляд, некоторые рассмотренные ниже приёмы могут показаться сложными. Но на самом деле логика довольно проста, и следующие примеры помогут вам разобраться.

Для преобразования текста в ячейках в Excel ключевым моментом является определение положения разделителя в нем. Что может быть таким разделителем? Это запятая, точка с запятой, наклонная черта, двоеточие, тире, восклицательный знак и т.п. И, как мы далее увидим, даже целое слово.

  • Как распределить ФИО по столбцам
  • Как использовать разделители в тексте
  • Разделяем текст по переносам строки
  • Как разделить длинный текст на множество столбцов
  • Как разбить «текст + число» по разным ячейкам
  • Как разбить ячейку вида «число + текст»
  • Разделение ячейки по маске (шаблону)
  • Использование инструмента Split Text

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

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

Для лучшего понимания пошагово рассмотрим несколько примеров.

Делим текст вида ФИО по столбцам.

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

 В столбце A нашей таблицы записаны Фамилии, имена и отчества сотрудников. Необходимо разделить их на 3 столбца.

Можно сделать это при помощи инструмента «Текст по столбцам». Об этом методе мы достаточно подробно рассказывали, когда рассматривали, как можно разделить ячейку по столбцам.

Кратко напомним:

На ленте «Данные» выбираем «Текст по столбцам» — с разделителями.

Далее в качестве разделителя выбираем пробел.

Обращаем внимание на то, как разделены наши данные в окне образца.

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

В итоге имеем следующую картину:

При желании можно дать заголовки новым столбцам B,C,D.

А теперь давайте тот же результат получим при помощи формул.

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

Итак, чтобы выделить из нашего ФИО фамилию, будем использовать выражение

=ЛЕВСИМВ(A2; ПОИСК(» «;A2;1)-1)

В качестве разделителя мы используем пробел. Функция ПОИСК указывает нам, в какой позиции находится первый пробел. А затем именно это количество букв (за минусом 1, чтобы не извлекать сам пробел) мы «отрезаем» слева от нашего ФИО при помощи ЛЕВСИМВ.

Далее будет чуть сложнее.

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

=ПСТР(A2; ПОИСК(» «;A2) + 1; ПОИСК(» «;A2;ПОИСК(» «;A2)+1) — ПОИСК(» «;A2) — 1)

Как вы, наверное, знаете, функция Excel ПСТР имеет следующий синтаксис:

ПСТР (текст; начальная_позиция; количество_знаков)

Текст извлекается из ячейки A2, а два других аргумента вычисляются с использованием 4 различных функций ПОИСК:

  • Начальная позиция — это позиция первого пробела  плюс 1:

ПОИСК(» «;A2) + 1

  • Количество знаков для извлечения: разница между положением 2- го и 1- го пробелов, минус 1:

ПОИСК(» «;A2;ПОИСК(» «;A2)+1) — ПОИСК(» «;A2) – 1

В итоге имя у нас теперь находится в C.

Осталось отчество. Для него используем выражение:

=ПРАВСИМВ(A2;ДЛСТР(A2) — ПОИСК(» «; A2; ПОИСК(» «; A2) + 1))

В этой формуле функция ДЛСТР (LEN) возвращает общую длину строки, из которой вы вычитаете позицию 2- го пробела. Получаем количество символов после 2- го пробела, и функция ПРАВСИМВ их и извлекает.

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

Распределение текста с разделителями на 3 столбца.

Предположим, у вас есть список одежды вида Наименование-Цвет-Размер, и вы хотите разделить его на 3 отдельных части. Здесь разделитель слов – дефис. С ним и будем работать.

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

=ЛЕВСИМВ(A2; ПОИСК(«-«;A2;1)-1)

Здесь функция мы сначала определяем позицию первого дефиса («-«) в строке, а ЛЕВСИМВ извлекает все нужные символы начиная с этой позиции. Вы вычитаете 1 из позиции дефиса, потому что вы не хотите извлекать сам дефис.

  1. Чтобы извлечь цвет (это все буквы между 1-м и 2-м дефисами), запишите в C2, а затем скопируйте ниже:

=ПСТР(A2; ПОИСК(«-«;A2) + 1; ПОИСК(«-«;A2;ПОИСК(«-«;A2)+1) — ПОИСК(«-«;A2) — 1)

Логику работы ПСТР мы рассмотрели чуть выше.

  1. Чтобы извлечь размер (все символы после 3-го дефиса), введите следующее выражение в D2:

=ПРАВСИМВ(A2;ДЛСТР(A2) — ПОИСК(«-«; A2; ПОИСК(«-«; A2) + 1))

Аналогичным образом вы можете в Excel разделить содержимое ячейки в разные ячейки любым другим разделителем. Все, что вам нужно сделать, это заменить «-» на требуемый символ, например пробел (« »), косую черту («/»), двоеточие («:»), точку с запятой («;») и т. д.

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

Как разбить текст по переносам строки.

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

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

Напомню, что перенести таким вот образом текст внутри ячейки можно при помощи комбинации клавиш ALT + ENTER.

Возьмите инструкции из предыдущего примера и замените дефис («-») на СИМВОЛ(10), где 10 — это код ASCII для перевода строки.

Чтобы извлечь наименование товара:

=ЛЕВСИМВ(A2; ПОИСК(СИМВОЛ(10);A2;1)-1)

Цвет:

=ПСТР(A2; ПОИСК(СИМВОЛ(10);A2) + 1; ПОИСК(СИМВОЛ(10);A2; ПОИСК(СИМВОЛ(10);A2)+1) — ПОИСК(СИМВОЛ(10);A2) — 1)

Размер:

=ПРАВСИМВ(A2;ДЛСТР(A2) — ПОИСК(СИМВОЛ(10); A2; ПОИСК(СИМВОЛ(10); A2) + 1))

Результат вы видите на скриншоте выше.

Таким же образом можно работать и с любым другим символом-разделителем. Достаточно знать его код.

Как распределить текст с разделителями на множество столбцов.

Изучив представленные выше примеры, у многих из вас, думаю, возник вопрос: «А что, если у меня не 3 слова, а больше? Если нужно разбить текст в ячейке на 5 столбцов?»

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

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

Для первого слова (наименования одежды) используем:

=ЛЕВСИМВ(A2; ПОИСК(«-«;A2;1)-1)

Как видите, это ничем не отличается от того, что мы рассматривали ранее. Ищем позицию первого дефиса и отделяем нужное количество символов.

Для второго столбца и далее понадобится более сложное выражение:

=ЕСЛИОШИБКА(ЛЕВСИМВ(ПОДСТАВИТЬ($A2&»-«; ОБЪЕДИНИТЬ(«-«;ИСТИНА;$B2:B2)&»-«;»»;1); ПОИСК(«-«;ПОДСТАВИТЬ($A2&»-«;ОБЪЕДИНИТЬ(«-«;ИСТИНА;$B2:B2)&»-«;»»;1);1)-1);»»)

Замысел здесь состоит в том, что при помощи функции ПОДСТАВИТЬ мы удаляем из исходного содержимого наименование, которое уже ранее извлекли (то есть, «Юбка»). Вместо него подставляем пустое значение «» и в результате имеем «Синий-M-39-42-50». В нём мы снова ищем позицию первого дефиса, как это делали ранее. И при помощи ЛЕВСИМВ вновь выделяем первое слово (то есть, «Синий»).

А далее можно просто «протянуть» формулу из C2 по строке, то есть скопировать ее в остальные ячейки. В результате в D2 получим

=ЕСЛИОШИБКА(ЛЕВСИМВ(ПОДСТАВИТЬ($A2&»-«; ОБЪЕДИНИТЬ(«-«;ИСТИНА;$B2:C2)&»-«;»»;1); ПОИСК(«-«;ПОДСТАВИТЬ($A2&»-«;ОБЪЕДИНИТЬ(«-«;ИСТИНА;$B2:C2)&»-«;»»;1);1)-1);»»)

Обратите внимание, жирным шрифтом выделены произошедшие при копировании изменения. То есть, теперь из исходного текста мы удаляем все, что было уже ранее найдено и извлечено – содержимое B2 и C2. И вновь в получившейся фразе берём первое слово — до дефиса.

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

Скопируйте формулы по строкам и столбцам, на сколько это необходимо. Результат вы видите на скриншоте.

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

Как разделить ячейку вида ‘текст + число’.

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

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

Метод 1. Подсчитайте цифры и извлеките это количество символов

Самый простой способ разбить выражение, в котором число идет после текста:

Чтобы извлечь числа, вы ищите в строке все возможные числа от 0 до 9, получаете общее их количество и отсекаете такое же количество символов от конца строки.

Если мы работаем с ячейкой ​​A2:

=ПРАВСИМВ(A2;СУММ(ДЛСТР(A2) — ДЛСТР(ПОДСТАВИТЬ(A2; {«0″;»1″;»2″;»3″;»4″;»5″;»6″;»7″;»8″;»9″};»»))))

Чтобы извлечь буквы, вы вычисляете, сколько их у нас имеется. Для этого вычитаем количество извлеченных цифр (C2) из ​​общей длины исходной ячейки A2. После этого при помощи ЛЕВСИМВ отрезаем это количество символов от начала ячейки.

=ЛЕВСИМВ(A2;ДЛСТР(A2)-ДЛСТР(C2))

здесь  A2 – исходная ячейка, а C2 — извлеченное число, как показано на скриншоте:

Метод 2: узнать позицию 1- й цифры в строке

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

{=МИН(ПОИСК({0;1;2;3;4;5;6;7;8;9};A2&»0123456789″))}

Как видите, мы последовательно ищем каждое число из массива {0,1,2,3,4,5,6,7,8,9}. Чтобы избежать появления ошибки если цифра не найдена, мы после содержимого ячейки A2 добавляем эти 10 цифр. Excel последовательно перебирает все символы в поисках этих десяти цифр. В итоге получаем опять же массив из 10 цифр — номеров позиций, в которых они нашлись. И из них функция МИН выбирает наименьшее число. Это и будет та позиция, с которой начинается группа чисел, которую нужно отделить от основного содержимого.

Также обратите внимание, что это формула массива и ввод её нужно заканчивать не как обычно, а комбинацией клавиш CTRL + SHIFT + ENTER.

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

Чтобы получить текст:

=ЛЕВСИМВ(A2; B2-1)

Чтобы получить числа:

=ПРАВСИМВ(A2; ДЛСТР(A2)-B2+1)

Где A2 — исходная строка, а B2 — позиция первого числа.

Чтобы избавиться от вспомогательного столбца, в котором мы вычисляли позицию первой цифры, вы можете встроить МИН в функции ЛЕВСИМВ и ПРАВСИМВ:

Для вытаскивания текста:

=ЛЕВСИМВ(A2; МИН(ПОИСК({0;1;2;3;4;5;6;7;8;9};A2&»0123456789″))-1)

Для чисел:

=ПРАВСИМВ(A2; ДЛСТР(A2)-МИН(ПОИСК({0;1;2;3;4;5;6;7;8;9};A2&»0123456789″))+1)

Этого же результата можно достичь и чуть иначе.

Сначала мы извлекаем из ячейки числа при помощи вот такого выражения:

=ПРАВСИМВ(A2;СУММ(ДЛСТР(A2) -ДЛСТР(ПОДСТАВИТЬ(A2; {«0″;»1″;»2″;»3″;»4″;»5″;»6″;»7″;»8″;»9″};»»))))

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

А затем уже берём оставшееся:

=ЛЕВСИМВ(A2;ДЛСТР(A2)-ДЛСТР(C2))

Как видите, результат тот же. Можете воспользоваться любым способом.

Как разделить ячейку вида ‘число + текст’.

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

=ЛЕВСИМВ(A2;СУММ(ДЛСТР(A2) — ДЛСТР(ПОДСТАВИТЬ(A2; {«0″;»1″;»2″;»3″;»4″;»5″;»6″;»7″;»8″;»9″};»»))))

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

Теперь, когда у вас есть числа, отделите буквы, вычитая количество цифр из общей длины исходной строки:

=ПРАВСИМВ(A2;ДЛСТР(A2)-ДЛСТР(B2))

Где A2 — исходная строка, а B2 — искомое число, как показано на снимке экрана ниже:

Как разбить текст по ячейкам по маске (шаблону).

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

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

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

Решением является разбиение строки по следующей маске: * ERROR: * Exception: *

Здесь звездочка (*) представляет любое количество символов.

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

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

Итак, в начале ищем позицию первого разделителя.

=ПОИСК(«ERROR:»;A2;1)

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

=ПОИСК(«Exception:»;A2;1)

Итак, для ячейки A2 шаблон выглядит следующим образом:

С 1 по 20 символ – дата и время. С 21 по 26 символ – разделитель “ERROR:”. Далее – код ошибки. С 31 по 40 символ – второй разделитель “Exception:”. Затем следует описание ошибки.

Таким образом, в первый столбец мы поместим первые 20 знаков:

=—ЛЕВСИМВ(A2;ПОИСК(«ERROR:»;A2;1)-1)

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

Далее нужно получить код:

=ПСТР(A2;ПОИСК(«ERROR:»;A2;1)+6;ПОИСК(«Exception:»;A2;1)-(ПОИСК(«ERROR:»;A2;1)+6))

Думаю, вы понимаете, что 6 – это количество знаков в нашем слове-разделителе «ERROR:».

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

=ПРАВСИМВ(A2;ДЛСТР(A2)-(ПОИСК(«Exception:»;A2;1)+10))

Аналогично добавляем 10 к найденной позиции второго разделителя «Exception:», чтобы выйти на координаты первого символа сразу после разделителя. Ведь функция говорит нам только то, где разделитель начинается, а не заканчивается.

Таким образом, ячейку мы распределили по 3 столбцам, исключив при этом слова-разделители.

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

Как разделить ячейки в Excel с помощью функции разделения текста Split Text.

Альтернативный способ разбить столбец в Excel — использовать функцию разделения текста, включенную в надстройку Ultimate Suite for Excel. Она предоставляет следующие возможности:

  • Разделить ячейку по символу-разделителю.
  • Разделить ячейку по нескольким разделителям.
  • Разделить ячейку по маске (шаблону).

Чтобы было понятнее, давайте более подробно рассмотрим каждый вариант по очереди.

Разделить ячейку по символу-разделителю.

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

Для этого примера возьмем строки шаблона Товар-Цвет-Размер , который мы использовали в первой части этого руководства. Как вы помните, мы разделили их на 3 разных столбца, используя 3 разные формулы . А вот как добиться того же результата за 2 быстрых шага:

  1. Предполагая, что у вас установлен Ultimate Suite , выберите ячейки, которые нужно разделить, и щелкните значок «Разделить текст (Split Text)» на вкладке «Ablebits Data».

  1. Панель Разделить текст откроется в правой части окна Excel, и вы выполните следующие действия:
    • Разверните группу «Разбить по символам (Split by Characters и выберите один из предопределенных разделителей или введите любой другой символ в поле «Пользовательский (Custom .
    • Выберите, как именно разбивать ячейки: по столбцам или строкам.
    • Нажмите кнопку «Разделить (Split)» .

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

Готово! Задача, которая требовала 3 формул и 5 различных функций, теперь занимает всего пару секунд и одно нажатие кнопки.

Разделить ячейку по нескольким разделителям.

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

Например, чтобы разделить предложение на части, используя запятые и союзы, активируйте инструмент «Разбить по строкам (Split by Strings)» и введите разделители, по одному в каждой строке:

В данном случае в качестве разделителей мы используем запятую и союз “или”.

В результате исходная фраза разделяется при появлении любого разделителя:

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

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

5.1.2021 12:20

9.8.2021 14:50

Этот формат не является обычным для Excel, и поэтому ни одна из функций даты не распознает здесь какие-либо элементы даты или времени. Чтобы разделить день, месяц, год, часы и минуты на отдельные ячейки, введите следующие символы в поле Spilt by strings:

  • Точка (.) Для разделения дня, месяца и года
  • Двоеточие (:) для разделения часов и минут
  • Пробел для разграничения даты и времени

Нажмите кнопку Split, и вы сразу получите результат:

Разделить ячейки по маске (шаблону).

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

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

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

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

Решением является разбиение строки по следующей маске: 

* ERROR:* Exception: *

Где звездочка (*) представляет любое количество символов.

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

А теперь нажмите кнопку «Разбить по маске (Split by Mask)» на панели «Split Text» , введите маску в соответствующее поле и нажмите «Split».
Результат будет примерно таким:

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

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

* * ERROR:* Exception: *

Проще говоря, маска указывает надстройке разделить исходные строки на 4 части:

  • Все символы перед 1-м пробелом в строке (дата)
  • Символы между 1-м пробелом и словом ERROR: (время)
  • Текст между ERROR: и Exception: (код ошибки)
  • Все, что идет после Exception: (текст описания)

Думаю, вы согласитесь, что использование надстройки Split Text гораздо быстрее и проще, нежели использование формул.

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

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

Читайте также:

Поиск ВПР нескольких значений по нескольким условиям В статье показаны способы поиска (ВПР) нескольких значений в Excel на основе одного или нескольких условий и возврата нескольких результатов в столбце, строке или в отдельной ячейке. При использовании Microsoft…
Формат времени в Excel Вы узнаете об особенностях формата времени Excel, как записать его в часах, минутах или секундах, как перевести в число или текст, а также о том, как добавить время с помощью…
Как сделать диаграмму Ганта Думаю, каждый пользователь Excel знает, что такое диаграмма и как ее создать. Однако один вид графиков остается достаточно сложным для многих — это диаграмма Ганта.  В этом кратком руководстве я постараюсь показать…
Как сделать автозаполнение в Excel В этой статье рассматривается функция автозаполнения Excel. Вы узнаете, как заполнять ряды чисел, дат и других данных, создавать и использовать настраиваемые списки в Excel. Эта статья также позволяет вам убедиться, что вы…
Функция ИНДЕКС в Excel — 6 примеров использования В этом руководстве вы найдете ряд примеров формул, демонстрирующих наиболее эффективное использование ИНДЕКС в Excel. Из всех функций Excel, возможности которых часто недооцениваются и используются недостаточно, ИНДЕКС определенно занимает место…
Быстрое удаление пустых столбцов в Excel В этом руководстве вы узнаете, как можно легко удалить пустые столбцы в Excel с помощью макроса, формулы и даже простым нажатием кнопки. Как бы банально это ни звучало, удаление пустых…

 

sonatka

Пользователь

Сообщений: 10
Регистрация: 01.01.1970

Добрый день, прошу помощи в разделении данных из одного столбца по разным столбцам, пример во вложении, очень надеюсь на Вашу помощь!

 

{quote}{login=Соната}{date=31.05.2012 07:04}{thema=Разделение данных из одного столбца по разным столбцам}{post}… очень надеюсь на…{/post}{/quote}  
А нажать F1?.. А копировать — вставить — транспонировать?.. А просто «=ТРАНСП(C3:C13)»?.. Как вариант, разумеется… ;) -93507-

 

sonatka

Пользователь

Сообщений: 10
Регистрация: 01.01.1970

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

 

{quote}{login=Соната}{date=31.05.2012 08:16}{thema=}{post}Ваш файл у меня не открывается…{/post}{/quote}  
О те на!.. А свой открывается, пробовали?.. ;) На форуме принято хотя бы одну свою попытку решить задачу прикладывать, да с самого началу подробнее объяснять хотелку… -85011-

 

sonatka

Пользователь

Сообщений: 10
Регистрация: 01.01.1970

 

A где проблема зарыта?  
Логика для автоматизации не просматривается, а вручную преобразовать — 5 минут с перекуром?

 

sonatka

Пользователь

Сообщений: 10
Регистрация: 01.01.1970

Проблема в том, что в реальном массиве меняются данные, как по первому, так и по последующим столбцам, количество строк реального массива порядка 3000 строк, тут уж не до перекура! Проблема стоит в возможности атоматизированного разделения данных по столбцам?

 

Hugo

Пользователь

Сообщений: 23257
Регистрация: 22.12.2012

Для автоматизации используйте Rows(i).OutlineLevel.  
Но т.к. логики действительно нет (почему именно такая выборка?) — ломать голову неохота…

 

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

 

Hugo

Пользователь

Сообщений: 23257
Регистрация: 22.12.2012

Где-то на 76% справляется такой макрос:  

  Option Explicit  
Option Compare Text  

  Sub tt()  
Dim cc As Range  
On Error Resume Next  
For Each cc In [a1].CurrentRegion.Cells
cc.Offset(, 1) = Split(cc.Value, «маг»)(0)  
cc.Offset(, 2) = «маг » & Split(cc.Value, «маг»)(1)  
Next  
End Sub  

    Осторожно с названиями типа  
Жумагали ИП маг Арзан  
Жумагали ИП Маг Арзан -3

 

Большое спасибо, но проблема в том что я совсем не знаю макросы, пробовала вставлять и так и эдак, не получается(

 

Hugo

Пользователь

Сообщений: 23257
Регистрация: 22.12.2012

#12

20.06.2012 14:22:51

Посмотрите в «приёмах» или 

http://www.excel-vba.ru/chto-umeet-excel/chto-takoe-makros-i-gde-ego-iskat/


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

В

файле примера

приведена исходная таблица в формате

Таблиц EXCEL 2007

с названием

ИсхТабл

. Каждой организации сопоставлен тип:

ЮЛ

— юридическое лицо,

ИП

— индивидуальный предприниматель,

ФизЛицо

— физическое лицо.

В соседних столбцах выведем организации по типам.

Это можно сделать с помощью

формулы массива

:

=

ЕСЛИОШИБКА(

ИНДЕКС(ИсхТабл[Организации];

НАИМЕНЬШИЙ(

ЕСЛИ(D$8=ИсхТабл[Тип];СТРОКА(ИсхТабл[Тип]);»»);

СТРОКА()-СТРОКА(ИсхТабл[[#Заголовки];[Тип]]))-СТРОКА(ИсхТабл[[#Заголовки];[Тип]]));

«»)


Примечание

: Заголовки столбцов должны совпадать с соответствующими названиями Типов организации.

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


Примечание

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

Отбор уникальных СТРОК в MS EXCEL

.


Совет

: при заполнении исходной таблицы можно настроить автоматическое определение типа организации. Если название организации начинается с ЗАО, ОАО или ООО, то это юр.лицо, если с ИП, то это ИП, все остальные считаются Физ.лицами. Это реализовано в

файле примера

с помощью формулы =

ЕСЛИ(ИЛИ(ЛЕВСИМВ(A9;4)={«ЗАО «;»ООО «;»ОАО «});»ЮЛ»;ЕСЛИ(ЛЕВСИМВ(A9;3)=»ИП «;»ИП»;»ФизЛицо»))

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

Выпадающим списком

для ручного выбора типа организации из заранее определенного списка.

Естественно, можно обойтись и без сложных формул, достаточно настроить в исходной таблице

Фильтр

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

Разделение текста на столбцы с помощью мастера распределения текста по столбцам

  1. Выделите ячейку или столбец с текстом, который вы хотите разделить.
  2. На вкладке Данные нажмите кнопку Текст по столбцам.
  3. В мастере распределения текста по столбцам установите переключатель с разделителями и нажмите кнопку Далее.

Как разделить содержимое одной ячейки на несколько?

Разделение содержимого ячейки на несколько ячеек

  1. Выделите одну или несколько ячеек, которые хотите разделить. …
  2. На вкладке данные в группе Работа с данными нажмите кнопку текст по столбцам. …
  3. Установите переключатель С разделителями, если выбран другой вариант, и нажмите кнопку Далее.

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

Ввод разрыва строки

  1. Дважды щелкните ячейку, в которую требуется ввести разрыв строки. Совет: Можно также выделить ячейку, а затем нажать клавишу F2.
  2. Дважды щелкните в ячейке то место, куда нужно вставить разрыв строки, и нажмите сочетание клавиш ALT+ВВОД.

Как разделить текст по строкам в Excel?

Разделение ячеек

  1. В таблице щелкните ячейку, которую вы хотите разделить.
  2. Перейдите на вкладку макет.
  3. В группе Слияние щелкните разбить ячейки.
  4. В диалоговом окне разделенные ячейки выберите нужное количество столбцов и строк и нажмите кнопку ОК.

Как разделить текст в Excel с помощью формулы?

Разделить текст в Excel формулами. Функция ПСТР Если необходимо разделить текст по столбцам с использованием формулы, воспользуйтесь функциями =ПСТР() и =НАЙТИ(). Где функция Найти будет находить кол-во символов до пробела, а функция =ПСТР() возвращать это кол-во символов.

Как разбить ячейку на две по диагонали?

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

Как разбить одну ячейку на две в ворде?

Разделение ячеек

  1. Выделите одну или несколько ячеек, которые требуется разделить.
  2. В группе Работа с таблицами на вкладке Макет в группе Слияние выберите команду Разделить ячейки.
  3. Введите число столбцов и строк, на которое следует разбить выделенные ячейки.

Как изменить размер только одной ячейки?

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

Как найти все объединенные ячейки в Excel?

Поиск объединенных ячеек

  1. На вкладке Главная выберите Найти и выделить > Найти.
  2. Нажмите кнопку Параметры _гт_ Формат.
  3. Нажмите кнопку Выравнивание _гт_ объединить ячейки _гт_ ОК.
  4. нажмите кнопку Найти все, чтобы просмотреть список всех объединенных ячеек на данном листе. Если щелкнуть элемент в списке, Excel выделит объединенную ячейку на листе.

Как объединить ячейки в таблице Excel Горячие клавиши?

Для объединения и центрирования ячеек в моей версии Excel необходимо последовательно нажать Alt – Я – Щ – Б. Это был первый способ. Второй способ. Любым способом объединить ячейки и повторно вызвать команду клавишей F4 (повтор последнего действия).

Как в Excel сделать список в одной ячейке?

Создание раскрывающегося списка в Excel

  1. Выберите ячейки, в которой должен отображаться список.
  2. На ленте на вкладке «Данные» щелкните «Проверка данных».
  3. На вкладке «Параметры» в поле «Тип данных» выберите пункт «Список».
  4. Щелкните в поле «Источник» и введите текст или числа (разделенные запятыми), которые должны появиться в списке.

Как вставить текст в Excel несколько строк?

При необходимости ввода в одну ячейку двух или более строк текста, начните ввод текста и в конце строки нажмите сочетание клавиш [Alt] + [Enter]. После этого в этой же ячейке можно начинать вторую строку текста.

Имеем в одной ячейке «Иванов Иван Иванович», хотим получить в трех ячейках «Иванов» «Иван» «Иванович». Как это сделать быстро? Ответ ниже.

Итак, имеем ФИО сотрудника в одном столбце, хотим разбить на 3 столбца:

Как разбить данные из одного столбца на несколько?

Выделяем наш список, в главном меню переходим во вкладку «Данные», в разделе «Работа с данными» нажимаем кнопку «Текст по столбцам»:

kak-razbit-dannye-iz-odnogo-stolbtsa-na-neskolko_2.png

В открывшемся окне мастера переключаем тумблер в положение «с разделителями» и нажимаем кнопку «Далее >»:

kak-razbit-dannye-iz-odnogo-stolbtsa-na-neskolko_3.png

В следующем окне мастера снимаем галочку с пункта «знак табуляции» и устанавливаем галочку напротив пункта «пробел». Нажимаем кнопку «Далее >»:

kak-razbit-dannye-iz-odnogo-stolbtsa-na-neskolko_4.png

В следующем окне мастера нажимаем кнопку «Готово»:

kak-razbit-dannye-iz-odnogo-stolbtsa-na-neskolko_5.png

Получаем результат:

kak-razbit-dannye-iz-odnogo-stolbtsa-na-neskolko_6.png

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

На чтение 7 мин Опубликовано 18.01.2021

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

Содержание

  1. Необходимо разделить ФИО по отдельным столбцам
  2. Разделение текста с помощью формулы
  3. Этап №1. Переносим фамилии
  4. Этап №2. Переносим имена
  5. Этап №3. Ставим Отчество
  6. Заключение

Необходимо разделить ФИО по отдельным столбцам

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

  1. Открываем документ с допущенной ранее ошибкой.
  2. Выделяем текст, зажав ЛКМ и растянув выделение до крайней нижней ячейки.

kak-v-excel-razbit-tekst-po-stolbcam

1
  1. В верхней ленте находим «Данные» — переходим.

kak-v-excel-razbit-tekst-po-stolbcam

2
  1. После открытия отыскиваем в группе «Работа с данными» «Текст по столбцам». Кликаем ЛКМ и переходим в следующее диалоговое окно.

kak-v-excel-razbit-tekst-po-stolbcam

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

kak-v-excel-razbit-tekst-po-stolbcam

4

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

  1. Затем нужно определить формат данных столбца. По умолчанию установлено «Общий». Для нашей информации этот формат наиболее уместен.
  2. В таблице выбираем ячейку, куда будет помещаться отформатированный текст. Отступим от исходного текста один столбец и пропишем соответствующий адресат в адресации ячейки. По окончанию нажимаем «Готово».

kak-v-excel-razbit-tekst-po-stolbcam

5

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

kak-v-excel-razbit-tekst-po-stolbcam

6

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

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

Этап №1. Переносим фамилии

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

  1. Таблица с вписанными ФИО уже создана. Для удобства выполнения разделения информации создайте в отдельной области 3 столбца и вверху напишите определение. Проведите корректировку ячеек по размерам.

kak-v-excel-razbit-tekst-po-stolbcam

7
  1. Выберите ячейку, где будет записываться информация о фамилии сотрудника. Активируйте ее нажатием ЛКМ.

kak-v-excel-razbit-tekst-po-stolbcam

8
  1. Нажмите на кнопку «Аргументы и функции», активация которой способствует открытию окна для редактирования формулы.
  2. Здесь в рубрике «Категория» нужно пролистать вниз и выбрать «Текстовые».

kak-v-excel-razbit-tekst-po-stolbcam

9
  1. Далее находим продолжение формулы ЛЕВСИМВ и кликаем по этой строке. Соглашаемся с выполненными действиями нажатием кнопки «ОК».
  2. Появляется новое окно, где нужно указать адресацию ячейки, нуждающейся в корректировке. Для этого нажмите на графу «Текст» и активируйте необходимую ячейку. Адресация вносится автоматически.
  3. Чтобы указать необходимое количество знаков, можно посчитать их вручную и вписать данные в соответствующую графу либо воспользоваться еще одной формулой: ПОИСК().
  4. После этого формула отобразится в тексте ячейки. Кликните по ней, чтобы открыть следующее окно.

kak-v-excel-razbit-tekst-po-stolbcam

10
  1. Находим поле «Искомый текст» и кликаем по разделителю, указанному в тексте. В нашем случае это пробел.
  2. В поле «Текст для поиска» нужно активировать редактируемую ячейку в результате чего произойдет автоматический перенос адресации.
  3. Активируйте первую функцию для возврата к ее редактированию. Это действие автоматически укажет количество символов до пробела.

kak-v-excel-razbit-tekst-po-stolbcam

11
  1. Соглашаемся и кликаем по кнопке «ОК».

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

Этап №2. Переносим имена

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

  1. В качестве основной формулы прописываем аналогичным предыдущему способу образом =ПСТР(.

kak-v-excel-razbit-tekst-po-stolbcam

12
  1. Выбираем ячейку и указываем позицию, где прописан основной текст.
  2. Переходим к графе «Начальная позиция» и вписываем формулу ПОИСК().
  3. Переходим к ней, используя предыдущую инструкцию.

kak-v-excel-razbit-tekst-po-stolbcam

13
  1. В строке «Искомый текст» указываем пробел.
  2. Кликнув по «Текст для поиска», активируем ячейку.

kak-v-excel-razbit-tekst-po-stolbcam

14
  1. Возвращаемся к формуле =ПСТР в верхней части экрана.
  2. В строке «Нач.позиция» приписываем к формуле +1. Это будет способствовать началу счета со следующего символа от пробела.

kak-v-excel-razbit-tekst-po-stolbcam

15
  1. Переходим к определению количества знаков – вписываем формулу ПОИСК().
  2. Перейдите по данной формуле вверху и заполните все данные уже понятным вам образом.
  3. Теперь в строке «Нач.позиция» можно прописать формулу для поиска. Активируйте еще один переход по формуле и заполните все строки известным способом, не указывая ничего в «Нач.позиция».
  4. Переходим к предыдущей формуле ПОИСК и в «Нач.позиция» дописываем +1.
  5. Возвращаемся к формуле =ПСТР и в строке «Количество знаков» дописываем выражение ПОИСК(« »;A2)-1.

kak-v-excel-razbit-tekst-po-stolbcam

16

Этап №3. Ставим Отчество

  1. Активировав ячейку и перейдя в аргументы функции, выбираем формулу ПРАВСИМВ. Жмем «ОК».

kak-v-excel-razbit-tekst-po-stolbcam

17
  1. В поле «Текст» вписываем адресацию редактируемой ячейки.
  2. Там, где необходимо указать число знаков, пишем ДЛСТР(A2).

kak-v-excel-razbit-tekst-po-stolbcam

18

Примечание эксперта! Формула определит автоматически количество символов.

  1. Для точного определения количества знаков в конце необходимо написать: -ПОИСК().
  2. Перейдите к редактированию формулы. В «Искомый текст» укажите пробел. В «Текст для поиска» — адресацию ячейки. В «Нач.позиция» вставьте формулу ПОИСК(). Редактируйте формулу, установив те же самые значения.
  3. Перейдите к предыдущему ПОИСК и строке «Нач.позиция» допишите +1.

kak-v-excel-razbit-tekst-po-stolbcam

19
  1. Перейдите к формуле ПРАВСИМВ и убедитесь, что все действия произведены правильно.

kak-v-excel-razbit-tekst-po-stolbcam

20

Заключение

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

Оцените качество статьи. Нам важно ваше мнение:

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

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

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

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

  • текст по столбцам (диапазон B5:K6)
  • текст по строкам (диапазон A10:B19)

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

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

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

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

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

Делим слипшийся текст на части

Итак, имеем столбец с данными, которые надо разделить на несколько отдельных столбцов. Самые распространенные жизненные примеры:

  • ФИО в одном столбце (а надо – в трех отдельных, чтобы удобнее было сортировать и фильтровать)
  • полное описание товара в одном столбце (а надо – отдельный столбец под фирму-изготовителя, отдельный – под модель для построения, например, сводной таблицы)
  • весь адрес в одном столбце (а надо – отдельно индекс, отдельно – город, отдельно – улица и дом)
  • и т.д.

Способ 1. Текст по столбцам

Выделите ячейки, которые будем делить и выберите в меню Данные – Текст по столбцам (Data – Text to columns) . Появится окно Мастера разбора текстов:

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

На втором шаге Мастера, если мы выбрали формат с разделителями (как в нашем примере) – необходимо указать какой именно символ является разделителем:

Если в тексте есть строки, где зачем-то подряд идут несколько разделителей (несколько пробелов, например), то флажок Считать последовательные разделители одним (Treat consecutive delimiters as one) заставит Excel воспринимать их как один.

Выпадающий список Ограничитель строк (Text Qualifier) нужен, чтобы текст заключенный в кавычки (например, название компании “Иванов, Манн и Фарбер”) не делился по запятой
внутри названия.

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

  • общий – оставит данные как есть – подходит в большинстве случаев
  • дата – необходимо выбирать для столбцов с датами, причем формат даты (день-месяц-год, месяц-день-год и т.д.) уточняется в выпадающем списке
  • текстовый – этот формат нужен, по большому счету, не для столбцов с ФИО, названием города или компании, а для столбцов с числовыми данными, которые Excel обязательно должен воспринять как текст. Например, для столбца с номерами банковских счетов клиентов, где в противном случае произойдет округление до 15 знаков, т.к. Excel будет обрабатывать номер счета как число:

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

Способ 2. Как выдернуть отдельные слова из текста

Если хочется, чтобы такое деление производилось автоматически без участия пользователя, то придется использовать небольшую функцию на VBA, вставленную в книгу. Для этого открываем редактор Visual Basic:

  • в Excel 2003 и старше – меню Сервис – Макрос – Редактор Visual Basic(Tools – Macro – Visual Basic Editor)
  • в Excel 2007 и новее – вкладка Разработчик – Редактор Visual Basic (Developer – Visual Basic Editor) или сочетание клавиш Alt+F11

Вставляем новый модуль (меню Insert – Module) и копируем туда текст вот этой пользовательской функции:

Теперь можно найти ее в списке функций в категории Определенные пользователем (User Defined) и использовать со следующим синтаксисом:

=SUBSTRING(Txt; Delimeter; n)

  • Txt – адрес ячейки с текстом, который делим
  • Delimeter – символ-разделитель (пробел, запятая и т.д.)
  • n – порядковый номер извлекаемого фрагмента

Способ 3. Разделение слипшегося текста без пробелов

Тяжелый случай, но тоже бывает. Имеем текст совсем без пробелов, слипшийся в одну длинную фразу (например ФИО “ИвановИванИванович”), который надо разделить пробелами на отдельные слова. Здесь может помочь небольшая макрофункция, которая будет автоматически добавлять пробел перед заглавными буквами. Откройте редактор Visual Basic как в предыдущем способе, вставьте туда новый модуль и скопируйте в него код этой функции:

Теперь можно использовать эту функцию на листе и привести слипшийся текст в нормальный вид:

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

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

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

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

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

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

Поместить результат:

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

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

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

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

Как разделить текст в ячейке 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. Делим текст без пробелов.

Способ №1.

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

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

Excel: разделяем слипшийся текст

Случается, что содержание одного столбца нужно разбить на несколько. Например:

  • слишком обширное описание товара (а нужно, чтоб наименование, характеристики и актуальное наличие были разбиты);
  • полный адрес в одном столбце (а нужно, чтоб индекс, область, район и прочие данные были разбиты);
  • ФИО в одном столбце (а нужно – в отдельных).

Какая бы ситуация ни сложилась у вас, есть несколько способов разделить слипшийся текст.

Задача №1: Разбить текст по столбцам

Решение: Выделите нужные ячейки, перейдите в меню ДанныеТекст по столбцам.

В появившемся окне Мастер текстов (разбора) укажите формат данных:

  • с разделителями – в случае, когда содержимое будущих отдельных столбцов разделяется каким-либо символом (укажите, каким именно).

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

  • фиксированной ширины – если вы хотите задать произвольную ширину столбца:

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

  • Общий – самый универсальный, сохранит данные в исходном виде.
  • Дата – для столбцов, где указан день-месяц-год (порядок значений вы также выберете самостоятельно).
  • Текстовый – незаменим для ячеек с числовыми данными, которые Excel должен воспринимать как текст. Пример: если столбцу с номерами банковских счетов не назначить текстовый формат, цифры округлятся до 15-ти символов – офис распознает их как числа.

Задача №2: Выборочно выдернуть слова из текста

Для того чтобы сделать это автоматически, воспользуйтесь редактором Visual Basic (вызов горячими клавишами Alt+F11 ): откройте новый модуль ( Insert Module ) и вставьте следующий текст функции:

Function Substring(Txt, Delimiter, n) As String
Dim x As Variant
x = Split(Txt, Delimiter)
If n > 0 And n – 1
Substring = x(n – 1)
Else
Substring = “”
End If
End Function

Далее идем в меню Формулы → Вставить функцию , выбираем категорию «Определенные пользователем» , применяем синтаксис =SUBSTRING и указываем значения:

  • Txt – адрес ячейки с нужным текстом.
  • Delimeter – разделяющий знак (запятая, тире, пробел и т.д.).
  • N – порядковый номер фрагмента, который нужно «выдернуть».

Задача №3: Разделить текст без пробелов

Если о знаках-разделителях речи даже не идет – то есть текст абсолютно слипшийся (например, ФИО «ПетровскийАндрейИванович»), используйте следующую макрофункцию:

Function CutWords(Txt As Range) As String
Dim Out$
If Len(Txt) = 0 Then Exit Function
Out = Mid(Txt, 1, 1)

For i = 2 To Len(Txt)
If Mid(Txt, i, 1) Like “[a-zа-я]” And Mid(Txt, i + 1, 1) Like “[A-ZА-Я]” Then
Out = Out & Mid(Txt, i, 1) & ” ”
Else
Out = Out & Mid(Txt, i, 1)
End If
Next i
CutWords = Out
End Function

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

Читайте нас дальше, чтобы работа с Excel давалась ещё легче.

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

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

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

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

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

В ячейку B3 введите следующую формулу:

Теперь скопируйте эту формулу вдоль целого столбца:

Выборка чисел из строк в отдельные ячейки.

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

Функция ПСТР возвращает текстовое значение содержащие определенное количество символов в строке. Аргументы функции:

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

С первым аргументом ПСТР все понятно – это ссылка на ячейку A3. Второй аргумент мы вычисляем с помощью функции НАЙТИ(“]”;A3)+2. Она возвращает очередной номер символа первой закрывающейся квадратной скобки в строке. И к этому номеру мы добавляем еще число 2, так как нам нужен номер символа после пробела за квадратной скобкой. В последнем аргументе функция вычисляет какое количество символов будет содержать разделенная строка после разделения, учитывая положение квадратной скобки.

Обратите внимание! Что в нашем примере все исходные и разделенные строки имеют разную длину и разное количество символов. Именно поэтому мы называли такую формулу – гибкой, в начале статьи. Она подходит для любых условий при решении подобного рода задач. Гибкость придает ей сложная комбинация из функций НАЙТИ. Пользователю формулы достаточно определить закономерность и указать их в параметрах функций: будут это квадратные скобки либо другие разделительные знаки. Например, это могут быть пробелы если нужно разделить строку на слова и т.п.

В данном примере функция НАЙТИ во втором аргументе определяет положение относительно первой закрывающейся скобки. А в третьем аргументе эта же функция вычисляет положение нужного нам текста в строке относительно второй открывающийся квадратной скобки. Вычисление в третьем аргументе более сложное и оно подразумевает вычитание одной большей длинны текста от меньшей. А чтобы учитывать еще 2 пробела следует вычитать число 3. В результате чего получаем правильное количество символов в разделенной строке. С помощью такой гибкой формулы можно делать выборку разной длинны разделенного текста из разных длинны исходных строк.

Как сделать несколько строк в одной ячейке Excel

Microsoft Excel входит в стандартный пакет программ Microsoft Office. Это привычное приложение для с.

Как написать несколько строк в одной ячейке Excel

как в одной ячейке excel написать несколько строк

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

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

Как разделить данные в ячейке в экселе

Затем в главном меню программы открываем раздел «Данные» и находим кнопочку «Текст по столбцам». Появится специальный Мастер распределения текста:

мастер распределения текста по столбцам в excel

На первом шаге ставим флаг на формат данных «с разделителями».
Нажимаем на «Далее»:

укажите символ разделитель

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

как разнести содержимое ячейки по столбцам

На заключительном этапе ничего не меняем и нажимаем на кнопку «Готово». Проверяем результат:

разделение ячейки в excel

Как Вы можете заметить,того, разделить содержимое ячейки по столбцам в Экселе очень просто — главное правильно указать разделитель. Всем добра!

Понравилась статья? Поделить с друзьями:
  • Разность в процентах excel
  • Разндат сегодня в excel
  • Разница одного числа от другого в процентах excel
  • Разница лет между датами excel
  • Разндат нет в excel как добавить