Skip to content
В руководстве объясняется, как разделить ячейки в 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-го дефиса), вставьте следующее выражение в B2, а затем скопируйте его вниз по столбцу:
=ЛЕВСИМВ(A2; ПОИСК(«-«;A2;1)-1)
Здесь функция мы сначала определяем позицию первого дефиса («-«) в строке, а ЛЕВСИМВ извлекает все нужные символы начиная с этой позиции. Вы вычитаете 1 из позиции дефиса, потому что вы не хотите извлекать сам дефис.
- Чтобы извлечь цвет (это все буквы между 1-м и 2-м дефисами), запишите в C2, а затем скопируйте ниже:
=ПСТР(A2; ПОИСК(«-«;A2) + 1; ПОИСК(«-«;A2;ПОИСК(«-«;A2)+1) — ПОИСК(«-«;A2) — 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 быстрых шага:
- Предполагая, что у вас установлен Ultimate Suite , выберите ячейки, которые нужно разделить, и щелкните значок «Разделить текст (Split Text)» на вкладке «Ablebits Data».
- Панель Разделить текст откроется в правой части окна 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, используя различные комбинации функций, а также специальные инструменты. Благодарю вас за чтение и надеюсь увидеть вас в нашем блоге на следующей неделе!
Читайте также:
Разделение текста на столбцы с помощью мастера распределения текста по столбцам
С помощью мастера распределения текста по столбцам текст, содержащийся в одной ячейке, можно разделить на несколько.
Проверьте, как это работает!
-
Выделите ячейку или столбец с текстом, который вы хотите разделить.
-
На вкладке Данные нажмите кнопку Текст по столбцам.
-
В мастере распределения текста по столбцам установите переключатель с разделителями и нажмите кнопку Далее.
-
Выберите разделители для своих данных. Например, запятую и пробел. Данные можно предварительно просмотреть в окне Образец разбора данных.
-
Нажмите кнопку Далее.
-
В поле Поместить в выберите место на листе, где должны отображаться разделенные данные.
-
Нажмите кнопку Готово.
См. также
Разделение текста по столбцам с помощью функций
Нужна дополнительная помощь?
Распределение содержимого ячейки на соседние столбцы
Смотрите такжеВводим тот показатель ширины, двух.Можно объединить сразу группу с ячейками в строки, можно сперва PLEX небольшая макрофункция, котораяили сочетание клавиш столбцов с числовыми например), то флажокПоехали..Можно разделить ячейкуВнимание! имени определить пол».. столбцам см. вПримечание: который нам нужен.Таким образом, чтобы разбить смежных ячеек по Microsoft Excel. Из
удалить лишние пробелыЧто такое макросы, куда будет автоматически добавлятьAlt+F11 данными, которые ExcelСчитать последовательные разделители однимВыделите ячейки, которые будем по диагонали и,Столбцы этого диапазонаВыделяем ячейки, текстСледуйте инструкциям в статье Разделение текстаМы стараемся как
Жмем ОК. нужную ячейку на
-
горизонтали и по данного урока вы функцией СЖПРОБЕЛЫ. вставлять код макроса, пробел перед заглавнымиВставляем новый модуль (меню
-
обязательно должен воспринять (Treat consecutive delimiters делить и выберите
в каждой части
должны быть пустыми, в которых нужноСтолбцах мастера по столбцам с можно оперативнее обеспечиватьМожно изменить ширину ячеек две части, необходимо вертикали. узнаете о новыхЕсли принять, что как их использовать буквами. Откройте редакторInsert — Module как текст. Например, as one) в меню написать текст. Читайте, иначе информация в разделить или весь, чтобы указать способ помощью функций.
-
вас актуальными справочными во всем листе. объединить соседние ячейки.Если нужно объединить только
-
возможностях заполнения и исходные данные записаныданные на три ячейки Visual Basic как) и копируем туда для столбца сзаставит Excel воспринимать
-
Данные — Текст по как это сделать, них сотрется и столбец. разбиения текста на
Можно объединить ячейки, содержащие материалами на вашем Для этого нужно В нашем примере строки в выделенном форматирования данных в в A1, то (столбца) в предыдущем способе, текст вот этой номерами банковских счетов
support.office.com
Разделить текст Excel на несколько ячеек.
их как один. столбцам в статье «Как заменится на новую.Заходим на закладке «Данные» разных столбцах. функцию СЦЕП или языке. Эта страница выделить весь лист.
– сверху и диапазоне, нажимаем на рабочих листах. функция получения ФАлексей матевосов (alexm) вставьте туда новый пользовательской функции: клиентов, где вВыпадающий список(Data — Text to разделить ячейку в Если нет пустых в раздел «РаботаПримечание:
функцию СЦЕПИТЬ. переведена автоматически, поэтому Нажмем левой кнопкой снизу. Ту ячейку,
запись «Объединить поСмежные ячейки можно объединить может выглядеть вот: Выделить ячейку или модуль и скопируйтеFunction Substring(Txt, Delimiter, противном случае произойдетОграничитель строк (Text Qualifier) columns) Excel» здесь. столбцов, можно предварительно
с данными» и Для получения справки поВыполните следующие действия. ее текст может мыши на пересечение которую нужно разделить, строкам». по горизонтали или так: диапазон ячеек с в него код n) As String округление до 15нужен, чтобы текст.Удобнее работать в вставить столбцы. Как выбираем функцию «Текст заполнению все действия
Примечание: содержать неточности и названий строк и не объединяем.В результате получится: по вертикали. В=ПСТР (СЖПРОБЕЛЫ ($A$1); ФИО. этой функции: Dim x As знаков, т.к. Excel заключенный в кавычкиПоявится окно таблице, где в это сделать, смотрите по столбцам». В мастера читайте статью Диапазон, содержащий столбец, который
грамматические ошибки. Для столбцов (или комбинацияДля решения данной задачиЕсли хоть одна ячейка результате получается одна 1; ПОИСК («Данные -> ТекстFunction CutWords(Txt As
Variant x = будет обрабатывать номер
(например, название компанииМастера разбора текстов ячейках не видны в статье «Как появившемся окне «Мастер Разделение текста по вы хотите разделить
нас важно, чтобы горячих клавиш CTRL+A). следует выполнить следующий в выбранном диапазоне ячейка, занимающая сразу «; СЖПРОБЕЛЫ ($A$1); по столбцам. С Range) As String Split(Txt, Delimiter) If счета как число:
«Иванов, Манн и: нули. Как их добавить строку, столбец текстов», в строке различным столбцам с может включать любое эта статья была
Подведите курсор к названиям порядок действий: еще редактируется, кнопка пару столбцов либо 1)) разделителями -> Разделитель Dim Out$ If n > 0
excel-office.ru
Делим слипшийся текст на части
Кнопка Фарбер») не делилсяНа первом шаге убрать, скрыть, заменить, в Excel» тут.
- «Формат исходных данных» преобразовать мастера текстов, количество строк, но вам полезна. Просим столбцов и добейтесь
- Щелкаем правой кнопкой по для объединения может строк. Информация появляетсяЧтобы получить И, пробел -> Готово Len(Txt) = 0 And n -
- Подробнее (Advanced) по запятойМастера читайте в статьеМожно указать формат указываем – «С
- или нажмите кнопку
он может содержать
Способ 1. Текст по столбцам
вас уделить пару того, чтобы он ячейке и выбираем быть недоступна. Необходимо в центре объединенной придется использовать нечтоГеоргий мещеряков Then Exit Function 1позволяет помочь Excelвнутри названия.
выбираем формат нашего «Как убрать нули Ячеек столбцов. Например, разделителями». Нажимаем кнопкуСправка не более одного секунд и сообщить, принял вид крестика. инструмент «Формат» (или заверить редактирование и ячейки. подобное:: Я делал так: Out = Mid(Txt,Теперь можно найти ее правильно распознать символы-разделители
И, наконец, на третьем текста. Или это в Excel». если вы делите «Далее».в мастере разделения столбца. Это важные помогла ли она
Нажмите левую кнопку комбинация горячих клавиш нажать «Ввод» дляПорядок объединения ячеек в=ПСТР (СЖПРОБЕЛЫ ($A$1);копировал все в 1, 1) For в списке функций в тексте, если шаге для каждого
текст, в которомИтак, имеем столбец с столбец на дниЗдесь указываем в строке текста столбцов. из них достаточно вам, с помощью мыши и протяните
CTRL+1).
выхода из режима. Excel: ПОИСК (» «; текстовый файл; открывал i = 2 в категории
- они отличаются от из получившихся столбцов, какой-либо символ отделяет данными, которые надо и месяцы, год,
- «Символом – разделителемЗдесь рассмотрим, пустыми столбцами справа кнопок внизу страницы. границу, устанавливая размерНа закладке «Граница» выбираем
- Возьмем небольшую табличку, где СЖПРОБЕЛЫ ($A$1); 1) его через эксел; To Len(Txt) IfОпределенные пользователем (User Defined) стандартных, заданных в выделяя их предварительно друг от друга разделить на несколько то можно указать является» — «пробел».как разделить текст в от выбранных столбец, Для удобства также столбца. Ячейки во диагональ. Ее направление,Разбить на две ячейки несколько строк и + 1; ПОИСК
при вводе «разделителя» Mid(Txt, i, 1)и использовать со региональных настройках. в окне Мастера, содержимое наших будущих отдельных столбцов. Самые «Формат данных столбца»
Способ 2. Как выдернуть отдельные слова из текста
Поставили «пробел», потому ячейке Excel на который будет предотвратить приводим ссылку на всем листе станут тип линии, толщину, можно только объединенную столбцов. (» «; СЖПРОБЕЛЫ
- указывал «пробел». ВСЕ! Like «[a-zа-я]» And следующим синтаксисом:Если хочется, чтобы такое необходимо выбрать формат: отдельных столбцов (
- распространенные жизненные примеры: — «дата». что в нашем несколько ячеек. перезапись по данные, оригинал (на английском одинаковыми.
цвет. ячейку. А самостоятельную,Для объединения ячеек используется ($A$1); ПОИСК («Мила-я 39rus на rыxике
Mid(Txt, i +=SUBSTRING(Txt; Delimeter; n) деление производилось автоматическиобщийс разделителямиФИО в одном столбцеНажимаем кнопку «Готово». списке имя и
Например, предложение из которые распространяться данные языке) .В Excel можно сделатьЖмем ОК. которая не была
инструмент «Выравнивание» на
«; СЖПРОБЕЛЫ ($A$1);
- : в отдельные ячейки 1, 1) Likeгде
- без участия пользователя,- оставит данные
- ) или в тексте (а надо -
Получилось так.
Способ 3. Разделение слипшегося текста без пробелов
фамилия написаны через первой ячейки разнести в любой смежныхМожно разделить содержимого ячейки несколько строк изЕсли нужно провести диагональ объединена – нельзя. главной странице программы. ПОИСК (» «; впиши фамилию, имя «[A-ZА-Я]» Then OutTxt — адрес ячейки то придется использовать как есть - с помощью пробелов в трех отдельных,Так можно разделить текст пробел. Если бы по словам в
столбцах. При необходимости и распространение составные одной ячейки. Перечислены в большой ячейке, НО как получитьВыделяем ячейки, которые нужно СЖПРОБЕЛЫ ($A$1); 1)+1)) и отчество, а = Out & с текстом, который небольшую функцию на подходит в большинстве имитируются столбцы одинаковой чтобы удобнее было из одной ячейки имя и фамилия несколько других ячеек, вставьте количество пустые части нескольких смежных улицы в одну воспользуйтесь инструментом «Вставка». такую таблицу: объединить. Нажимаем «Объединить
— ПОИСК (« в той сотри Mid(Txt, i, 1) делим VBA, вставленную в
Ссылки по теме
- случаев ширины ( сортировать и фильтровать)
- на большее количество (др. слова) были ФИО, дату, т.д.
planetaexcel.ru
Есть таблица в excel, где Фамилия Имя Отчество человека находятся в одной ячейке через пробел. Как разделить эти
столбцы, будет достаточно ячеек. Например, если
строку.На вкладке «Иллюстрации» выбираемДавайте посмотрим на нее и поместить в
«; СЖПРОБЕЛЫ ($A$1); вверху, ну или & » «Delimeter — символ-разделитель (пробел,
книгу. Для этогодата
фиксированная ширинаполное описание товара в столбцов. Например, здесь написаны через запятую,Например, у нас
для хранения каждого лист содержитНам нужно сделать несколько «Фигуры». Раздел «Линии». внимательнее, на листе центре». 1)) если они объединены, Else Out = запятая и т.д.) открываем редактор Visual
- необходимо выбирать).
одном столбце (а разделили дату отдельно то мы бы
есть список с составные части распределенныхПолное имя строк, чтобы каждаяПроводим диагональ в нужном Excel.
При объединении сохраняются толькоА как получить то разъедини их, Out & Mid(Txt,n — порядковый номер Basic:
для столбцов сНа втором шаге надо — отдельный по столбцам –
указали разделителем «запятая». фамилиями, именами в данных.
столбца, можно разделить столбец улица была написана направлении.Черта разделяет не одну те данные, которые О, додумайте сами. но писать по i, 1) End извлекаемого фрагментав Excel 2003 и датами, причем форматМастера
столбец под фирму-изготовителя, число, месяц, год.
Объединение и разбиение данных в ячейках в Excel с форматированием
В этом окне, в одном столбце. НамВыделите ячейку, диапазон или на двух столбцов в одной строке.Преобразовать ячейки в один
ячейку, а показывает содержатся в верхнейФорматирование и редактирование ячеек раздельности все равно If Next iНапример: старше — меню даты (день-месяц-год, месяц-день-год, если мы выбрали отдельный — подДля большей наглядности
Как объединить ячейки без потери данных Excel?
разделе «Образец разбора нужно написать фамилии весь столбец, где —Выделяем ячейку. На вкладке размер можно следующим границы двух ячеек. левой ячейке. Если в Excel –
придется CutWords = Out
- Тяжелый случай, но тожеСервис — Макрос - и т.д.) уточняется
- формат с разделителями модель для построения, в таблице Excel
- данных» сразу видно, в одном столбце, содержатся текстовые значения,имени
- «Выравнивание» нажимаем кнопку образом: Ячейки выше «разделенной» нужно сохранить все удобный инструмент дляпокажи скриншот и End Function бывает. Имеем текст
- Редактор Visual Basic в выпадающем списке (как в нашем например, сводной таблицы)
- можно выделить некоторые какие столбцы у а имена в которые требуется разделить.
- и «Перенос текста».Выделить нужный диапазон, вмещающий и ниже объединены данные, то переносим
наглядного представления информации.
я скажу точнееТеперь можно использовать эту совсем без пробелов,(Tools — Macro -текстовый примере) — необходимовесь адрес в одном строки, столбцы (например,
нас получатся. Нажимаем
Как разбить ячейку в Excel на две?
другом столбце. Например,На вкладкеФамилииДанные в ячейке автоматически определенное количество ячеек. по строкам. Первый их туда, нам
Такие возможности программыБорис бескровный функцию на листе
слипшийся в одну Visual Basic Editor)- этот формат указать какой именно столбце (а надо итоговые) выделить другим кнопку «Далее». чтобы определить полДанныестолбцом. распределятся по нескольким Щелкаем правой кнопкой
столбец, третий и не нужно: для работы бесценны.: Можно разделить используя и привести слипшийся длинную фразу (напримерв Excel 2007 и нужен, по большому символ является разделителем:
Как разделить ячейку в Excel по диагонали?
— отдельно индекс, цветом, разделительной линией.Здесь, в разделе
- людей в списке.в группеСоветы: строкам. мыши по любой
- четвертый в этойТочно таким же образомЗначимость оптимальной демонстрации данных функции ПОИСК, ПСТР.
- текст в нормальный
ФИО «ИвановИванИванович»), который новее — вкладка счету, не для
Если в тексте есть отдельно — город,
Подробнее, смотрите в «Поместить в:» указываем
Как сделать ячейки одинакового размера?
Подробнее об этомРабота с данными
- Пробуйте, экспериментируйте. Устанавливайте наиболее латинской букве вверху таблице состоят из можно объединить несколько объяснять никому неЧтобы избежать ошибок,
- вид:
- надо разделить пробеламиРазработчик — Редактор Visual столбцов с ФИО,
строки, где зачем-то отдельно — улица статье «Разделительная линия диапазон столбцов, в читайте в статьенажмите кнопкуСведения об альтернативном способе удобные для своих столбцов.
одного столбца. Второй вертикальных ячеек (столбец нужно. Давайте посмотрим, вызванных наличием двухДеление текста при помощи на отдельные слова. Basic (Developer - названием города или подряд идут несколько и дом)
Как разбить ячейку на строки?
строк в таблице которые поместятся новые «В Excel поТекст по столбцам распределения текста по
читателей форматы.Открываем меню «Ширина столбца». столбец – из данных).
что можно сделать пробелов между элементами готовой функции надстройки
Здесь может помочь Visual Basic Editor) компании, а для
разделителей (несколько пробелов,и т.д. Excel» тут.
exceltable.com
данные.
Содержание
- Способ 1: Использование автоматического инструмента
- Способ 2: Создание формулы разделения текста
- Шаг 1: Разделение первого слова
- Шаг 2: Разделение второго слова
- Шаг 3: Разделение третьего слова
- Вопросы и ответы
Способ 1: Использование автоматического инструмента
В Excel есть автоматический инструмент, предназначенный для разделения текста по столбцам. Он не работает в автоматическом режиме, поэтому все действия придется выполнять вручную, предварительно выбирая диапазон обрабатываемых данных. Однако настройка является максимально простой и быстрой в реализации.
- С зажатой левой кнопкой мыши выделите все ячейки, текст которых хотите разделить на столбцы.
- После этого перейдите на вкладку «Данные» и нажмите кнопку «Текст по столбцам».
- Появится окно «Мастера разделения текста по столбцам», в котором нужно выбрать формат данных «с разделителями». Разделителем чаще всего выступает пробел, но если это другой знак препинания, понадобится указать его в следующем шаге.
- Отметьте галочкой символ разделения или вручную впишите его, а затем ознакомьтесь с предварительным результатом разделения в окне ниже.
- В завершающем шаге можно указать новый формат столбцов и место, куда их необходимо поместить. Как только настройка будет завершена, нажмите «Готово» для применения всех изменения.
- Вернитесь к таблице и убедитесь в том, что разделение прошло успешно.
Из этой инструкции можно сделать вывод, что использование такого инструмента оптимально в тех ситуациях, когда разделение необходимо выполнить всего один раз, обозначив для каждого слова новый столбец. Однако если в таблицу постоянно вносятся новые данные, все время разделять их таким образом будет не совсем удобно, поэтому в таких случаях предлагаем ознакомиться со следующим способом.
Способ 2: Создание формулы разделения текста
В Excel можно самостоятельно создать относительно сложную формулу, которая позволит рассчитать позиции слов в ячейке, найти пробелы и разделить каждое на отдельные столбцы. В качестве примера мы возьмем ячейку, состоящую из трех слов, разделенных пробелами. Для каждого из них понадобится своя формула, поэтому разделим способ на три этапа.
Шаг 1: Разделение первого слова
Формула для первого слова самая простая, поскольку придется отталкиваться только от одного пробела для определения правильной позиции. Рассмотрим каждый шаг ее создания, чтобы сформировалась полная картина того, зачем нужны определенные вычисления.
- Для удобства создадим три новые столбца с подписями, куда будем добавлять разделенный текст. Вы можете сделать так же или пропустить этот момент.
- Выберите ячейку, где хотите расположить первое слово, и запишите формулу
=ЛЕВСИМВ(
. - После этого нажмите кнопку «Аргументы функции», перейдя тем самым в графическое окно редактирования формулы.
- В качестве текста аргумента указывайте ячейку с надписью, кликнув по ней левой кнопкой мыши на таблице.
- Количество знаков до пробела или другого разделителя придется посчитать, но вручную мы это делать не будем, а воспользуемся еще одной формулой —
ПОИСК()
. - Как только вы запишете ее в таком формате, она отобразится в тексте ячейки сверху и будет выделена жирным. Нажмите по ней для быстрого перехода к аргументам этой функции.
- В поле «Искомый_текст» просто поставьте пробел или используемый разделитель, поскольку он поможет понять, где заканчивается слово. В «Текст_для_поиска» укажите ту же обрабатываемую ячейку.
- Нажмите по первой функции, чтобы вернуться к ней, и добавьте в конце второго аргумента
-1
. Это необходимо для того, чтобы формуле «ПОИСК» учитывать не искомый пробел, а символ до него. Как видно на следующем скриншоте, в результате выводится фамилия без каких-либо пробелов, а это значит, что составление формул выполнено правильно. - Закройте редактор функции и убедитесь в том, что слово корректно отображается в новой ячейке.
- Зажмите ячейку в правом нижнем углу и перетащите вниз на необходимое количество рядов, чтобы растянуть ее. Так подставляются значения других выражений, которые необходимо разделить, а выполнение формулы происходит автоматически.
Полностью созданная формула имеет вид =ЛЕВСИМВ(A1;ПОИСК(" ";A1)-1)
, вы же можете создать ее по приведенной выше инструкции или вставить эту, если условия и разделитель подходят. Не забывайте заменить обрабатываемую ячейку.
Шаг 2: Разделение второго слова
Самое трудное — разделить второе слово, которым в нашем случае является имя. Связано это с тем, что оно с двух сторон окружено пробелами, поэтому придется учитывать их оба, создавая массивную формулу для правильного расчета позиции.
- В этом случае основной формулой станет
=ПСТР(
— запишите ее в таком виде, а затем переходите к окну настройки аргументов. - Данная формула будет искать нужную строку в тексте, в качестве которого и выбираем ячейку с надписью для разделения.
- Начальную позицию строки придется определять при помощи уже знакомой вспомогательной формулы
ПОИСК()
. - Создав и перейдя к ней, заполните точно так же, как это было показано в предыдущем шаге. В качестве искомого текста используйте разделитель, а ячейку указывайте как текст для поиска.
- Вернитесь к предыдущей формуле, где добавьте к функции «ПОИСК»
+1
в конце, чтобы начинать счет со следующего символа после найденного пробела. - Сейчас формула уже может начать поиск строки с первого символа имени, но она пока еще не знает, где его закончить, поэтому в поле «Количество_знаков» снова впишите формулу
ПОИСК()
. - Перейдите к ее аргументам и заполните их в уже привычном виде.
- Ранее мы не рассматривали начальную позицию этой функции, но теперь там нужно вписать тоже
ПОИСК()
, поскольку эта формула должна находить не первый пробел, а второй. - Перейдите к созданной функции и заполните ее таким же образом.
- Возвращайтесь к первому
"ПОИСКУ"
и допишите в «Нач_позиция»+1
в конце, ведь для поиска строки нужен не пробел, а следующий символ. - Кликните по корню
=ПСТР
и поставьте курсор в конце строки «Количество_знаков». - Допишите там выражение
-ПОИСК(" ";A1)-1)
для завершения расчетов пробелов. - Вернитесь к таблице, растяните формулу и удостоверьтесь в том, что слова отображаются правильно.
Формула получилась большая, и не все пользователи понимают, как именно она работает. Дело в том, что для поиска строки пришлось использовать сразу несколько функций, определяющих начальные и конечные позиции пробелов, а затем от них отнимался один символ, чтобы в результате эти самые пробелы не отображались. В итоге формула такая: =ПСТР(A1;ПОИСК(" ";A1)+1;ПОИСК(" ";A1;ПОИСК(" ";A1)+1)-ПОИСК(" ";A1)-1)
. Используйте ее в качестве примера, заменяя номер ячейки с текстом.
Шаг 3: Разделение третьего слова
Последний шаг нашей инструкции подразумевает разделение третьего слова, что выглядит примерно так же, как это происходило с первым, но общая формула немного меняется.
- В пустой ячейке для расположения будущего текста напишите
=ПРАВСИМВ(
и перейдите к аргументам этой функции. - В качестве текста указывайте ячейку с надписью для разделения.
- В этот раз вспомогательная функция для поиска слова называется
ДЛСТР(A1)
, где A1 — та же самая ячейка с текстом. Эта функция определяет количество знаков в тексте, а нам останется выделить только подходящие. - Для этого добавьте
-ПОИСК()
и перейдите к редактированию этой формулы. - Введите уже привычную структуру для поиска первого разделителя в строке.
- Добавьте для начальной позиции еще один
ПОИСК()
. - Ему укажите ту же самую структуру.
- Вернитесь к предыдущей формуле «ПОИСК».
- Прибавьте для его начальной позиции
+1
. - Перейдите к корню формулы
ПРАВСИМВ
и убедитесь в том, что результат отображается правильно, а уже потом подтверждайте внесение изменений. Полная формула в этом случае выглядит как=ПРАВСИМВ(A1;ДЛСТР(A1)-ПОИСК(" ";A1;ПОИСК(" ";A1)+1))
. - В итоге на следующем скриншоте вы видите, что все три слова разделены правильно и находятся в своих столбцах. Для этого пришлось использовать самые разные формулы и вспомогательные функции, но это позволяет динамически расширять таблицу и не беспокоиться о том, что каждый раз придется разделять текст заново. По необходимости просто расширяйте формулу путем ее перемещения вниз, чтобы следующие ячейки затрагивались автоматически.
Еще статьи по данной теме:
Помогла ли Вам статья?
Как разделить текст в ячейке Excel?
Добрый день уважаемый читатель!
В статье я хочу рассмотреть вопрос о том, как и какими способами, возможно, разделить текст в ячейке, который оказался склеен! Если вы часто работаете с импортированными данными в Excel, то периодически встречаете такие проблемы как выгруженные точки вместо запятых, неправильный формат данных, слепленные слова или значения и многое другое. На этот случай Excel предоставляет несколько возможностей по нормализации данных и у каждого из них есть свои плюсы и минуса.
Разобрать слитый текст на необходимые составляющие возможно произвести с помощью:
Мастер разбора текстов
Рассмотрим самый простой способ разделить текст в ячейке, не по сути, а по исполнению. Для примера, очень наглядно это можно продемонстрировать на ФИО в одной ячейке, которые необходимо разделить на отдельные столбики для удобства сортировки и фильтрации.
Для выполнения задачи вызываем диалоговое окно «Мастер текстов (разбор)» и в 3 шага разделяем текст:
- Для начала нужно выделить данные, которые необходимо разделить, следующим шагом на вкладке «Данные» в разделе «Работа с данными» нажимаете иконку «Текст по столбцам» и в вызванном диалоговом окне мастера указываем формат рабочего текста. Выбираем 2 вида форматов:
- С разделителями – это когда существует текст или символ, который условно будет отделять будущее содержимое отдельных ячеек;
- Фиксированной ширины – это когда при помощи пробелов в тексте имитируется столбики одинаковой ширины.
- Вторым шагом, в нашем примере, указываем символ, выполняющий роль разделителя. В случаях, когда в тексте идут подряд пару разделителей, несколько пробелов, к примеру, то установка флажка для пункта «Считать последовательные разделители одним» укажет для Excel принимать их за один разделитель. Дополнительное условие «Ограничитель строк» поможет указать, что текстовые значения, содержащиеся в кавычках не делить (к примеру, название фирмы «Рудольф, Петер и Саймон»);
- Последним шагом, для уже разделённых столбиков, нужно указать в диалоговом окне мастера, предварительно выделив их, выбрать необходимый формат получаемых данных:
- Общий – не проводит изменения данных, оставляя их в первоначальном виде, будет оптимальным выбором в большинстве случаев;
- Текстовый – данный формат, в основном, необходим для столбиков с числовыми значениями, которые программа в обязательном порядке должна интерпретировать как текст. (К примеру, это числа с разделителем по тысяче или номер пластиковой карточки);
- Дата – этот формат используется для столбиков с датами, кстати, формат самой даты можно выбрать в выпадающем списке.
В случае, когда будете использовать символы, которые не похожи на стандартные, назначенные в региональных настройках, можете использовать кнопку «Подробнее» для правильного их распознавания.
Рассоединяем текст с помощью формул
Для этого способа нам понадобятся возможности сочетаний функций ПОИСК и ПСТР. При помощи функции ПОИСК мы будем искать все пробелы, которые есть между словами (например, между фамилией, именем и отчеством). Потом функцией ПСТР выделяем необходимое количество символов для дальнейшего разделения.
И если с первыми двумя словами понятно, что и как разделять, то разделителя для последнего слова нет, а это значит что нужно указать в качестве аргумента условно большое количество символов, как аргумент «число_знаков» для функции ПСТР, например, 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.
Поскольку вас интересует автоматическое деление текста, значит надо написать хорошую функцию на VBA и внедрить ее в рабочую книгу. Для начала переходим на вкладку «Разработчик» и выбираем «Visual Basic» или вызываем эту возможность с помощью горячего сочетания клавиш Alt+F11. (детальнее в статье «Как создать макрос в Excel»).
Создаем новый модуль в меню «Insert» наживаем пункт «Module» и переносим в него нижеприведенный код:
Делим слипшийся текст на части
Итак, имеем столбец с данными, которые надо разделить на несколько отдельных столбцов. Самые распространенные жизненные примеры:
- ФИО в одном столбце (а надо — в трех отдельных, чтобы удобнее было сортировать и фильтровать)
- полное описание товара в одном столбце (а надо — отдельный столбец под фирму-изготовителя, отдельный — под модель для построения, например, сводной таблицы)
- весь адрес в одном столбце (а надо — отдельно индекс, отдельно — город, отдельно — улица и дом)
- и т.д.
Способ 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 как в предыдущем способе, вставьте туда новый модуль и скопируйте в него код этой функции:
Теперь можно использовать эту функцию на листе и привести слипшийся текст в нормальный вид:
Как в Excel разнести данные из одной ячейки по нескольким столбцам
Во всем известной программе для работы с электронными таблицами от Microsoft данные из одной ячейки можно разнести по колонкам, благодаря чему таблицы станут более наглядными.
Для этого выделите ячейку, содержимое которой вы хотите разбить на несколько клеток. Затем откройте вкладку «Данные» и пункт «Работа с данными». Нажмите на пиктограмму «Текст по столбцам».
Разбить содержимое ячеек по столбцам. Разделение данных ячейки по нескольким стоблцам помогает представить информацию более наглядно
Перейдите в «Мастере распределения текста по столбцам» к пункту «С разделителями», поставьте галочку и нажмите на «Далее». В качестве символа-разделителя выберите «пробел».
[vc_row][vc_column width=»1/2″][/vc_column][vc_column width=»1/2″][/vc_column][/vc_row]Обратите внимание, перед пунктом «Считать последовательные разделители одним» должна стоять галочка. Это поможет Вам избежать ошибок. Нажмите на «Далее». Подтвердите внесение изменений нажатием на «Готово».
Excel разобьет содержимое ячеек на несколько столбцов.
Фото: компания-производитель
Объединение и разбиение данных в ячейках в Excel с форматированием
Форматирование и редактирование ячеек в Excel – удобный инструмент для наглядного представления информации. Такие возможности программы для работы бесценны.
Значимость оптимальной демонстрации данных объяснять никому не нужно. Давайте посмотрим, что можно сделать с ячейками в Microsoft Excel. Из данного урока вы узнаете о новых возможностях заполнения и форматирования данных в рабочих листах.
Как объединить ячейки без потери данных Excel?
Смежные ячейки можно объединить по горизонтали или по вертикали. В результате получается одна ячейка, занимающая сразу пару столбцов либо строк. Информация появляется в центре объединенной ячейки.
Порядок объединения ячеек в Excel:
- Возьмем небольшую табличку, где несколько строк и столбцов.
- Для объединения ячеек используется инструмент «Выравнивание» на главной странице программы.
- Выделяем ячейки, которые нужно объединить. Нажимаем «Объединить и поместить в центре».
- При объединении сохраняются только те данные, которые содержатся в верхней левой ячейке. Если нужно сохранить все данные, то переносим их туда, нам не нужно:
- Точно таким же образом можно объединить несколько вертикальных ячеек (столбец данных).
- Можно объединить сразу группу смежных ячеек по горизонтали и по вертикали.
- Если нужно объединить только строки в выделенном диапазоне, нажимаем на запись «Объединить по строкам».
В результате получится:
Если хоть одна ячейка в выбранном диапазоне еще редактируется, кнопка для объединения может быть недоступна. Необходимо заверить редактирование и нажать «Ввод» для выхода из режима.
Как разбить ячейку в Excel на две?
Разбить на две ячейки можно только объединенную ячейку. А самостоятельную, которая не была объединена – нельзя. НО как получить такую таблицу:
Давайте посмотрим на нее внимательнее, на листе Excel.
Черта разделяет не одну ячейку, а показывает границы двух ячеек. Ячейки выше «разделенной» и ниже объединены по строкам. Первый столбец, третий и четвертый в этой таблице состоят из одного столбца. Второй столбец – из двух.
Таким образом, чтобы разбить нужную ячейку на две части, необходимо объединить соседние ячейки. В нашем примере – сверху и снизу. Ту ячейку, которую нужно разделить, не объединяем.
Как разделить ячейку в Excel по диагонали?
Для решения данной задачи следует выполнить следующий порядок действий:
- Щелкаем правой кнопкой по ячейке и выбираем инструмент «Формат» (или комбинация горячих клавиш CTRL+1).
- На закладке «Граница» выбираем диагональ. Ее направление, тип линии, толщину, цвет.
- Жмем ОК.
Если нужно провести диагональ в большой ячейке, воспользуйтесь инструментом «Вставка».
На вкладке «Иллюстрации» выбираем «Фигуры». Раздел «Линии».
Проводим диагональ в нужном направлении.
Как сделать ячейки одинакового размера?
Преобразовать ячейки в один размер можно следующим образом:
- Выделить нужный диапазон, вмещающий определенное количество ячеек. Щелкаем правой кнопкой мыши по любой латинской букве вверху столбцов.
- Открываем меню «Ширина столбца».
- Вводим тот показатель ширины, который нам нужен. Жмем ОК.
Можно изменить ширину ячеек во всем листе. Для этого нужно выделить весь лист. Нажмем левой кнопкой мыши на пересечение названий строк и столбцов (или комбинация горячих клавиш CTRL+A).
Подведите курсор к названиям столбцов и добейтесь того, чтобы он принял вид крестика. Нажмите левую кнопку мыши и протяните границу, устанавливая размер столбца. Ячейки во всем листе станут одинаковыми.
Как разбить ячейку на строки?
В Excel можно сделать несколько строк из одной ячейки. Перечислены улицы в одну строку.
Нам нужно сделать несколько строк, чтобы каждая улица была написана в одной строке.
Выделяем ячейку. На вкладке «Выравнивание» нажимаем кнопку «Перенос текста».
Данные в ячейке автоматически распределятся по нескольким строкам.
Пробуйте, экспериментируйте. Устанавливайте наиболее удобные для своих читателей форматы.
Как разделить текст в ячейке Excel по столбцам
Здравствуйте. Сегодня расскажу вам, как разделить текст в Эксель в разные ячейки. Это актуально, когда таблица выгружена из СУБД без разбивки, или создавалась «экзотическим способом», все данные записаны в одной строке.
Например, нужно разделить ФИО на фамилию имя и отчество в разных ячейках. Вот исходные данные:
Чтобы добиться желаемого, выполним последовательность:
- Выделим всю таблицу с данными
- Нажмем на ленте Данные – Работа с данными – Текст по столбцам
- В открывшемся Мастере на первом шаге укажем Формат данных – С разделителями
- На втором шаге – поставим галку Символ-разделитель – пробел
- На третьем шаге, если это необходимо, назначим тип данных для каждого столбца и ячейки, куда поместить результат разделения. Жмём Готово
Теперь у нас вместо одной колонки стало три. То, чего мы и добивались:
Вы можете в качестве разделителя использовать указанные символы, либо задать свой, которого нет в списке. Главная логика – когда программа встретит в тексте указанный разделитель – в этом месте будет переход в новый столбец.
Теперь, когда вы знаете, как разделить данные в ячейке Excel на несколько ячеек, полученные структурированные данные будет легче сортировать, фильтровать, применять функции работы со строками.
Понравилась статья? Поделись с другом, ему тоже пригодится!