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, используя различные комбинации функций, а также специальные инструменты. Благодарю вас за чтение и надеюсь увидеть вас в нашем блоге на следующей неделе!
Читайте также:
Содержание
- Разделение текста по строкам в excel
- Разделение текста на столбцы с помощью мастера распределения текста по столбцам
- Распределение содержимого ячейки на соседние столбцы
- Помогите текст разбить на ячейки по строкам
- Разбить текст ячейки (строки), содержащий разделитель, на строки
- Редактирование ячейки в Excel и разбиение текста на несколько строк
- Редактирование строки текста в ячейках
- Как сделать несколько строк в ячейке Excel?
- Режим редактирования
- Разделение текста в ячейке, на строки.
- Разделение текста по строкам
Разделение текста по строкам в excel
Разделение текста на столбцы с помощью мастера распределения текста по столбцам
Смотрите также без цитирования обойтись. : Отлично, спасибо большое.Юрий М перевести число и
ее отображение. обладают функционалом простейшего1 Из строки формул.
обозначить мой разделитель arrTmp1(j) .Cells(lCnt, 3) Explicit Sub jjj_split() в файл и: В файле на
ячейки, кликаете, чтобы указать способ распределения текста по листе, где должныС помощью мастера распределенияmer1k А теперь последний: В примере была
сумму прописью вВ режиме редактирования работают текстового редактора. Главное Щелкните по ячейке, ))) = arrTmp2(j) End Dim awsh As просто запускайте макрос. копии листа1 давитеТекст по столбцам разбиения текста на
столбцам см. в отображаться разделенные данные. текста по столбцам
: Ну да, цитаты вопросик думаю. Как одна строка и Excel. все стандартные комбинации
отличие – это в которой необходимо. надеюсь понятно написала With ‘ wshResult Worksheet Dim wshResult
Или просто - кнопку с побудительнойи указываете в
Распределение содержимого ячейки на соседние столбцы
разных столбцах. статье Разделение текстаНажмите кнопку текст, содержащийся в с вложениями, это мне такое провести указано место -mer1k клавиш управления курсором разбиение текста на отредактировать данные. В )) Next j Next As Worksheet Dim откройте файл моего надписью и проверяйте качестве разделителей ЗапятуюПримечание: по столбцам сГотово одной ячейке, можно беспорядочно конечно. Будем знать)
с 12000 строками? куда выгружать результат.: Добрый день. Скажите, клавиатуры, как и строки. строке формул отобразитьсяVlad999 i End Sub arrDataIn Dim i примера и свой результат. и пробел. Ячейку Для получения справки по
разделить на несколько. В любом случае Мне ж получается Если исходных строк каким образом можно в других программах
Внимание! содержимое, которое доступно: СИМВОЛ(10) и есть
As Long Dim — и запускайтеVoditel_CDROMa вывода я указал заполнению все действияМожно объединить ячейки, содержащиеПримечание:Выделите ячейку или столбец Спасибо Вам) нужно изменить макрос? несколько — куда разбить текст одной Windows:Чтобы разбить текст для редактирования. Сделайте этот разделитель.: Спасибо. n As Long макрос через Alt+F8/: Как вариант с B6 (Лист2)
мастера читайте статью функцию СЦЕП илиМы стараемся как с текстом, который
vikttur Только как правильно? выгружать результат? Может ячейки, на строки?Клавиша «DELETE» удаляет символ на строки в необходимые изменения, после
не совсем понялJack Famous Dim arrTmp1$(), arrTmp2$() Макрос-то делался под помощью функции SubStr(ссылка
А в итоговой Разделение текста по функцию СЦЕПИТЬ. можно оперативнее обеспечивать вы хотите разделить.: Знайте. И желательноЮрий М в соседний столбец? Поиск юзал, но справа, а «Backspace» одной ячейке Excel
Помогите текст разбить на ячейки по строкам
чего нажмите Enter вопрос. Приложите файл: irakli78, mts2050, доброго Dim n2 As данные из примера. на строку, номер таблице я записал различным столбцам сВыполните следующие действия.
вас актуальными справочными
На вкладке
пройтись и исправить,: А Вы пробовалиmer1k нашел только способ слева. нужно нажать комбинацию или кликните по пример, так есть, времени суток! Недавно Long Dim jА если там фрагмента, разделитель). См.
в ячейках ссылки преобразовать мастера текстов,Примечание: материалами на вашемДанные
чтобы не грузить просто добавить строки: Мне нужно именно для разделения ячейкиCTRL+ «стрелка влево» переход клавиш Alt+Enter. Тогда кнопке «Ввод», которая так хотелось бы
мне помогли с As Long Dim отличия какие - в приложении. на ти самые
или нажмите кнопку
Диапазон, содержащий столбец, который языке. Эта страницанажмите кнопку модераторов.
и нажать на раскидать текст на на СТОЛБЦЫ. За на начало слова,
вы сможете перейти размещена в начале получить сделанный вручную. такой же проблемой. lCnt As Long
надо смотреть иirakli78 B6 и т.д.Справка вы хотите разделить
переведена автоматически, поэтомуТекст по столбцамLogin_excel кнопку? строки, чтоб и ранее спасибо. Пример а CTRL+ «стрелка
на новую строку строки формул. ДляФишкаУниверсальное решение.
Set awsh = макрос корректировать, быть: Просто не хватаетПодойдёт так, Ираклий?в мастере разделения может включать любое
ее текст может.: Привет. Подскажите, какИ не нужно дубликаты удалить, и прикрепляю. Использую майкрософт
вправо» – в в ячейке. В отмены изменений можно: Ну как-то такА как заполнить ActiveSheet With awsh может. слов благодарности!! ЧестноЮрий М текста столбцов.
количество строк, но содержать неточности иВ разнести многострочный текст меня цитировать, да
посмотреть количество номеров. 2007 конец слова. том месте текста,
нажать клавишу «Esc» )) пустые ячейки значениями
arrDataIn = .Range(«A2:C»AVKL говоря пока не: wowik7, количество переносовirakli78 он может содержать грамматические ошибки. Длямастере распределения текста по по отдельным строкам ещё и целиком.Я пробовал разбитьSmiley«HOME» смещает курсор клавиатуры где находится курсор или кнопку «Отмена»Фишка из верхних, узнаете & .Cells(.Rows.CountLarge, 1).End(xlUp).Row).Value: Добрый день Пытливый!
проверял, зашел с можно узнать программно: Добрый день! Буду не более одного нас важно, чтобы
столбцам из одной ячейки?
Зачем. эти данные на: mer1k, разбейте его
в начало строки, клавиатуры, появится перенос (возле кнопки «Ввод»).: ой, забыла написать, (готовый макрос в .Parent.Sheets.Add , awsh,Спасибо большое за телефона. но все
)) очень благодарен, если столбца. Это важные
эта статья былаустановите переключательBema
mer1k столбцы. Т.е. текст на столбцы с
а «END» – строки и соответственно2 Из самой ячейки. как надо ))
комментариях) 1, xlWorksheet End решение! Очень помогло равно спасибо!!Юрий М кто-нибудь посоветует как из них достаточно вам полезна. Просимс разделителями: Привет.: Прошу прощения. Просто разбивается в своей помощью «текст по в конец. начало новой. Перейдите на ячейкуVlad999Фишка With ‘ awsh в работе!) завтра посмотрю и: irakli78, зачем Вам можно разбить текст пустыми столбцами справа вас уделить паруи нажмите кнопку1. Формулой в предыдущем примере, же строке, только столбцам» и потомЕсли в тексте болееВ обычных редакторах текст и нажмите клавишу: Решение макросом в: Необходимо разбить текст Set wshResult =mts2050 обязательно сообщу! Еще объединённые ячейки? Настрадаетесь который в одной от выбранных столбец, секунд и сообщить,Далее2. Макросом пробовал. не получалось. на столбцы. Но транспонируйте. одной строки то делится на строки F2 или сделайте теме: Разбить текст
в ячейке (с ActiveSheet n =
: Подскажите как сделать раз спасибо! потом. ячейке на несколько который будет предотвратить помогла ли она
.3. Текст по Сейчас сделал, и как потом сСергей
Разбить текст ячейки (строки), содержащий разделитель, на строки
комбинации CTRL+HOME и нажатием клавиши Enter, по ней двойной ячейки (строки), содержащий разделителями «Alt+Enter») на
UBound(arrDataIn, 1) lCnt что бы текстirakli78Все_просто строк с соблюдением перезапись по данные, вам, с помощью
Выберите столбцам. все хорошо. Огромное этих столбцов разместить: можно так CTRL+END перемещают курсор но в Excel щелчок мышкой. Тогда
разделитель, на строки отдельные строки = 0 For разбивался не в: Хотел бы узнать,: Человек по сути некоторых параметров.
которые распространяться данные кнопок внизу страницы.
разделителиalexleoix спасибо, оочень упростили
номера в строки,Юрий М в начало или данное действие выполняет в ячейке появится
макросомGenbor i = 1
одной ячейке, а а как данный просит написать макрос,
Пример прилагаю в любой смежных Для удобства такжедля своих данных.: 4. Power Query задачу.
Редактирование ячейки в Excel и разбиение текста на несколько строк
причем за раз?: Или так. в конец целого функцию подтверждения вода курсор клавиатуры, аЕсли ячейка содержит большой: Код =ПОДСТАВИТЬ(A1;»»;СИМВОЛ(10)) - To n arrTmp1
в нескольких и макрос использовать уже а вы наЗаранее благодарю. столбцах. При необходимости приводим ссылку на Например,БМВПо поводу цитирования.
Редактирование строки текста в ячейках
Можно конечно взятьmer1k
- текста. данных и переход ее размер изменится текст или сложную это символ, на = Split(arrDataIn(i, 2) соотносился между ними. в другом файле? него взъелись.wowik7 вставьте количество пустые оригинал (на английскомзапятую: 5. Word ( А что тут и скопировать строку: Спасибо. Как этим
- Примечание. Точно так же на следующую ячейку. на время редактирования. формулу, но с основании которого будет & «|», «|») Пример в файле.HugoЯ, к сожалению,: Скажите, а известно, столбцы, будет достаточно языке) .и и это не такого? Именно для в первый столбец пользоваться? Добавлять туда
редактируются: формулы, функции, Поэтому как написать После всех изменений ошибками, то нет переноситься строка (запятая, arrTmp2 = Split(arrDataIn(i,JayBhagavan
: Описка, исправьте в
Как сделать несколько строк в ячейке Excel?
не так силен сколько будет слов для хранения каждогоМожно разделить содержимого ячейкипробел шутка, копируем вставляем
этого кнопочка и
путем транспонирования. С свой текст? числа, даты и несколько строк в нажмите Enter или смысла удалять их точка с запятой, 3) & «|»,: mts2050, и Вам irakli78.xls (45.5 КБ) в макросах. Хотя в строке? Вот составные части распределенных
и распространение составные. Данные можно предварительно в word. копируем, создана. Всю жизнь одной строкой тоПопробовал свое ввести, логические значения. ячейке Excel жмите Tab или кликните вводить все данные точка и т.д.) «|») n2 =
здравия. F на G: сейчас все равно в приложенной книге данных. части нескольких смежных просмотреть в окне вставляем в excel цитирую удается, но вот но в строкиСтоит еще отметить, что Alt+Enter.
Режим редактирования
мышкой на любую заново. Рациональнее ихФишка WorksheetFunction.Max(UBound(arrTmp1, 1) -Кол-во разделителей вRange(«G» & lngI
- стараюсь написать. 4 слова иВыделите ячейку, диапазон или
- ячеек. Например, еслиОбразец разбора данных )Юрий М с несколькими никак.
- текст он кидает простой режим редактированияОбратите внимание, что после другую ячейку. Для
- просто отредактировать.: а как в 1, UBound(arrTmp2, 1) соседних по горизонтали & «:G» &Юрий М все разделены запятой
весь столбец, где лист содержит.vikttur
: Цитировать нужно не Они раскидывается на только с первой позволяет задавать тексту разделения одной строки отмены редактирования нажмите
Для редактирования значений в формуле обозначить знак — 1) ReDim ячейках всегда одинаковое? lngI + UBound(strA)).Merge: Кто «взъелся»? ))
и пробелом. Известно, содержатся текстовые значения,Полное имяНажмите кнопку
Разделение текста в ячейке, на строки.
: 6. Ручка + бездумно, а с столбцы. строки. А как свой стиль оформления: в ячейке на клавишу «Esc». Excel предусмотрен специальный «разделение», которое ставится Preserve arrTmp1(0 Tomts2050Пытливый
Я только предупредил что разделение будет которые требуется разделить.столбца, можно разделить столбецДалее лист бумаги в
умом. И толькоВот снова скинул
с остальными быть? полужирный, курсив, подчеркнутый
две и болееПримечание. При редактировании не режим. Он максимально при помощи клавиш
n2) ReDim Preserve: Да количество разделителей: Если структура таблицы про объединение )) таким же иНа вкладке на двух столбцов. клеточку то, что ДЕЙСТВИТЕЛЬНО табличку. Как например У меня этих и цвет. с помощью клавиш
забывайте о кнопках прост, но гармонично Alt+Enter, т.е. перенос arrTmp2(0 To n2) совпадает. такая же (столбцы А макрос там слов обязательно 4Данные
—Выберите значение в разделеБМВ нужно. Ну вот все это разделить, строк почти 12000,
Обратите внимание, что стиль Alt+Enter, то автоматически отмены / повтора объединил в себе на др.строку. как его For j =JayBhagavan и шапка расположены не очень и ?в группеимениФормат данных столбца: vikttur, — Почему зачем, например, в причем уместив только в каждой строке текста не отображается активируется опция «формат
действий на панели толь самые полезные записать в формулу? 0 To n2: В примере - так, как в
сложный. Как вариант, метод
Работа с даннымииили используйте то, не в линейку? цитате в строки в бывает и по в строке формул, ячеек»-«выравнивание»-«перенос по словам».
быстрого доступа. Или функции текстового редактора.Приведенную Вами формулу, lCnt = lCnt не совпадает:4 и
примере), а такжеwowik7 с использованием «Данные»нажмите кнопку
Фамилии которое Excel выберетИли от ExCELL»Прикрепленные файлы первом же столбце? одному номеру, а поэтому его удобнее Притом что сама
о комбинациях клавиш Ничего лишнего в я уже видела + 1 With 3. Учту. нет ячеек в
: Изменил своё первое —> «Работа сТекст по столбцамстолбцом. автоматически. отталкиваемся?primer 002.xlsm (17.68Юрий М
есть даже и
задавать, редактируя непосредственно эта функция не CTRL+Z и CTRL+Y. нем нет. здесь в других
wshResult .Cells(lCnt, 1)JayBhagavan столбце D с сообщение. Прикрепил там данными» —> «Текст.
Советы:В полеvikttur КБ)»? Что это: Вариант.
Разделение текста по строкам
по 20 номеров в самой ячейке. разбивает строку наРедактировать содержимое ячеек можно
вопросах, но я = arrDataIn(i, 1)
: запускать когда целевой
одним словом -
файл по столбцам»
Следуйте инструкциям в
Поместить в: Именно. Без ячеек даёт? Да иmer1k через запятую.Читайте так же: как слова, а оптимизирует
В режиме редактирования, ячейки двумя способами: не знаю, как .Cells(lCnt, 2) =
лист активный Option то переносите кодПытливыйВыделяете две нужныхСтолбцах мастера
Сведения об альтернативном способевыберите место на никак
Источник
Содержание
- Способ 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 не имеет встроенной стандартной функции рабочего листа для проведения таких действий. Это тем более непонятно, так как 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 шага разделяем текст:
- Для начала нужно выделить данные, которые необходимо разделить, следующим шагом на вкладке «Данные» в разделе «Работа с данными» нажимаете иконку «Текст по столбцам» и в вызванном диалоговом окне мастера указываем формат рабочего текста. Выбираем 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» и переносим в него нижеприведенный код:
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 введите следующую формулу:
Теперь скопируйте эту формулу вдоль целого столбца:
Выборка чисел из строк в отдельные ячейки.
Описание формулы для разделения текста по ячейкам:
Функция ПСТР возвращает текстовое значение содержащие определенное количество символов в строке. Аргументы функции:
- Первый аргумент – это ссылка на ячейку с исходным текстом.
- Второй аргумент – это позиция первого символа, с которого должна начинаться разделенная строка.
- Последний аргумент – это количество символов, которое должна содержать разделенная строка.
С первым аргументом ПСТР все понятно – это ссылка на ячейку A3. Второй аргумент мы вычисляем с помощью функции НАЙТИ(“]”;A3)+2. Она возвращает очередной номер символа первой закрывающейся квадратной скобки в строке. И к этому номеру мы добавляем еще число 2, так как нам нужен номер символа после пробела за квадратной скобкой. В последнем аргументе функция вычисляет какое количество символов будет содержать разделенная строка после разделения, учитывая положение квадратной скобки.
Обратите внимание! Что в нашем примере все исходные и разделенные строки имеют разную длину и разное количество символов. Именно поэтому мы называли такую формулу – гибкой, в начале статьи. Она подходит для любых условий при решении подобного рода задач. Гибкость придает ей сложная комбинация из функций НАЙТИ. Пользователю формулы достаточно определить закономерность и указать их в параметрах функций: будут это квадратные скобки либо другие разделительные знаки. Например, это могут быть пробелы если нужно разделить строку на слова и т.п.
В данном примере функция НАЙТИ во втором аргументе определяет положение относительно первой закрывающейся скобки. А в третьем аргументе эта же функция вычисляет положение нужного нам текста в строке относительно второй открывающийся квадратной скобки. Вычисление в третьем аргументе более сложное и оно подразумевает вычитание одной большей длинны текста от меньшей. А чтобы учитывать еще 2 пробела следует вычитать число 3. В результате чего получаем правильное количество символов в разделенной строке. С помощью такой гибкой формулы можно делать выборку разной длинны разделенного текста из разных длинны исходных строк.
Как сделать несколько строк в одной ячейке Excel
Microsoft Excel входит в стандартный пакет программ Microsoft Office. Это привычное приложение для с.
Как разделить данные в ячейке Excel
Если Вам во время работы с электронной таблицей в офисном пакете от Microsoft возникает необходимость разнести содержимое одной ячейки по разным колонкам для большей наглядности, то нет ничего проще. Для того, чтобы разделить данные в ячейке Excel, надо выделить её:
Затем в главном меню программы открываем раздел «Данные» и находим кнопочку «Текст по столбцам». Появится специальный Мастер распределения текста:
На первом шаге ставим флаг на формат данных «с разделителями».
Нажимаем на «Далее»:
На втором шаге надо отметить используемый символ-разделитель. В большинстве случаев это пробел.
Обязательно проверьте чтобы так же стояла галочка «Считать последовательные разделители одним». Переходим далее.
На заключительном этапе ничего не меняем и нажимаем на кнопку «Готово». Проверяем результат:
Как Вы можете заметить,того, разделить содержимое ячейки по столбцам в Экселе очень просто — главное правильно указать разделитель. Всем добра!
Разделить текст Excel на несколько ячеек.
Смотрите также результаты без последнего Microsoft Excel, тоПро то, как можно S11-6205360sergejkovСоединим значения через косую с комбинациями текстовыхво втором примере
изменение способа отображенияA и упростить её распознать шаблон в край столбца, а и убедиться, что кнопкой мыши по Вы увидите подборкуЗдесь рассмотрим, разделителя MergeIfs = в списке функций быстро склеивать текстАмортизатор 5-й двери: на более сложных
черточку («-», «&» функций. Например маркером на рисунке. При номера без изменения
B до такого вида: вводимых значениях, и если Вам нужно Excel правильно распределил выделенной области и формул для разделениякак разделить текст в Left(OutText, Len(OutText) - (кнопка из нескольких ячеек
правый 6309020-0000 данных не работает и т.п.). Формула для расцепления текста присоединении к числа значения.C=LEFT(A2,SEARCH(» «,A2)-1) как только он переместить границу столбца все данные по в контекстном меню имён, текстовых и
ячейке Excel на Len(Delimeter)) End Functionfx в одну и,Амортизатор задний 271.00.00
— надо
будет выглядеть так: послужит символ пробела в строку текстаВыполните следующие действия.D =ЛЕВСИМВ(A2;ПОИСК(» «;A2)-1) его распознает, данные в другое место, столбцам. выберите команду числовых значений. Этот несколько ячеек.Применяться она будет совершеннов строке формул наоборот, разбирать длинную плаза отделить именно цифры(артикул) = СЦЕПИТЬ (ссылка
« » , с помощью операторВыделите ячейки, формат которых1LEFT автоматически будут вставлены просто перетащите вертикальнуюОсталось сделать всего две
Insert урок поможет Вам
Например, предложение из аналогично — только или вкладка текстовую строку наАмортизатор задний BQ2915050-60AO в начале строки, на ячейку 1;
а дальше: объединения, используйте функцию требуется изменить.Полное имя(ЛЕВСИМВ) и в остальные ячейки. линию мышью. На вещи – выбрать(Вставить). выбрать наилучший метод
первой ячейки разнести аргументов теперь нужноФормулы — Вставить функцию составляющие я ужеНужно как то а не просто «/»; ссылка начтобы расцепить только имя
текстНа вкладкеИмяRIGHT Чтобы понять, как самом деле, все формат данных иРезультат будет примерно таким,
excel-office.ru
Как разбить ячейки в Excel: «Текст по столбцам», «Мгновенное заполнение» и формулы
разбиения данных в по словам в указывать больше:) можно будет найти писал. Теперь же отделить эти номера первыймассив символов :( ячейку 2). используем формулу: =ЛЕВСИМВ(C2;ПОИСК(«, чтобы управлятьГлавнаяОтчество(ПРАВСИМВ) – возвращает это работает, посмотрите эти инструкции подробно указать, куда поместить что Вы видите Excel. несколько других ячеек,
Решить проблему можно и нашу функцию давайте рассмотрим близкую,Казанскийиначе при отсутствииСоединим несколько значений в «;C2;1)) способом отображения чисел.в группеФамилия левую или правую на рисунок ниже: расписаны в верхней разделённые ячейки.В разделе на рисунке нижеГоворя в общем, необходимость ФИО, дату, т.д. без программирования наMergeIf но чуть более: Или четкий критерий,
- артикула в строке столбце. Функция подходитчтобы расцепить только фамилию
- В формуле используетсячисло
- 2 часть текста изКак видите, я ввёл
- части диалогового окнаColumn data format (новые столбцы вставлены
Разбиваем ячейки в Excel при помощи инструмента «Текст по столбцам»
разбить ячейки вНапример, у нас VBA, если использоватьв категории сложную задачу - из чего состоит из наименования пропадает для значений в – формула: =ПРАВСИМВ(C4;ПОИСК(«
базовое значение изщелкните стрелку.White, David Mark заданной ячейки соответственно. только пару имёнТак как каждый ID(Формат данных столбца) слева от выделенных Excel может возникнуть
- есть список с бесплатную надстройку Power
- Определенные пользователем (User Defined) как склеивать текст
Разбиваем текстовые данные с разделителями по столбцам в Excel
код, например цифры, первое слово :( строках. Описанный выше «;C4;1)+1) ячейки, на которыйВ спискеDavid Синтаксис формулы: в столбец товара содержит 9
Вы можете выбрать столбцов): в двух случаях: фамилиями, именами в Query. Для Excel. Аргументы у функции из нескольких ячеек знаки «-» иможет быть есть способ с формулойФактически функция СЦЕПИТЬ устарела, указывает ссылка (вкатегорииMark=LEFT(text,[num_chars])B
- символов, устанавливаем линию формат данных отдельноПримечание: Во-первых, при импорте одном столбце. Нам 2010-2013 ее можно следующие: при выполнении определенного «.», латинские буквы. команда, проверяющая символ массива тоже не но все еще данном примере.4) —выберите категорию, напримерWhite=ЛЕВСИМВ(текст;[количество_знаков]), и «Мгновенное заполнение» границы столбца на для каждого столбца,Если у Вас информации из какой-либо нужно написать фамилии скачать здесь, аЕсли заменить в 13-й заданного условия.Или пример с на буквы и сработает. доступна пользователям в не форматированное значение,настраиваемыеИзвлекаем имя:В качестве аргументов указываем: автоматически заполнило остальные это значение, как в которые будут нет столбцов, следующих внешней базы данных в одном столбце, в Excel 2016 строчке нашего макросаДопустим, что у нас ~30 строками в цифры?Преобразуем вертикальный диапазон в новых версиях программы отображаемое в ячейке
и нажмите кнопку встроенный=MID(A2,SEARCH(» «,A2,1)+1,FIND(» «,A2,FIND(» «,A2,1)+1)-(FIND(« какой текст взять ячейки именами из показано на рисунке помещены разделённые данные.
непосредственно за тем, или с веб-страницы. а имена в она уже встроена первый знак имеется база данных Excel, что естьsergejkov горизонтальный с помощью Excel. (40%). Чтобы восстановить формат, который похож «,A2,1)+1)) и сколько символов столбца
- выше. По умолчанию для что Вы хотите При таком импорте другом столбце. Например, по умолчанию. Последовательность= по клиентам, где и что надо: пример сложных данных:
- функции ТРАНСП. АЧтобы объединить значения (текстовые, форматов чисел используйте на то, которое=ПСТР(A2;ПОИСК(» «;A2;1)+1;НАЙТИ(» «;A2;НАЙТИ(» «;A2;1)+1)-(НАЙТИ(« извлечь. В следующемAНа следующем шаге выберите всех столбцов задан разбить, то необходимость все записи копируются чтобы определить пол действий будет следующей:на оператор приблизительного одному названию компании получить, в соотв.9450/4450 ХИЛЛс ДИЕТА затем воспользуемся формулой цифровые) из разных функцию
- вы хотите. «;A2;1)+1)) примере формула будет. Если вы довольны
- формат данных и формат в этом шаге в один столбец, людей в списке.Power Query не умеет совпадения может соответствовать несколько с Правилами кон.д/кошек S/D 156гр*24 массива для быстрого ячеек в одну,текстВ полеИзвлекаем отчество: извлекать левую часть результатом, просто нажмите укажите ячейки, кудаGeneral отпадает и его а нужно, чтобы Подробнее об этом работать с обычнымиLike разных email’ов ееАмортизатор задний 271.00.005280 ХИЛЛc НБ соединения значений. В используется функция СЦЕПИТЬ.
- .Тип=RIGHT(A2,LEN(A2)- FIND(» «,A2,FIND(» «,A2,1)+1)) текста из ячейкиEnter поместить результат, как(Общий). Мы оставим можно пропустить. Главное они были помещены читайте в статье таблицами, поэтому первым, то можно будет сотрудников. Наша задача плаза — код Корм сух.д/КОТЯТ Курица/овощи ячейку В1 ставим Ее аналог –Функция СЦЕПИТЬизмените коды числовых=ПРАВСИМВ(A2;ДЛСТР(A2)-НАЙТИ(» «;A2;НАЙТИ(» «;A2;1)+1))A2, и весь столбец это было сделано его без изменений не упустите, что в разных столбцах. «В Excel по шагом превратим нашу осуществлять склейку по состоит в том, «271.00.00» или «271.00.00
300гр*6 знак «равно». Пишем & (амперсанд). ЗнакСЦЕП форматов в формате,Извлекаем фамилию:вплоть до позиции будет заполнен именами. в предыдущем примере, для первых трёх пустых столбцов должно Во-вторых, при разбиении
- формат данных и формат в этом шаге в один столбец, людей в списке.Power Query не умеет совпадения может соответствовать несколько с Правилами кон.д/кошек S/D 156гр*24 массива для быстрого ячеек в одну,текстВ полеИзвлекаем отчество: извлекать левую часть результатом, просто нажмите укажите ячейки, кудаGeneral отпадает и его а нужно, чтобы Подробнее об этом работать с обычнымиLike разных email’ов ееАмортизатор задний 271.00.005280 ХИЛЛc НБ соединения значений. В используется функция СЦЕПИТЬ.
- имени определить пол». таблицу в «умную». неточному совпадению исходных чтобы собрать все плаза»?2806 12589 Brit ТРАНСП. Указываем диапазон справляется с простейшимиФункция ТЕКСТ который вы хотите=LEFT(A2,FIND(» «,A2,1)-2) первого найденного пробела. Очень умный инструмент, а затем нажмите столбцов, а для быть не меньше, уже существующей таблицы,Выделяем ячейки, текст Для этого ее данных с критерием адреса по названиямGuest Care Cat Light А1:А6. Вводим & задачами. Но дляФункция TEXTJOIN создать.=ЛЕВСИМВ(A2;НАЙТИ(» «;A2;1)-2)=LEFT(A2,SEARCH(» «,A2)-1) не правда ли?Finish четвёртого столбца установим чем количество столбцов, чтобы получить возможность в которых нужно нужно выделить и отбора. Например, если компаний и сцепить
: Побольше бы данных, д/стареющих кошек, склонных и пробел (« объединения множества строкОдна из самых популярныхДля отображения текста иКак Вы понимаете, эти=ЛЕВСИМВ(A2;ПОИСК(» «;A2)-1)Если «Мгновенное заполнение» включено,(Готово). формат на которое вы качественнее настроить работу разделить или весь нажать сочетание Ctrl+T название компании может их (через запятую хочется посмотреть из к полноте всех »). Жмем F9. не подходит. операций в Exel чисел в ячейке, формулы работают неLEN но не предлагает
Если Вы объединили несколькоData хотите разделить данные. фильтра, сортировку или столбец. или выбрать на быть записано в или точку с чего код состоит. пород 7,5кгТеперь преобразуем формулу массива,Функция входит в группу по работе с заключите текст в
- только для разделения(ДЛСТР) – считает никаких вариантов, которые
Разбиваем текст фиксированной ширины по нескольким столбцам
ячеек на листе(Дата), что логично,Выделите столбец, который требуется для более детальногоЗаходим на закладке «Данные» вкладке разных вариантах, то
запятой), чтобы сделать ..И формат желательноПРО ПАК БИСКВИТ добавив функцию и «текстовые». Синтаксис: (текст текстом – это двойные кавычки (»
имён в Excel. длину строки, то соответствуют определённому шаблону, Excel и теперь
- ведь в этот разбить. Затем откройте анализа. в раздел «РаботаГлавная — Форматировать как мы можем одной потом, например, почтовую *.xls Смат Риводс Мини заменив скобки. 1; текст 2;…). объединение текстовых строк. «), или чисел
- Вы можете использовать есть количество символов Вы можете запустить хотите вновь разбить столбец попадут даты вкладкуРазбиваем ячейки при помощи с данными» и таблицу (Home - функцией проверить и рассылку по клиентам,Владимир 200грСтандартной функции, которая разделяла Можно включить до Например, объединение нескольких с помощью обратной их для разбиения в заданной ячейке. этот инструмент вручную их по отдельным прибытия.Чтобы изменить форматData
инструмента «Текст по выбираем функцию «Текст Format as Table) собрать их все: т.е. получить на: Это я был.kim
- бы значения одной 255 текстовых строк. слов в одну косой черты () любых данных из Синтаксис формулы: на вкладке столбцам, откройте вкладку данных для каждого
Разбиваем объединённые ячейки в Excel
(Данные) > столбцам» по столбцам». В. На появившейся затемПоддерживаются стандартные спецсимволы подстановки: выходе что-то похожееGuest: =ЕСЛИ(ЕЧИСЛО(—ЛЕВСИМВ(A1;1));ЛЕВСИМВ(A1;МИН(ПОИСК(«/»;A1);ПОИСК(» «;A1))-1);A1) ячейки, нет. Для Первый аргумент – строку. На практике в начале. одного столбца по=LEN(text)DataHome конкретного столбца, выделитеData ToolsКак разбить объединённые ячейки появившемся окне «Мастер
вкладкезвездочка (*) — обозначает на:: Пишет ИМЯ?Для первого столбца. выполнения ряда подобных «текст 1» – в процессе рутиннойПримечание: нескольким. Например, следующие=ДЛСТР(текст)(Данные) >(Главная) и в его, кликнув по(Работа с данными)
Разделяем данные на несколько столбцов в Excel 2013 при помощи мгновенного заполнения
в Excel текстов», в строкеКонструктор (Design) любое количество любыхДругими словами, нам нуженGuest По аналогии для задач можно использовать является обязательным. Любые работы с Excelизменение встроенного формата
формулы Вы можетеСледующая формула считает количествоFlash Fill группе команд нему в области >Разделяем данные в Excel «Формат исходных данных»можно задать имя символов (в т.ч. инструмент, который будет: Вот пример второго напишите сами? другие функции: аргументы можно указать часто приходиться объединять не приводит к использовать, чтобы разбить символов в ячейке(Мгновенное заполнение) или
AlignmentData previewText to Columns 2013 при помощи указываем – «С таблицы (я оставил и их отсутствие) склеивать (сцеплять) текстviktturkimЛЕВСИМВ (отображает заданную часть в виде текста,
Имена и Фамилии удалению формат. текстовые данные, разделённыеA2 нажав сочетание клавиш(Выравнивание) нажмите маленькую(Образец разбора данных),(Текст по столбцам). инструмента «Мгновенное заполнение» разделителями». Нажимаем кнопку стандартноевопросительный знак (?) - по условию -: Вас давно просят
: Кстати если для символов с начала цифр или ссылок сотрудников в однуДля отображения запятыми::Ctrl+E чёрную стрелку рядом а затем установитеОткроется диалоговое окноФормулы для разбиения столбцов «Далее».Таблица1 обозначает один любой аналог функции четкие критерии кода. первой строки правильно строки); на ячейки.
ячейку.Используйте кодA=LEN(A2). с кнопкой желаемый формат вConvert Text to Columns (имен и другихЗдесь указываем в строке): символСУММЕСЛИ (SUMIF)Из «Подшипник 180202 так — 9450/4450ПРАВСИМВ (отображает заданную часть
Общие правила использования функцииВ примере показанным наПринцип действияB=ДЛСТР(A2)Существуют формулы, которые могутMerge & Center разделе wizard текстовых данных) «Символом – разделителемТеперь загрузим нашу таблицурешетка (#) — обозначает, но для текста.
Как в Excel разбивать ячейки при помощи формул
генератора» удалится «генератора»,то достаточно символов с конца СЦЕПИТЬ: рисунке таблица содержит12 как Продукт №12CЕсли имена в Вашей быть очень полезны,(Объединить и поместитьColumn data format(Мастер распределения текстаИнструмент « является» — «пробел». в надстройку Power одну любую цифруНе очень изящный, зато Вам так и=ЕСЛИ(ЕЧИСЛО(—ЛЕВСИМВ(A1;1));ЛЕВСИМВ(A1;ПОИСК(» «;A1)-1);A1) строки);Для разделения аргументов применяется первые два столбца:»Продукт № » 0D таблице содержат отчества когда возникает необходимость в центре). Далее(Формат данных столбца). по столбцам). На
Пример 1
Текст по столбцам Поставили «пробел», потому Query. Для этого (0-9) самый простой способ. нужно?DophinПСТР (отображает указанную часть точка с запятой.
Имя – ячейки вТекст, заключенный в кавычки1 или суффиксы, то
- разбить ячейки или из выпадающего списка
На этом же шаге
первом шаге мастера
- » действительно очень удобен, что в нашем
на вкладке
По умолчанию оператор Like
Можно написать несложнуюGuest: давайте пример, а?) символов, начиная с
Пропуск или использование этой колонке содержат (включая пробел) отображаетсяПолное обозначение потребуются немного более столбцы с данными выберите мастера Вы можете Вы выбираете формат
когда нужно разделить
списке имя и
Данные регистрочувствительный, т.е. понимает, формулу, которая будет: Работает. Только мнеkim заданной позиции) и других знаков приведет текстовые данные полученные в ячейке передШтат сложные формулы с в Excel. НаUnmerge Cells выбрать, в какой данных. Так как данные из одного фамилия написаны через(если у вас
например, «Орион» и проверять отличается ли нужно текст отделить,а: Приблизительно так… другие. к отображению в из базы картотек числом. В этомАббревиатура
использованием функции
самом деле, следующих
(Отменить объединение ячеек). столбец поместить разделённые записи разделены пробелами столбца по нескольким пробел. Если бы Excel 2016) или «оРиОн» как разные компания в очередной
не коды.
sergejkov
Примеры: ячейке с результатом кадрового отдела. коде «0» обозначаетСтолицаMID шести функций будетТаким образом объединение ячеек данные. Для этого и запятыми, мы
в Excel 2013,
имя и фамилия
на вкладке Power компании. Чтобы не строке от предыдущей.Есть мысли?: совсем неИзвлечем первое слово из
кавычек.
Фамилия – в данном
число, которое содержится2(ПСТР). достаточно в большинстве
будет отменено, но
кликните по иконке
выбираем формат 2010, 2007 или (др. слова) были Query (если у учитывать регистр можно Если не отличается,Guest понимаю как это
Пример 2
строки, применив функциюТекстовые аргументы обязательно заключать столбце находиться только в ячейке (например,Alabama, AL, MontgomeryВот такие формулы нужно
случаев – | удовольствие от результата | выбора диапазона (в | Delimited | |
2003. | написаны через запятую, | вас Excel 2010-2013) | добавить в самое | то приклеиваем через |
: Это не страшно, | работает :((((( | ЛЕВСИМВ. Аргументы – | в кавычки. В | фамилии сотрудников. |
- 12).
Alabama
использовать, когда имена,
- LEFT
будет испорчено тем, терминах Microsoft эта
(С разделителями). Вариант«Текст по столбцам» позволяет
- то мы бы
жмем
начало модуля в
запятую очередной адрес. таких позиций небуду вникать и «текст» (ссылка на противном случае появляетсяВ третьем столбце «Имя
12:00 как 12:00 центральноевропейское
AL
которые требуется разбить,(ЛЕВСИМВ), что все данные иконка называетсяFixed width разбивать значения ячеек,
Пример 3
указали разделителем «запятая».Из таблицы (Data - редакторе Visual Basic Если отличается, то
очень много. | RTFM :( | строку с искомым | ошибка – #ИМЯ? | |
+ Фамилия» необходимо | время | Montgomery | содержат отчество или | MID |
останутся в левом | Свернуть диалоговое окно | (Фиксированной ширины) будет | отделённые разделителями, или | В этом окне, в |
- From Table)
строчку
"сбрасываем" накопленное, начиная
- Думаю просто их
остается вопрос с значением), «количество знаков»
Числа и ссылки объединить имя и
- ч:мм «центральноевропейское время»
Извлекаем название штата:
только один инициал
Пример 4
(ПСТР), столбце. Думаю, Вы) справа от поля рассмотрен чуть позже. выделять данные фиксированной разделе «Образец разбора:
Option Compare Text | заново: | так4 и оставить | отсутствием артикула в | |
(число символов, которые | на ячейки – | фамилию каждого сотрудника | Текущее время показано в | =LEFT(A2,SEARCH(«,»,A2)-1) |
отчества посередине. | RIGHT | догадались, что нужно | Destination | Если все готово, |
- ширины (когда все
данных» сразу видно,В открывшемся окне редактора
, которая переключит LikeМинусы такого подхода очевидны:
- vikttur
начале строки ПРО
нужно извлечь).
- не нужно.
для последующего использования
формате даты/времени ч:мм
Пример 5
=ЛЕВСИМВ(A2;ПОИСК(«,»;A2)-1)A(ПРАВСИМВ), снова использовать функцию(Поместить в) и жмите значения содержат определённое какие столбцы у запросов выделяем щелчком в режим, когда из всех ячеек: Пытать Вас, что ПАК БИСКВИТ Смат
Извлечем последнее слово из | Чтобы соединяемые элементы в | в сводных таблицах | AM/PM, а текст | |
Извлекаем аббревиатуру штата: | B | FIND | Text to Columns | выберите крайний левый |
Next | количество символов). Давайте | нас получатся. Нажимаем | по заголовку столбец | он невосприимчив к |
- полученного дополнительного столбца
ли? Что предпочитаете
Риводс Мини 200гр
- строки с помощью
строке результата отобразились
и отчетах, сформированных
- «московское время» отображается
=MID(A2,SEARCH(",",A2)+2,SEARCH(",",A2,SEARCH(",",A2)+2)-SEARCH(",",A2)-2)
C
(НАЙТИ),(Текст по столбцам), столбец из тех,(Далее), чтобы продолжить. рассмотрим эти варианты кнопку «Далее».
Компания регистру.
нам нужны только
— средневековье или
потому как вся
office-guru.ru
Объединение текста и чисел
функции ПРАВСИМВ. Синтаксис с пробелом, пробелы программой Excel. после времени.=ПСТР(A2;ПОИСК(«,»;A2)+2;ПОИСК(«,»;A2;ПОИСК(«,»;A2)+2)-ПОИСК(«,»;A2)-2)DSEARCH чтобы разбить данные в которые ВыНа следующем шаге определяем подробнее:Здесь, в разделеи сверху жмемТаким образом можно составлять последние по каждой электрический стул? :) строка ереносится в похожий (как в нужно добавлять вДля этого необходимо попарно-12 как -12р. дефицитИзвлекаем столицу штата:
1(ПОИСК) и из одного столбца хотите поместить разделённые разделители, которые содержатсяКак разбить текст с «Поместить в:» указываем кнопку весьма сложные маски компании (желтые). ЕслиВы написали, что стлбец артикулов :( предыдущем примере). Только формулу с функцией.
Используйте числовой формат для отображения текста до или после числа в ячейке
объедини тексты из и 12 как=RIGHT(A2,LEN(A2)-(SEARCH(«,»,A2,SEARCH(«,»,A2)+1)+1))Полное имяLEN на два или данные. К сожалению, в данных, и разделителями по столбцам диапазон столбцов, вГруппировать (Group By) для проверки условий, список большой, то формула работает, значит,ps и еще количество знаков считается
С помощью двойных ячеек столбцов таблицы 12р. избыток=ПРАВСИМВ(A2;ДЛСТР(A2)-(ПОИСК(«,»;A2;ПОИСК(«,»;A2)+1)+1))Имя(ДЛСТР). Далее в более столбцов. невозможно импортировать разделённые
ограничитель строк.
-
Как выделить текстовые данные которые поместятся новые
-
. Вводим имя нового например: чтобы их быстро кодом является все, вопрос сразу -
-
с конца. кавычек с пробелом в общие строки.0.00р. «избыток»;-0.00р. «дефицит»А вот пример реальныхОтчество этом разделе яЕсли Вы уже обновились
-
данные на другойНастраиваем разделители фиксированной величины данные. столбца и тип?1##??777RUS — выборка по
отобрать придется добавить что после последнего как избавиться отИзвлечем из записи в внутри (“ “)На рисунке проиллюстрированный примерЭто значение отображается в данных из Excel
Фамилия кратко объясню назначение до Excel 2013, лист или в
. Если данные разделены |
Предположим, есть список участников, |
Внимание! |
операции в группировке |
всем автомобильным номерам |
еще один столбец, пробела?! возможны символов в строке фамилию (второе или с помощью решения данной задачи. формате «Денежный». Кроме 2010. Данные из |
2 каждой из этих |
то можете воспользоваться |
другую рабочую книгу, одним или несколькими приглашённых на конференциюСтолбцы этого диапазона - |
777 региона, начинающимся использующий функцию»Подшипник 180202 генератора» |
конце строки типа |
слово) с помощью пробела после текстового Для этой цели того, если в первого столбца разбитыSally K. Brooke функций и приведу преимуществами нового инструмента попытка сделать это разделителями, то нужно или какое-то другое |
Объединение текста и чисел из разных ячеек в одной ячейке с помощью формулы
должны быть пустыми,Все строки (All Rows) с 1ДЛСТР (LEN) — где здесь *# , *## функции ПСТР. Аргументы аргумента (“Иванов ”;…). в примере должен ячейке находится положительное
на три отдельныхSally примеры, которые Вы « приведёт к сообщению выбрать все подходящие
мероприятие. На рисунке иначе информация в
-
:ООО* — все компании,, проверяющий длину накопленных текст, где код? («звездочка число») ? – «текст» (ссылка использоваться оператор «&» значение (или 0), столбца:K. сможете использовать вМгновенное заполнение об ошибке выбора варианты в разделе ниже видно, что них сотрется иЖмем ОК и получаем
-
название которых начинается строк:»Подножки Universal Great заменой не получается, на строку), «начальнаяНачнем с простейших примеров. (END вместо оператора после него будетУрок подготовлен для ВасBrooke своих книгах Excel.» и заставить Excel конечной ссылки.D в столбце
Примеры
заменится на новую. для каждой компании
на ОООТеперь можно отфильтровать единички Wall Hover» - т.к эксель принимает позиция» (номер символа,Данные для объединения: «+»), который позволяет показан текст «(излишек)», командой сайта office-guru.ruИзвлекаем имя:Самая распространённая ситуация, когда автоматически заполнять (вСовет:elimitersParticipant Если нет пустых мини-таблицу сгруппированных значений.##7## — все товары и скопировать нужные здесь, похоже, без * за универсальный с которого программаСтавим курсор в ячейку объединять значения ячеек
См. также
-
а если ячейка
-
Источник: https://www.ablebits.com/office-addins-blog/2014/02/27/split-cells-excel/
-
=LEFT(A2,FIND(» «,A2,1)-1)
-
могут понадобится эти
support.office.com
Лучшая альтернатива функции СЦЕПИТЬ и объединить текст в Excel
нашем случае –Если Вы не(Символом-разделителем является) или(Участник) перечислены имена столбцов, можно предварительно Содержимое таблиц хорошо с пятизначным цифровым склейки адресов для кода? символ-заменитель :( начнет считать число Е2 и вызываем в формулах: содержит отрицательное значение,
Как сцепить два текста в один с помощью и без функции Excel?
Перевел: Антон Андронов=ЛЕВСИМВ(A2;НАЙТИ(» «;A2;1)-1) формулы – это
- разбивать) данные, при хотите импортировать какой-то ввести свой вариант участников, государство и вставить столбцы. Как
- видно, если щелкать кодом, где третья дальнейшего использования.
»Подрамник двигателя наGuest знаков); «количество знаков». мастер функций (кнопкаКак показано выше на после него будетАвтор: Антон АндроновИзвлекаем отчество:
необходимость разделить имена обнаружении определенной закономерности. столбец (столбцы), который разделителя в поле
ожидаемая дата прибытия: это сделать, смотрите левой кнопкой мыши цифра 7Если исходный список не BQб» — с: Смотрите текстовые функции. В примере: Е2 fx). В категории
рисунке с помощью показан текст «(недостаток)».Примечание:=MID(A2,FIND(» «,A2,1)+1,FIND(» «,A2,FIND(» «,A2,1)+1)-(FIND(« из одного столбцаЕсли Вы ещё не показан в областиOtherНеобходимо разбить этот текст в статье «Как в белый фон????? — все названия отсортирован по компаниям, этим что? Например =ПОДСТАВИТЬ()
– «текст», с «Текстовые» находим функцию символа «&» можноПри объединении чисел и
Мы стараемся как «,A2,1)+1)) по нескольким. На знакомы с этойData preview(Другой).В нашем примере на отдельные столбцы, добавить строку, столбец ячеек (не в из пяти букв то приведенная вышеGuest
kim
9 знака функция СЦЕПИТЬ. Аргументы – соединить любые текстовые
- текста в ячейке, можно оперативнее обеспечивать=ПСТР(A2;НАЙТИ(» «;A2;1)+1;НАЙТИ(» «;A2;НАЙТИ(» «;A2;1)+1)-(НАЙТИ(«
- рисунке ниже показано, функцией, я попробую(Образец разбора данных), мы выбираем
- чтобы таблица имела в Excel» тут. текст!) в получившемся и т.д. простая формула не: даже если так: Для замены # вернет 8 символов. ссылки на ячейки значения из разных
текст и больше вас актуальными справочными «;A2;1)+1)) какого результата мы кратко объяснить её то выделите егоSpace следующие данные (слеваМожно указать формат столбце:В работе может встретиться работает, но можно
- всё будет работать,замечательно. на пусто можноДля выполнения более сложных
- А2, В2, С2 ячеек без использования не функция числа
материалами на вашемИзвлекаем фамилию: пытаемся достичь: суть. Этот инструмент и выберите вариант
exceltable.com
Функция СЦЕПИТЬ в Excel: синтаксис и примеры использования
(Пробел) и направо): Ячеек столбцов. Например,Теперь добавим еще один задача, когда сцеплять легко выкрутиться спросто на самом =ПОДСТАВИТЬ(A1;»#»;»») задач используются более и пробелы:
Синтаксис функции СЦЕПИТЬ
функции: =СЦЕПИТЬ(). В становятся как числовые языке. Эта страница=RIGHT(A2,LEN(A2)- FIND(» «,A2,FIND(» «,A2,1)+1))Вы легко сможете разбить анализирует данные, которыеDo not import columnCommaFirst Name если вы делите столбец, где с текст нужно больше,
помощью небольшой пользовательской деле есть и
- Для звездочки =ПОДСТАВИТЬ(A1;»*»;»») сложные формулы, составляютсяРезультат объединения значений в этом примере объединены значения. Это означает, переведена автоматически, поэтому=ПРАВСИМВ(A2;ДЛСТР(A2)-НАЙТИ(» «;A2;НАЙТИ(» «;A2;1)+1))
- такие имена на Вы вводите на(Пропустить столбец) в(Запятая), а также(Имя), столбец на дни помощью функции склеим
- чем по одному функции на VBA. позиции без номеров,Про артикулы не пользовательские функции. ячейках: значения ячеек A2 что больше не ее текст можетФункция два столбца при
рабочий лист, и
Как пользоваться функцией СЦЕПИТЬ в Excel
разделе
ставим галочку напротив
Last Name и месяцы, год, через запятую содержимое условию. Например представим, Откройте редактор Visual есть номера перед понял…sergejkovТакой же результат получим
и B2 с может выполнять любые
содержать неточности иMID
помощи следующих формул: пытается выяснить, откудаColumn data format параметра
(Фамилия), то можно указать столбцов Адрес в что в нашей
- Basic нажатием на текстом.kim: Имеем столбец с с помощью амперсанда: добавленным между ними математических операций на грамматические ошибки. Для(ПСТР) – извлекаетИзвлекаем имя (столбец First они взялись и(Формат данных столбца).Treat consecutive delimiters asCountry
- «Формат данных столбца» каждой из мини-таблиц. предыдущей таблице добавился сочетание клавишНо мне нужно: А кажись понял. подобным содержаним:Один из аргументов – символом пробела (указанный них. нас важно, чтобы часть текстовой строки name): существует ли вНажмите one(Страна), — «дата». Для этого на еще один столбецAlt+F11 чтоб уюрать эти Так?0202 Гантеля резиновая текст. Формула: =СЦЕПИТЬ(«слесарь»;
- в формуле междуДля объединения чисел с эта статья была (то есть заданное=LEFT(A2,SEARCH(» «,A2,1)-1) них какая-либо закономерность.Finish(Считать последовательные разделители
- Arrival DateНажимаем кнопку «Готово». вкладке с городом иили с помощью номераsergejkov
150 мм » «;A2;» «;B2;» кавычками как текстовое помощью функции СЦЕПИТЬ вам полезна. Просим количество символов). Синтаксис:=ЛЕВСИМВ(A2;ПОИСК(» «;A2;1)-1) Как только «Мгновенное(Готово)! одним). Этот параметр(Ожидаемая дата прибытия) Получилось так.
Добавить столбец склеивание нужно проводить кнопки
Обратная функция СЦЕПИТЬ в Excel
Guest: вот теперь так020543 Кольцо резиновое «;C2). Результат: значение). или функции ОБЪЕДИНЕНИЯ,
- вас уделить пару=MID(text,start_num,num_chars)Извлекаем фамилию (столбец Last
- заполнение» распознает ВашиЕсли данные состоят из поможет избежать лишнего
- иТак можно разделить текстжмем не только для
Visual Basic
- : Вот это, то как нужно :) 70 ммИ с более сложнымиДля объединения текстов в текст и TEXTJOIN секунд и сообщить,=ПСТР(текст;начальная_позиция;количество_знаков)
- name): действия и вычислит текстовых или числовых разбиения данных, например,Status из одной ячейкиПользовательский столбец (Add column
- заданной компании, нона вкладке что надо!!!!!!! спасибо!02064 Кольцо резиновое задачами справится функция одну строку программа и амперсанд (&) помогла ли онаВ качестве аргументов функции=RIGHT(A2,LEN(A2)-SEARCH(» «,A2,1)) закономерность, Excel предложит значений с фиксированным когда между словами
(Статус). на большее количество — Custom column) еще и для
exceltable.com
как разделить столбец на цифры и текст
Разработчик (Developer)Спасибо огромное!!!!!!!куда дэньги слать
80 мм СЦЕПИТЬ в Excel.
Excel предлагает встроенную оператор.
вам, с помощью указываем: какой текст
=ПРАВСИМВ(A2;ДЛСТР(A2)-ПОИСК(» «;A2;1))
вариант, и последовательность количеством символов, Вы есть 2 илиЕсли в таблице есть столбцов. Например, здесь
и в появившемся заданного города. В. В открывшемся окнеJulia ;)Подскажите пожалуйста:
Примеры: функциюПримечания: кнопок внизу страницы.
взять, позицию символа,Для тех, кому интересно, записей в новом можете разбить их более последовательных пробела. хотя бы один разделили дату отдельно
окне вводим имя
этом случае нашу вставьте новый пустой
: вот примерps вопрос проКак разделить цифровой
Соединим текст с датой.
=СЦЕПИТЬ(A2;» «;B2), которая
Для удобства также
с которого нужно что означают эти столбце появится буквально на несколько столбцов
Настраиваем ограничитель строк
столбец справа от по столбцам – нового столбца и
функцию придется немного модуль через менюKH 8625—8шт. *# , *## код(часто кроме цифр Данные находятся в объединяет текстовые значенияВ Excel 2016Excel Mobile и
приводим ссылку на начать, и сколько формулы, я попробую за мгновение.
следующим способом.. Этот параметр может столбца, который необходимо число, месяц, год.
формулу сцепки на модернизировать, добавив к
Insert — ModuleBG 1802001-3—4шт.
пока открыт. содержит «/») и отдельных ячейках. Для
в одну строку. Excel Online с оригинал (на английском символов извлечь. объяснить более подробно.
Таким образом, при помощиК примеру, есть список понадобиться, если в
разбить, тогда первымДля большей наглядности
встроенном в Power ней проверку ещеи скопируйте туда
KH 23020007—18шт.Смысл в том текста в разные столбца «Дата» установлен
Однако на практике
помощью функции
языке) .Вы можете использовать аналогичные
SEARCH этого инструмента Вы
товаров с ID столбце, который Вы делом создайте новые в таблице Excel
Query языке М: одного диапазона:
текст нашей функции:KH 8629/8—8шт. , что часто столбцы? формат «Дата». Если
мы не рекомендуемОБЪЕДИНЕНИЯПредположим, что нужно создать
формулы, чтобы разбить(ПОИСК) или можете взять какую-то и наименованием, причем разбиваете, содержатся какие-либо пустые столбцы, в можно выделить некоторыеОбратите внимание, что всеFunction MergeIfs(TextRange AsFunction MergeIf(TextRange AsKH 23020008—12шт.
в конце строкиpsкакто я виде использовать только функцию
использовать функцию СЦЕПИТЬ,заменена предложение грамматически правильные имена с суффиксами
FIND
часть данных, находящихся идентификатор товара –
значения, заключённые в которые будут помещены строки, столбцы (например,
М-функции регистрочувствительные (в Range, SearchRange1 As Range, SearchRange Asподскажите пожалуйста как
указано количество еиниц на форуме подобный
СЦЕПИТЬ, дата отобразится а в местофункции СЦЕПИТЬ
из нескольких столбцов в конце:(НАЙТИ) – это в одном или это 9 символов, кавычки или в
полученные данные. Этот итоговые) выделить другим отличие от Excel). Range, Condition1 As
Range, Condition As
отделить символы которые в упаковке(*6, *24 код, но сейчас в числовом формате.
нее просто применять. Несмотря на данных для подготовкиA
абсолютно идентичные функции, нескольких столбцах, и которые стоят перед
апострофы, и Вы шаг необходим для
цветом, разделительной линией.
После нажатия на String, SearchRange2 As String) Dim Delimeter находятся до —шт. и т.п.) не могунайти. да Поэтому добавим функцию в формулах оператор то, что функция массовой рассылки. Или,B
которые выполняют поиск ввести их в
наименованием этого товара: хотите, чтобы такие
того, чтобы результаты Подробнее, смотрите в
ОК
Range, Condition2 As As String, i
Очень нужно !!!под # я и обрабатывал он ТЕКСТ для форматирования &, так какСЦЕПИТЬ
возможно, вам нужноC позиции определенной текстовой новый столбец. Думаю,Вот что Вам нужно участки текста не
не были записаны статье «Разделительная линияполучаем новый столбец String) Dim Delimeter
As Long DelimeterPav777 подразумевал цифры. еще не совсем корректно. чисел. Формула: Второй она имеет ряд
по-прежнему доступен для форматирование чисел с
D строки в заданной
Вы лучше поймёте сделать, чтобы разбить
разбивались, а рассматривались поверх уже существующих строк в таблице
со склееными адресами: As String, i = «, «: Здравствуй, форум.
бывают варианты /#New аргумент функции ТЕКСТ своих недостатков.
обеспечения обратной совместимости,
текстом, не затрагивая1 ячейке. Синтаксис формулы: о чём я
такой столбец на как цельные значения.
данных.В нашем примере Excel» тут.Осталось удалить ненужный уже As Long Delimeter ‘символы-разделители (можно заменить
Есть строка следующего и /##: Я не специалист – формат представления
следует использовать формулы, которые могутПолное имя
=SEARCH(find_text,within_text,[start_num]) говорю из следующего два: Например, если Вы
сразу после столбцаМожно разделить ячейку столбец
= «, « на пробел или вида (выгрузка с
вот :( по формулам, но даты. Результат:3 главных недостатка функцииОБЪЕДИНЕНИЯ
использовать эти числа.Имя=ПОИСК(искомый_текст;текст_для_поиска;[нач_позиция])
примера.Запустите инструмент выберите в качестве
Participant
по диагонали и,ТаблАдресов
‘символы-разделители (можно заменить
; и т.д.)
сайта-аукциона):
kim
попробую )
Соединим сразу много ячеек СЦЕПИТЬ по сравнению, так как
В Excel существует
planetaexcel.ru
Расцепить текст из строки (Формулы/Formulas)
ФамилияВ качестве аргументов Вы
Первым делом, убедитесь, чтоText to Columns разделителя запятую, а
находится столбец в каждой части(правой кнопкой мыши на пробел или
‘если диапазоны проверки265572473,Fumiya Tanaka,Beautiful Town,Pluie/Noir
: Я так понимаю,
Предположим, что текст в строке. Если с оператором &:функции СЦЕПИТЬ несколько способов дляСуффикс
должны указать: что инструмент «Мгновенное заполнение»(Текст по столбцам), в качестве ограничителя
Status написать текст. Читайте, по заголовку - ; и т.д.) и склеивания не Recordings,PNR005,»12″», Ltd, Num, Вы вообще хотите «0202 Гантеля резиновая
excelworld.ru
Склеивание текста по условию
писать формулу сОграниченное максимальное количество объединяемыхмогут быть недоступны объединения текста и2 нужно найти, где включен. Вы найдёте как мы это строк – кавычки, и мы собираемся как это сделать,Удалить столбец ‘если диапазоны проверки равны друг другу Blu»,6969799,For Sale,13.4,2015-09-25 02:26:10,absolutely
от них избавиться? 150 мм» находится функцией СЦЕПИТЬ, получится значений ячеек до в будущих версиях чисел.Robert Furlan Jr. нужно искать, а этот параметр на делали в предыдущем («), тогда любые добавить между ними в статье «Как) и выгрузить результаты и склеивания не — выходим с new,Mint (M),Mint (M),N,,0,0,0.0,Guest в ячейке А1,
долго и малоэффективно. 255. Excel.Если столбец, который выRobert также позицию символа, вкладке
Способ 0. Формулой
примере. На первом слова, заключённые в новые столбцы разделить ячейку в на лист, нажав равны друг другу ошибкой If SearchRange.CountНеобходимо расцепить данные: Про звездочки вам то можно в Используем маленькую хитрость.Функция объединяет только текстовыеTEXTJOIN
хотите отсортировать содержитFurlan с которого следуетFile шаге мастера выберите кавычки (например, «California,Last Name Excel» здесь. на вкладке — выходим с <> TextRange.Count Then до каждой запятой. ведь давно ответили. ячейку В1 ввести
Вот наша строка значения, а операторОбъединение текста из числа и текст
Способ 1. Макрофункция склейки по одному условию
Jr. начать поиск. В(Файл) > параметр USA»), будут помещены,Удобнее работать вГлавная — Закрыть и ошибкой If SearchRange1.Count MergeIf = CVErr(xlErrRef)Благодарю Ответы читали? формулу со значениями в & объединит любые нескольких диапазонах и/или — 15 #Извлекаем имя: нашем примереOptionsFixed width в одну ячейку.Country
таблице, где в загрузить (Home - <> TextRange.Count Or Exit Function EndManyashaGuest=ЛЕВСИМВ(A1;НАЙТИ(» «;A1)) отдельных ячейках. В значения ячеек. строки, а также продукта, продукт #100=LEFT(A2,FIND(» «,A2,1)-1)SEARCH(» «,A2,1)(Параметры) >(Фиксированной ширины) и Если же ви ячейках не видны Close and load) SearchRange2.Count <> TextRange.Count If ‘проходим по:: Даже не знаюкоторая нам вернёт ячейку Н1 ставимФункция требует немного больше разделитель, указанный между и 200 #=ЛЕВСИМВ(A2;НАЙТИ(» «;A2;1)-1)илиAdvanced нажмите качестве ограничителя строкArrival Date
нули. Как их: Then MergeIfs = все ячейкам, проверяемPav777 как Вас отблагодарить! значение кода «0202» знак «равно». Выделяем затрат времени и каждой парой значений, продукта — неИзвлекаем фамилию:ПОИСК(» «;A2;1)(Дополнительно) >Next
Способ 2. Сцепить текст по неточному условию
установить значение.Если кто-то забыл, я убрать, скрыть, заменить,Важный нюанс CVErr(xlErrRef) Exit Function условие и собираем, а вкладка Данные-ТекстЭто именно то,А в ячейку диапазон со значениями ресурсов как у который будет добавляться может сортировать должным=MID(A2,FIND(» «,A2,1)+1,FIND(» «,A2,FIND(» «,A2,1)+1)-(FIND(«говорит о том,Automatically Flash Fill(Далее).None
напомню быстрый способ
- читайте в статье: в отличие от End If ‘проходим текст в переменную
- по столбцам (разделитель что нужно! С1 можно ввести
- А1:F1. Вводим амперсанд программы Excel (в текст. Если разделитель
образом. Можно отформатировать «,A2,1)+1)) что мы хотим(Автоматически выполнять мгновенноеВ разделе(Нет), тогда слово вставить сразу несколько «Как убрать нули предыдущих способов (функций), по все ячейкам, OutText For i запятая) не подходит?Оромнейшая Вам благодарность! формулу & и пробел
процессе вычислений с пустую текстовую строку, ячейки, содержащие 15,=ПСТР(A2;НАЙТИ(» «;A2;1)+1;НАЙТИ(» «;A2;НАЙТИ(» «;A2;1)+1)-(НАЙТИ(«
- найти символ пробела заполнение).Data preview «California» будет помещено
- столбцов на лист в Excel». таблицы из Power
- проверяем все условия = 1 ToTimShaМаксим
- =ПСТР(A1;НАЙТИ(» «;A1)+1;ДЛСТР(A1)) “ “. Жмем использованием сложных формул),
Способ 3. Макрофункция склейки текста по двум условиям
эта функция будет 100 и 200, «;A2;1)+1)) в ячейкеТеперь давайте посмотрим, как(Образец разбора данных) в один столбец, Excel. Для этогоВ этой статье Вы Query не обновляются и собираем текст SearchRange.Cells.Count If SearchRange.Cells(i): Двнные — Текст: Помогите разобраться. Нужнокоторая нам вернёт F9. В строке так и у эффективно объединять диапазоны. чтобы они отображались
Извлекаем суффикс:A2 можно автоматически разбить настройте ширину столбцов. а «USA» – выберите столбец найдёте несколько способов, автоматически. Если в в переменную OutText Like Condition Then по столбцам - удалить код наименований текст после кода формул появится формула пользователя (в процессеTEXTJOIN на листе как=RIGHT(A2,LEN(A2)-FIND(» «,A2,FIND(» «,A2,1)+1))и начнём поиск данные по ячейкам. Как видно на в другой.Status как разбить ячейки будущем произойдут какие-либо For i = OutText = OutText Разделитель запятая. товаров который стоитПодходит, нет? массива. Ставим курсор ввода функции вв Excel 2013 15 # продукт,=ПРАВСИМВ(A2;ДЛСТР(A2)-НАЙТИ(» «;A2;НАЙТИ(» «;A2;1)+1)) с первого символа. Итак, Вы включили рисунке ниже, крайВ нижней части диалогового
, кликнув по его или целые столбцы изменения в исходных 1 To SearchRange1.Cells.Count
Способ 4. Группировка и склейка в Power Query
& TextRange.Cells(i) &Pav777 вконце. в exelsergejkov в строку формул строку формул). и более ранние продукт #100 иА вот формулы, позволяющиеЗамечание: инструмент «Мгновенное заполнение»,
столбца символизирует вертикальная окна находится область заголовку, и, удерживая в Excel 2010 данных, то нужно If SearchRange1.Cells(i) = Delimeter Next i: не очень силен,: Pavel55 , вау! после знака «равно».Интересный факт! В Excel версии не поддерживается. 200 # продукта. разбить имена сЕсли поиск начинается и начинаете вводить линия, и чтобыData preview нажатой левую кнопку и 2013. Приведённые
будет щелкнуть правой Condition1 And SearchRange2.Cells(i) ‘выводим результаты безManyasha разбираюсь по-тихоньку, поэтому на простом столбце Пишем название функции. нет обратной функцииПримеры различных на рисункеИспользование пользовательского числового формата фамилией, стоящей впереди с первого символа, с клавиатуры данные, задать край следующего
(Образец разбора данных). мыши, протащите указатель примеры и скриншоты кнопкой в любое = Condition2 Then последнего разделителя MergeIf, лучше готовую формулу. все получилось! Фигурные скобки заменяем РАСЦЕПИТЬ и нет ниже. для отображения номера
и отделенной от Вы можете вообще которые нужно поместить столбца, просто кликните Прежде чем нажать вправо, чтобы выделить иллюстрируют работу с место таблицы результатов OutText = OutText = Left(OutText, Len(OutText)
TimSha Очень нада. ФорматОГРОМНОЕ СПАСИБО!!! на круглые и специального символа оператора.Внимательно посмотрите на использование с текстом, не имени запятой, и пропустить аргумент в отдельные ячейки. в нужном месте.Next нужное количество столбцов инструментами «Текст по и выбрать команду & TextRange.Cells(i) & — Len(Delimeter)) End, дико извиняюсь и
у всех ячеекпопробую это на жмем ВВОД. Получаем Для решения такой функции изменяя порядок сортировки отчеством, находящимся в
start_num По мере ввода Двойной щелчок по(Далее) будет разумным (сколько хотите вставить). столбцам» и «МгновенноеОбновить (Refresh) Delimeter End If Function удаляюсь примерно такой более сложных столбцах нужный результат.
задачи применяются формулытекст число. Таким образом конце:(нач_позиция) в формуле Excel будет пытаться вертикальной линии удалит пролистать это поле Затем кликните правой заполнение», кроме этого. Next i ‘выводимЕсли теперь вернуться вСпасибо!Активатор замка электрический
planetaexcel.ru
;)
Как разделить текст в ячейке 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» и переносим в него нижеприведенный код:
Как разделить текст в MS Excel
Многие знают, что для того, чтобы объединить текст в двух ячейках достаточно воспользоваться функцией СЦЕПИТЬ (CONCATENATE), однако, как быть, если необходимо не объединить, а наоборот разделить текст в ячейке? Если количество символов, которое необходимо отделить известно (не важно справа или слева), тогда можно воспользоваться функциями ЛЕВСИМВ (LEFT) или ПРАВСИМВ (RIGHT), в зависимости с какой стороны необходимо выделить определенное количество символов.
Однако, как быть, если необходимо разделить ячейку в которой заведомо не известно количество символов, которые нужно отделить, а известно лишь сколько частей необходимо получить в результате операции. Самым простым примером такой ситуации может быть необходимость выделить из ячейки в которой занесено ФИО человека, отдельно фамилию, имя и отчество. Фамилии у всех разные, поэтому заранее узнать количество символов, которые необходимо отделить, не получится.
На Ваше обозрение представим два способа разделения текста. Один очень быстрый — для тех кому надо просто разделить текст заменив имеющийся, а второй с использованием формул.
Первый способ — супер быстрый.
На самом деле в MS Excel существует встроенная возможность быстрого разделения текста в ячейке, если там присутствует или присутствуют разделитель/разделители (например, простой пробел или запятая). Причем таких разделителей может быть несколько, т.е. текст будет разделятся если в строке присутствует или пробел, или точка с запятой или запятая и т.д.
Для этого необходимо выделить ячейки с текстом, который необходимо разделить и воспользоваться командой «Текст по столбцам».
В англоязычной версии MS Excel данная команда звучит как «Text to Columns» вкладки «DATA».
После несложных подсказок мастера (на самом деле, в нашем примере после выбора разделителя — пробела можно смело жать «Готово»)
А вот и, собственно, результат.
Второй способ — с использованием формул.
В такой ситуации понадобится сочетание функций: ПОИСК (SEARCH) и ПСТР (MID). Для начала, с помощью первой находим пробел между словами (между фамилией и именем и именем и отчеством), а потом подключаем вторую для того, чтобы выделить необходимое количество символов. Грубо говоря, первой функцией определяем количество символов, а второй — уже разделяем.
Кроме того, поскольку разделительного знака в конце строки нет, то количество символов в последнем слове (нашем случае — отчестве) вычислить не удастся, но это не проблема, достаточно указать заведомо большее количество символов в качестве аргумента «число знаков» функции ПСТР, например, 100.
Рассмотрим вышесказанное на примере. Сначала, для лучшего понимания, разнесем формулы и, таким образом, разделим весь процесс на два этапа.
Для того, чтобы определить количество символов, которые необходимо выделить в строке, необходимо определить позиции разделителей (в нашем случае пробела) их будет на один меньше нежели слов в ячейке.
Поскольку информация о количестве необходимых символах получена, следующим этапом будет использование функции ПСТР (MID).
Здесь, в качестве аргументов, используются промежуточные значения, полученные с помощью функции ПОИСК. Для последней колонки количество символов неизвестно, поэтому было взято заведомо бОльшее количество символов (в нашем случае 100).
Теперь попробуем соединить промежуточные расчеты в одну формулу.
Если текст в ячейке необходимо разделить лишь на две части, то необходимо произвести поиск лишь одного пробела (либо другого разделителя, который находится между словами), а для разделения на 4 и больше частей формулу придется усложнить поиском 3го, 4го и т.д. разделителей.
Делим слипшийся текст на части
Итак, имеем столбец с данными, которые надо разделить на несколько отдельных столбцов. Самые распространенные жизненные примеры:
- ФИО в одном столбце (а надо — в трех отдельных, чтобы удобнее было сортировать и фильтровать)
- полное описание товара в одном столбце (а надо — отдельный столбец под фирму-изготовителя, отдельный — под модель для построения, например, сводной таблицы)
- весь адрес в одном столбце (а надо — отдельно индекс, отдельно — город, отдельно — улица и дом)
- и т.д.
Способ 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
Часто приходится оптимизировать структуру данных после импорта в Excel. Некоторые разные значения попадают в одну и туже ячейку образуя целую строку как одно значение. Возникает вопрос: как разбить строку на ячейки в Excel. Программа располагает разными поисковыми функциями: одни ищут по ячейках другие ищут по содержимому ячеек. Ведь выполнять поиск по текстовой строке, которая содержится в ячейке ¬– это также распространенная потребность пользователей Excel. Их мы и будем использовать для разделения строк.
Как разделить текст на две ячейки Excel
Допустим на лист Excel были импортированные данные из другой программы. Из-за несовместимости структуры данных при импорте некоторые значение из разных категорий были внесены в одну ячейку. Необходимо из этой ячейки отделить целые числовые значения. Пример таких неправильно импортированных данных отображен ниже на рисунке:
Сначала определим закономерность, по которой можно определить, что данные из разных категорий, несмотря на то, что они находятся в одной и той же строке. В нашем случае нас интересуют только числа, которые находятся вне квадратных скобок. Каким способом можно быстро выбрать из строк целые числа и поместить их в отдельные ячейки? Эффективным решением является гибкая формула основана на текстовых функциях.
В ячейку B3 введите следующую формулу:
Теперь скопируйте эту формулу вдоль целого столбца:
Выборка чисел из строк в отдельные ячейки.
Описание формулы для разделения текста по ячейкам:
Функция ПСТР возвращает текстовое значение содержащие определенное количество символов в строке. Аргументы функции:
- Первый аргумент – это ссылка на ячейку с исходным текстом.
- Второй аргумент – это позиция первого символа, с которого должна начинаться разделенная строка.
- Последний аргумент – это количество символов, которое должна содержать разделенная строка.
С первым аргументом ПСТР все понятно – это ссылка на ячейку A3. Второй аргумент мы вычисляем с помощью функции НАЙТИ(«]»;A3)+2. Она возвращает очередной номер символа первой закрывающейся квадратной скобки в строке. И к этому номеру мы добавляем еще число 2, так как нам нужен номер символа после пробела за квадратной скобкой. В последнем аргументе функция вычисляет какое количество символов будет содержать разделенная строка после разделения, учитывая положение квадратной скобки.
Обратите внимание! Что в нашем примере все исходные и разделенные строки имеют разную длину и разное количество символов. Именно поэтому мы называли такую формулу – гибкой, в начале статьи. Она подходит для любых условий при решении подобного рода задач. Гибкость придает ей сложная комбинация из функций НАЙТИ. Пользователю формулы достаточно определить закономерность и указать их в параметрах функций: будут это квадратные скобки либо другие разделительные знаки. Например, это могут быть пробелы если нужно разделить строку на слова и т.п.
В данном примере функция НАЙТИ во втором аргументе определяет положение относительно первой закрывающейся скобки. А в третьем аргументе эта же функция вычисляет положение нужного нам текста в строке относительно второй открывающийся квадратной скобки. Вычисление в третьем аргументе более сложное и оно подразумевает вычитание одной большей длинны текста от меньшей. А чтобы учитывать еще 2 пробела следует вычитать число 3. В результате чего получаем правильное количество символов в разделенной строке. С помощью такой гибкой формулы можно делать выборку разной длинны разделенного текста из разных длинны исходных строк.
Как разделить текст в Excel по столбцам?
Часто мы сталкиваемся с проблемой, когда у нас есть данные только в одном столбце, при этом было бы гораздо удобнее расцепить текст на несколько столбцов.
Например, разделить столбец с полными именами (Фамилия Имя Отчество) на отдельные столбцы с именами (Фамилия, Имя, Отчество).
Давайте разберемся как разбить текст в ячейке по столбцам на конкретном примере.
Предположим у нас имеется таблица с ФИО сотрудников компании:
Исходные данные для разделения
Для того, чтобы разделить текст в Excel по столбцам идем на панель вкладок и выбираем Данные -> Работа с данными -> Текст по столбцам:
Указание формата данных
На первом шаге выбираем формат данных:
Шаг 1. Указание формата данных
На выбор есть 2 варианта формата данных:
- С разделителями — разделение происходит по знаку-разделителю (пробел, запятая, точка и т.д.);
- Фиксированная ширина — разделение происходит по фиксированной ширине столбца.
Выбор разделителя для данных
В случае выбора формата с разделителями, как в нашем примере, на втором шаге выбираем какой конкретно знак-разделитель мы будем использовать:
Шаг 2. Выбор разделителя для данных
Можно выбрать как из стандартных знаков (знак табуляции, точка с запятой, запятая, пробел), так и из любых других (например, точка, символы $, @ и т.п.).
Флажок Считать последовательные разделители одним необходим если в исходных данных разделитель может быть продублирован (например, двойной пробел и т.д.).
Параметр Ограничитель строк позволяет не разделять по столбцам текст заключенный в кавычки.
Выбор формата данных для каждого столбца
На третьем шаге выбираем формат данных для каждого нового сформированного столбца:
Шаг 3. Выбор формата данных для каждого столбца
Делим слипшийся текст на части
Итак, имеем столбец с данными, которые надо разделить на несколько отдельных столбцов. Самые распространенные жизненные примеры:
- ФИО в одном столбце (а надо — в трех отдельных, чтобы удобнее было сортировать и фильтровать)
- полное описание товара в одном столбце (а надо — отдельный столбец под фирму-изготовителя, отдельный — под модель для построения, например, сводной таблицы)
- весь адрес в одном столбце (а надо — отдельно индекс, отдельно — город, отдельно — улица и дом)
- и т.д.
Поехали..
Способ 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) и копируем туда текст вот этой пользовательской функции:
Function Substring(Txt, Delimiter, n) As String Dim x As Variant x = Split(Txt, Delimiter) If n > 0 And n - 1 <= UBound(x) Then Substring = x(n - 1) Else Substring = "" End If End Function
Теперь можно найти ее в списке функций в категории Определенные пользователем (User Defined) и использовать со следующим синтаксисом:
=SUBSTRING(Txt; Delimeter; n)
где
- Txt — адрес ячейки с текстом, который делим
- Delimeter — символ-разделитель (пробел, запятая и т.д.)
- n — порядковый номер извлекаемого фрагмента
Например:
Способ 3. Разделение слипшегося текста без пробелов
Тяжелый случай, но тоже бывает. Имеем текст совсем без пробелов, слипшийся в одну длинную фразу (например ФИО «ИвановИванИванович»), который надо разделить пробелами на отдельные слова. Здесь может помочь небольшая макрофункция, которая будет автоматически добавлять пробел перед заглавными буквами. Откройте редактор Visual Basic как в предыдущем способе, вставьте туда новый модуль и скопируйте в него код этой функции:
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
Теперь можно использовать эту функцию на листе и привести слипшийся текст в нормальный вид:
Ссылки по теме
- Деление текста при помощи готовой функции надстройки PLEX
- Что такое макросы, куда вставлять код макроса, как их использовать
Разделение текста на столбцы с помощью мастера распределения текста по столбцам
С помощью мастера распределения текста по столбцам текст, содержащийся в одной ячейке, можно разделить на несколько.
Проверьте, как это работает!
-
Выделите ячейку или столбец с текстом, который вы хотите разделить.
-
На вкладке Данные нажмите кнопку Текст по столбцам.
-
В мастере распределения текста по столбцам установите переключатель с разделителями и нажмите кнопку Далее.
-
Выберите разделители для своих данных. Например, запятую и пробел. Данные можно предварительно просмотреть в окне Образец разбора данных.
-
Нажмите кнопку Далее.
-
В поле Поместить в выберите место на листе, где должны отображаться разделенные данные.
-
Нажмите кнопку Готово.
См. также
Разделение текста по столбцам с помощью функций
Нужна дополнительная помощь?
Раннее мы рассматривали возможность разделить текст по столбцам на примере деления ФИО на составные части. Для этого мы использовали инструмент в Excel «Текст по столбцам».
Несомненно, это очень важный и полезный и инструмент в Excel, который значительно может упростить множество задач. Но у данного способа есть небольшой недостаток. Если вам, например, постоянно присылают данные в определенном виде, а вам постоянно необходимо их делить, то это занимает определенное время, кроме того, если данные вам прислали заново, то вам снова нужно будет проделать все операции.
Содержание
- 1 Пример 1. Делим текст с ФИО по столбцам с помощью формул
- 1.1 Приступаем к делению первой части текста — Фамилии
- 1.2 Приступаем к делению второй части текста — Имя
- 1.3 Приступаем к делению третьей части текста — Отчество
- 2 Пример 2. Как разделить текст по столбцам в Excel с помощью формулы
Пример 1. Делим текст с ФИО по столбцам с помощью формул
Если рассматривать на примере деления ФИО, то разделить текст можно будет с помощью текстовых формул Excel, используя функцию ПСТР и НАЙТИ, которую мы рассматривали в прошлых статьях. В этом случае вам достаточно вставить данные в определенный столбец, а формулы автоматически разделят текст так как вам необходимо. Давайте приступит к рассмотрению данного примера.
У нас есть столбец со списком ФИО, наша задача разместить фамилию, имя отчество по отдельным столбцам.
Попробуем очень подробно описать план действия и разобьем решение задачи на несколько этапов.
Первым делом добавим вспомогательные столбцы, для промежуточных вычислений, чтобы вам было понятнее, а в конце все формулы объединим в одну.
Итак, добавим столбцы позиция 1-го и 2-го пробелам. С помощью функции НАЙТИ, как мы уже рассматривали в предыдущей статье найдем позицию первого пробелам. Для этого в ячейке «H2» пропишем формулу
=НАЙТИ(" ";A2;1)
и протянем вниз. Формулу объяснять не буду — смотрите предыдущую статью
Теперь нам необходимо найти порядковый номер второго пробела. Формула будет такая же, но с небольшим отличием. Если прописать такую же формулу, то функция найдет нам первый пробел, а нам нужен второй пробел. Значит на необходимо поменять третий аргумент в функции НАЙТИ — начальная позиция — то есть позиция с которой функция будет искать искомый текст. Мы видим, что второй пробел находится в любом случае после первого пробела, а позицию первого пробела мы уже нашли, значит прибавив 1 к позиции первого пробелам мы укажем функции НАЙТИ искать пробел начиная с первой буквы после первого пробела. Функция будет выглядеть следующим образом:
=НАЙТИ(" ";A2;H2+1)
Далее протягиваем формулу и получаем позиции 1-го и 2-го пробела.
Приступаем к делению первой части текста — Фамилии
Для этого мы воспользуемся функцией ПСТР, напомню синтаксис данной функции:
=ПСТР(текст; начальная_позиция; число_знаков), где
- текст — это ФИО, в нашем примере это ячейка A2;
- начальная_позиция — в нашем случае это 1, то есть начиная с первой буквы;
- число_знаков — мы видим, что фамилия состоит из всех знаков, начиная с первой буквы и до 1-го пробела. А позиция первого пробела нам уже известна. Это и будет количество знаков минус 1 знак самого пробела.
Формула будет выглядеть следующим образом:
=ПСТР(A2;1;H2-1)
Приступаем к делению второй части текста — Имя
Снова используем функцию =ПСТР(текст; начальная_позиция; число_знаков), где
- текст — это тот же текст ФИО, в нашем примере это ячейка A2;
- начальная_позиция — в нашем случае Имя начинается с первой буква после первого пробела, зная позицию этого пробела получаем H2+1;
- число_знаков — число знаков, то есть количество букв в имени. Мы видим, что имя у нас находится между двумя пробелами, позиции которых мы знаем. Если из позиции второго пробела отнять позицию первого пробела, то мы получим разницу, которая и будет равна количеству символов в имени, то есть I2-H2
Получаем итоговую формулу:
=ПСТР(A2;H2+1;I2-H2)
Приступаем к делению третьей части текста — Отчество
И снова функция =ПСТР(текст; начальная_позиция; число_знаков), где
- текст — это тот же текст ФИО, в нашем примере это ячейка A2;
- начальная_позиция — Отчество у нас находится после 2-го пробелам, значит начальная позиция будет равна позиции второго пробела плюс один знак или I2+1;
- число_знаков — в нашем случае после Отчества никаких знаков нет, поэтому мы просто может взять любое число, главное, чтобы оно было больше возможного количества символов в Отчестве, я взял цифру с большим запасом — 50
Получаем функцию
=ПСТР(A2;I2+1;50)
Далее выделяем все три ячейки и протягиваем формулы вниз и получаем нужный нам результат. На этом можно закончить, а можно промежуточные расчеты позиции пробелов прописать в сами формулы деления текста. Это очень просто сделать. Мы видим, что расчет первого пробела находится в ячейке H2 — НАЙТИ(» «;A2;1), а расчет второго пробела в ячейке I2 — НАЙТИ(» «;A2;H2+1) . Видим, что в формуле ячейки I2 встречается H2 меняем ее на саму формулу и получаем в ячейке I2 вложенную формулу НАЙТИ(» «;A2;НАЙТИ(» «;A2;1)+1)
Смотрим первую формулу выделения Фамилии и смотрим где здесь встречается H2 или I2 и меняем их на формулы в этих ячейках, аналогично с Именем и Фамилией
- Фамилия =ПСТР(A2;1;H2-1) получаем =ПСТР(A2;1;НАЙТИ(» «;A2;1)-1)
- Имя =ПСТР(A2;H2+1;I2—H2) получаем =ПСТР(A2;НАЙТИ(» «;A2;1)+1;
НАЙТИ(» «;A2;НАЙТИ(» «;A2;1)+1)—НАЙТИ(» «;A2;1)) - Отчество =ПСТР(A2;I2+1;50) получаем =ПСТР(A2;НАЙТИ(» «;A2;НАЙТИ(» «;A2;1)+1)+1;50)
Теперь промежуточные вычисления позиции пробелом можно смело удалить. Это один из приемов, когда для простоты сначала ищутся промежуточные данные, а потом функцию вкладывают одну в другую. Согласитесь, если писать такую большую формулу сразу, то легко запутаться и ошибиться.
Надеемся, что данный пример наглядно показал вам, как полезны текстовые функции Excel для работы с текстом и как они позволяют делить текст автоматически с помощью формул однотипные данные. Если вам понравилась статья, то будем благодарны за нажатие на +1 и мне нравится. Подписывайтесь и вступайте в нашу группу вконтакте.
Пример 2. Как разделить текст по столбцам в Excel с помощью формулы
Рассмотрим второй пример, который так же очень часто встречался на практике. Пример похож предыдущий, но данных которые нужно разделить значительно больше. В этом примере я покажу прием, который позволит достаточно быстро решить вопрос и не запутаться.
Допустим у нас есть список чисел, перечисленных через запятую, нам необходимо разбить текст таким образом, чтобы каждое число было в отдельной ячейке (вместо запятых это могут быть любые другие знаки, в том числе и пробелы). То есть нам необходимо разбить текст по словам.
Напомним, что вручную (без формул) это задача очень просто решается с помощью инструмента текст по столбцам, который мы уже рассматривали. В нашем же случае требуется это сделать с помощью формул.
Для начала необходимо найти общий разделить, по которому мы будет разбивать текст. В нашем случае это запятая, но например в первой задаче мы делили ФИО и разделитель был пробел. Наш второй пример более универсальный (более удобный при большом количестве данных), так например мы удобно могли бы делить не только ФИО по отдельным ячейкам, а целое предложение — каждое слово в отдельную ячейку. Собственно такой вопрос поступил в комментариях, поэтому было решено дополнить эту статью.
Для удобства в соседнем столбце укажем этот разделитель, чтобы не прописывать его в формуле а просто ссылаться на ячейку. Это так же позволит нам использовать файл для решения других задач, просто поменяв разделитель в ячейках.
Теперь основная суть приема.
Шаг 1. В вспомогательном столбце находим позицию первого разделителя с помощью функции НАЙТИ. Описывать подробно функцию не буду, так как мы уже рассматривали ее раннее. Пропишем формулу в D1 и протянем ее вниз на все строки
=НАЙТИ(B1;A1;1)
То есть ищем запятую, в тексте, начиная с позиции 1
Шаг 2. Далее в ячейке E1 прописываем формулу для нахождения второго знака (в нашем случае запятой). Формула аналогичная, но с небольшими изменениями.
=НАЙТИ($B1;$A1;D1+1)
Во-первых: закрепим столбец искомого значения и текста, чтобы при протягивании формулы вправо ссылки на ячейки не сдвигалась. Для этого нужно написать доллар перед столбцом B и A — либо вручную, либо выделить A1 и B1, нажать три раза клавишу F4, после этого ссылки станут не относительными, а абсолютными.
Во-вторых: третий аргумент — начало позиции мы рассчитаем как позиция предыдущего разделителя (мы его нашли выше) плюс 1 то есть D1+1 так как мы знаем, что второй разделитель точно находится после первого разделителя и нам его не нужно учитывать.
Пропишем формулу и протянем ее вниз.
Шаг 3. Находимо позиции всех остальных разделителей. Для этого формулу нахождения второго разделителя (шаг 2) протянем вправо на то количество ячеек, сколько всего может быть отдельно разбитых значений с небольшим запасом. Получим все позиции разделителей. Там где ошибка #Знач означает что значения закончились и формула больше не находит разделителей. Получаем следующее
Шаг 4. Отделяем первое число от текст с помощью функции ПСТР.
=ПСТР(A1;1;D1-1)
Начальная позиция у нас 1, количество знаков мы рассчитываем как позиция первого разделителя минус 1: D1-1 протягиваем формулу вниз
Шаг 5. Находимо второе слово так же с помощью функции ПСТР в ячейке P1
=ПСТР($A1;D1+1;E1-D1-1)
Начальная позиция второго числа у нас начинается после первой запятой. Позиция первой запятой у нас есть в ячейке D1, прибавим единицу и получим начальную позицию нашего второго числа.
Количество знаков это есть разница между позицией третьего разделителя и второго и минус один знак, то есть E1-D1-1
Закрепим столбец A исходного текста, чтобы он не сдвигался при протягивании формулы право.
Шаг 6. Протянем формулу полученную на шаге 5 вправо и вниз и получим текст в отдельных ячейках.
Шаг 7. В принципе задача наша уже решена, но для красоты все в той же ячейке P1 пропишем формула отлавливающую ошибку заменяя ее пустым значением. Так же можно сгруппировать и свернуть вспомогательные столбцы, чтобы они не мешали. Получим итоговое решение задачи
=ЕСЛИОШИБКА(ПСТР($A1;D1+1;E1-D1-1);»»)
Примечание. Первую позицию разделителя и первое деление слова мы делали отлично от других и из-за этого могли протянуть формулу только со вторых значений. Во время написания задачи я заметил, что можно было бы упростить задачу. Для этого в столбце С нужно было прописать 0 значения первого разделителя. После этого находим значение первого разделителя
=НАЙТИ($B1;$A1;C1+1)
а первого текста как
=ПСТР($A1;C1+1;D1-C1-1)
После этого можно сразу протягивать формулу на остальные значения. Именно этот вариант оставляю как пример для скачивания. В принципе файлом можно пользоваться как шаблоном. В столбец «A» вставляете данные, в столбце «B» указываете разделитель, протягиваете формулы на нужное количество ячеек и получаете результат.
Внимание! В комментариях заметили, что так как в конце текста у нас нет разделителя, то у нас не считается количество символов от последнего разделителя до конца строки, поэтому последний разделенный текст отсутствует. Чтобы решить вопрос можно либо на первом шаге добавить вспомогательный столбец радом с исходным текстом, где сцепить этот текст с разделителем. Таким образом у нас получится что на конце текста будет разделитель, значит наши формулы посчитают его позицию и все будет работать.
Либо второе решение — это на шаге 3, когда мы составляем формулу вычисления позиций разделителей дополнить ее. Сделать проверку, если ошибка, то указываем заведомо большое число, например 1000.
=ЕСЛИОШИБКА(НАЙТИ($B1;$A1;C1+1);1000)
Таким образом последний текст будет рассчитываться начиная от последней запятой до чуть меньше 1000 знаков, то есть до конца строки, что нам и требуется.
Оба варианта выложу для скачивания.
Скачать пример: Как разделить текст по столбцам с помощью функции_1.xlsx (исправлено: доп поле)
Скачать пример: Как разделить текст по столбцам с помощью функции_2.xlsx (исправлено: заведомо большое число)