Разделение текста на столбцы с помощью мастера распределения текста по столбцам
С помощью мастера распределения текста по столбцам текст, содержащийся в одной ячейке, можно разделить на несколько.
Проверьте, как это работает!
-
Выделите ячейку или столбец с текстом, который вы хотите разделить.
-
На вкладке Данные нажмите кнопку Текст по столбцам.
-
В мастере распределения текста по столбцам установите переключатель с разделителями и нажмите кнопку Далее.
-
Выберите разделители для своих данных. Например, запятую и пробел. Данные можно предварительно просмотреть в окне Образец разбора данных.
-
Нажмите кнопку Далее.
-
В поле Поместить в выберите место на листе, где должны отображаться разделенные данные.
-
Нажмите кнопку Готово.
См. также
Разделение текста по столбцам с помощью функций
Нужна дополнительная помощь?
Склеивание текста по условию
Про то, как можно быстро склеивать текст из нескольких ячеек в одну и, наоборот, разбирать длинную текстовую строку на составляющие я уже писал. Теперь же давайте рассмотрим близкую, но чуть более сложную задачу — как склеивать текст из нескольких ячеек при выполнении определенного заданного условия.
Допустим, что у нас имеется база данных по клиентам, где одному названию компании может соответствовать несколько разных email’ов ее сотрудников. Наша задача состоит в том, чтобы собрать все адреса по названиям компаний и сцепить их (через запятую или точку с запятой), чтобы сделать потом, например, почтовую рассылку по клиентам, т.е. получить на выходе что-то похожее на:
Другими словами, нам нужен инструмент, который будет склеивать (сцеплять) текст по условию — аналог функции СУММЕСЛИ (SUMIF), но для текста.
Способ 0. Формулой
Не очень изящный, зато самый простой способ. Можно написать несложную формулу, которая будет проверять отличается ли компания в очередной строке от предыдущей. Если не отличается, то приклеиваем через запятую очередной адрес. Если отличается, то «сбрасываем» накопленное, начиная заново:
Минусы такого подхода очевидны: из всех ячеек полученного дополнительного столбца нам нужны только последние по каждой компании (желтые). Если список большой, то чтобы их быстро отобрать придется добавить еще один столбец, использующий функцию ДЛСТР (LEN), проверяющий длину накопленных строк:
Теперь можно отфильтровать единички и скопировать нужные склейки адресов для дальнейшего использования.
Способ 1. Макрофункция склейки по одному условию
Если исходный список не отсортирован по компаниям, то приведенная выше простая формула не работает, но можно легко выкрутиться с помощью небольшой пользовательской функции на VBA. Откройте редактор Visual Basic нажатием на сочетание клавиш Alt+F11 или с помощью кнопки Visual Basic на вкладке Разработчик (Developer). В открывшемся окне вставьте новый пустой модуль через меню Insert — Module и скопируйте туда текст нашей функции:
Function MergeIf(TextRange As Range, SearchRange As Range, Condition As String) Dim Delimeter As String, i As Long Delimeter = ", " 'символы-разделители (можно заменить на пробел или ; и т.д.) 'если диапазоны проверки и склеивания не равны друг другу - выходим с ошибкой If SearchRange.Count <> TextRange.Count Then MergeIf = CVErr(xlErrRef) Exit Function End If 'проходим по все ячейкам, проверяем условие и собираем текст в переменную OutText For i = 1 To SearchRange.Cells.Count If SearchRange.Cells(i) Like Condition Then OutText = OutText & TextRange.Cells(i) & Delimeter Next i 'выводим результаты без последнего разделителя MergeIf = Left(OutText, Len(OutText) - Len(Delimeter)) End Function
Если теперь вернуться в Microsoft Excel, то в списке функций (кнопка fx в строке формул или вкладка Формулы — Вставить функцию) можно будет найти нашу функцию MergeIf в категории Определенные пользователем (User Defined). Аргументы у функции следующие:
Способ 2. Сцепить текст по неточному условию
Если заменить в 13-й строчке нашего макроса первый знак = на оператор приблизительного совпадения Like, то можно будет осуществлять склейку по неточному совпадению исходных данных с критерием отбора. Например, если название компании может быть записано в разных вариантах, то мы можем одной функцией проверить и собрать их все:
Поддерживаются стандартные спецсимволы подстановки:
- звездочка (*) — обозначает любое количество любых символов (в т.ч. и их отсутствие)
- вопросительный знак (?) — обозначает один любой символ
- решетка (#) — обозначает одну любую цифру (0-9)
По умолчанию оператор Like регистрочувствительный, т.е. понимает, например, «Орион» и «оРиОн» как разные компании. Чтобы не учитывать регистр можно добавить в самое начало модуля в редакторе Visual Basic строчку Option Compare Text, которая переключит Like в режим, когда он невосприимчив к регистру.
Таким образом можно составлять весьма сложные маски для проверки условий, например:
- ?1##??777RUS — выборка по всем автомобильным номерам 777 региона, начинающимся с 1
- ООО* — все компании, название которых начинается на ООО
- ##7## — все товары с пятизначным цифровым кодом, где третья цифра 7
- ????? — все названия из пяти букв и т.д.
Способ 3. Макрофункция склейки текста по двум условиям
В работе может встретиться задача, когда сцеплять текст нужно больше, чем по одному условию. Например представим, что в нашей предыдущей таблице добавился еще один столбец с городом и склеивание нужно проводить не только для заданной компании, но еще и для заданного города. В этом случае нашу функцию придется немного модернизировать, добавив к ней проверку еще одного диапазона:
Function MergeIfs(TextRange As Range, SearchRange1 As Range, Condition1 As String, SearchRange2 As Range, Condition2 As String) Dim Delimeter As String, i As Long Delimeter = ", " 'символы-разделители (можно заменить на пробел или ; и т.д.) 'если диапазоны проверки и склеивания не равны друг другу - выходим с ошибкой If SearchRange1.Count <> TextRange.Count Or SearchRange2.Count <> TextRange.Count Then MergeIfs = CVErr(xlErrRef) Exit Function End If 'проходим по все ячейкам, проверяем все условия и собираем текст в переменную OutText For i = 1 To SearchRange1.Cells.Count If SearchRange1.Cells(i) = Condition1 And SearchRange2.Cells(i) = Condition2 Then OutText = OutText & TextRange.Cells(i) & Delimeter End If Next i 'выводим результаты без последнего разделителя MergeIfs = Left(OutText, Len(OutText) - Len(Delimeter)) End Function
Применяться она будет совершенно аналогично — только аргументов теперь нужно указывать больше:
Способ 4. Группировка и склейка в Power Query
Решить проблему можно и без программирования на VBA, если использовать бесплатную надстройку Power Query. Для Excel 2010-2013 ее можно скачать здесь, а в Excel 2016 она уже встроена по умолчанию. Последовательность действий будет следующей:
Power Query не умеет работать с обычными таблицами, поэтому первым шагом превратим нашу таблицу в «умную». Для этого ее нужно выделить и нажать сочетание Ctrl+T или выбрать на вкладке Главная — Форматировать как таблицу (Home — Format as Table). На появившейся затем вкладке Конструктор (Design) можно задать имя таблицы (я оставил стандартное Таблица1):
Теперь загрузим нашу таблицу в надстройку Power Query. Для этого на вкладке Данные (если у вас Excel 2016) или на вкладке Power Query (если у вас Excel 2010-2013) жмем Из таблицы (Data — From Table):
В открывшемся окне редактора запросов выделяем щелчком по заголовку столбец Компания и сверху жмем кнопку Группировать (Group By). Вводим имя нового столбца и тип операции в группировке — Все строки (All Rows):
Жмем ОК и получаем для каждой компании мини-таблицу сгруппированных значений. Содержимое таблиц хорошо видно, если щелкать левой кнопкой мыши в белый фон ячеек (не в текст!) в получившемся столбце:
Теперь добавим еще один столбец, где с помощью функции склеим через запятую содержимое столбцов Адрес в каждой из мини-таблиц. Для этого на вкладке Добавить столбец жмем Пользовательский столбец (Add column — Custom column) и в появившемся окне вводим имя нового столбца и формулу сцепки на встроенном в Power Query языке М:
Обратите внимание, что все М-функции регистрочувствительные (в отличие от Excel). После нажатия на ОК получаем новый столбец со склееными адресами:
Осталось удалить ненужный уже столбец ТаблАдресов (правой кнопкой мыши по заголовку — Удалить столбец) и выгрузить результаты на лист, нажав на вкладке Главная — Закрыть и загрузить (Home — Close and load):
Важный нюанс: в отличие от предыдущих способов (функций), таблицы из Power Query не обновляются автоматически. Если в будущем произойдут какие-либо изменения в исходных данных, то нужно будет щелкнуть правой кнопкой в любое место таблицы результатов и выбрать команду Обновить (Refresh).
Ссылки по теме
- Как разделить длинную текстовую строку на части
- Несколько способов склеить текст из разных ячеек в одной
- Использование оператора Like для проверки текста по маске
На чтение 6 мин Просмотров 1.2к. Опубликовано 22.03.2022
Эта функция крайне удивительна и может послужить вам в разных ситуациях.
Самое простое её использование — разделить текст по нескольким столбикам, но её также можно использовать и для других целей.
Сегодня, я продемонстрирую несколько вариантов использования функции «Текст по столбцам».
Итак, начнём!
Содержание
- Как использовать функцию «Текст по столбцам»
- Деление строки
- Делим электронную почту на имя пользователя и домен
- Получаем главный адрес сайта из ссылки
- Приведение дат к общему формату
- Смена формата с текстового на числовой
- Убираем несколько первых символов значения каждой ячейки
- Преобразуем числа со знаком минус на конце в отрицательные числа
Как использовать функцию «Текст по столбцам»
Все очень просто — щелкните «Данные» -> «Текст по столбцам»
Далее откроется окно функции. Само выполнение состоит из 3 этапов. На каждом определяются некоторые параметры, которые индивидуальны в каждом случае, не переживайте, мы их рассмотрим.
Итак, давайте я покажу вам варианты использования.
Деление строки
Допустим, у нас есть такая табличка:
И, например, нам нужно разделить имя + фамилию и поместить их в разные столбцы.
Как это сделать?
Пошаговая инструкция:
- Выделите диапазон ячеек и откройте окно функции («Данные» -> «Текст по столбцам»);
- На первом этапе выбираем «с разделителями», так как мы будем делить строку по пробелу;
- На втором этапе, собственно, указываем что пробел в нашем случае будет разделителем строки;
- И на третьем этапе указываем куда поместить данные;
- Подтверждаем.
Результат:
Примечание:
- Таким образом, в нашем конкретном случае пробел являлся разделителем. Если же у вас будет строка не просто имя пробел фамилия, а будут, например, инициалы, нужно будет менять схему деления;
- Также не забывайте о том, что результат выполнения функции будет статическим, т.е. если в изначальных ячейках меняются значения — вам нужно будет заново использовать функцию.
Делим электронную почту на имя пользователя и домен
Итак, в этом случае, мы будем использовать другой разделитель.
Допустим, у нас есть следующая табличка:
Я просто придумал эти почты исходя из фильмов по супергероям 🙂
Разделителем, как вы могли догадаться, в этом случае будет знак «@».
Давайте разделим строки.
Как это сделать?
Пошаговая инструкция:
- Выделите диапазон ячеек и откройте окно функции («Данные» -> «Текст по столбцам»);
- На первом этапе выбираем «с разделителями», так как мы будем делить строку по знаку «@»;
- На втором этапе, в опции «другой» укажите наш разделитель;
- И укажите куда поместить данные после обработки;
- Подтвердите.
Результат:
Получаем главный адрес сайта из ссылки
Бывает такое, что из множества ссылок вам нужно «вытащить» только главные адреса сайтов.
Например, в случае https://yandex.ru/primer1 главный адрес будет yandex.ru.
Итак, допустим у нас есть следующая табличка:
Давайте разделим строки и получим главные адреса сайтов!
Как это сделать?
Пошаговая инструкция:
- Выделите диапазон ячеек и откройте окно функции («Данные» -> «Текст по столбцам»);
- На первом этапе выбираем «с разделителями»;
- На втором этапе выберите «другой» и укажите «/»;
- Укажите куда нужно поместить данные;
- Подтвердите.
Результат:
Далее можно очистить таблицу от ненужных столбцов и дубликатов.
Важная информация: в случае, если ваши ссылки не имеют https:// в начале — все будет еще проще, вы получите главный адрес сайта в первом столбике.
Приведение дат к общему формату
Часто бывает так, что при импорте дат из разных источников они имеют разный формат.
Но что делать если этих данных очень много, а необходимо сделать так, чтобы все даты были в одном, «общем», формате?
Допустим, у нас есть такая табличка:
Давайте приведем все даты к одному формату!
Как это сделать?
Пошаговая инструкция:
- Выделите диапазон ячеек и откройте окно функции («Данные» -> «Текст по столбцам»);
- На первом этапе выбираем «с разделителями»;
- На втором этапе уберите все галочки;
- На третьем этапе выберите опцию «дата — ДМГ» и укажите куда поместить обработанные данные;
- Подтвердите.
Готово! Таким образом даты были отформатированы.
Смена формата с текстового на числовой
Бывают случаи, когда вы получаете от кого-то табличку, но не можете быстро произвести расчеты, так как некоторые числа в ней имеют текстовый формат.
Такое может быть по нескольким причинам:
- Перед числом есть знак “ ‘ “;
- Эти числа выведны благодаря некоторым функциям, которые присваивают им текстовый формат.
Допустим, у нас есть такая табличка:
Давайте переведем их в формат «Числовой».
Как это сделать?
Пошаговая инструкция:
- Выделите диапазон ячеек и откройте окно функции («Данные» -> «Текст по столбцам»);
- На первом этапе выбираем «с разделителями»;
- На втором этапе уберите все галочки;
- нужная опция «общий»;
- Подтвердите.
Итак, теперь все числа автоматически отформатируются как «общий» формат и их можно использовать при вычислениях.
Убираем несколько первых символов значения каждой ячейки
При работе в Excel вы можете столкнуться и с такой задачей.
Допустим, у нас есть такая табличка:
Давайте удалим первые пять букв с начала каждой строки.
Как это сделать?
Пошаговая инструкция:
- Выделите диапазон ячеек и откройте окно функции («Данные» -> «Текст по столбцам»);
- На первом этапе выбираем «фиксированной ширины»;
- На втором этапе — поставьте указатель на нужное количество символов (в нашем случае пять);
- Укажите куда нужно поместить данные;
- Подтвердите.
Результат:
Важная информация: можно использовать сразу несколько указателей, в таком случае строка будет разделена на большее количество частей.
Преобразуем числа со знаком минус на конце в отрицательные числа
Такое встречается довольно редко, но все равно будет полезно знать, что делать в такой ситуации.
Допустим, у нас есть такая табличка:
Давайте обработаем эти числа.
Как это сделать?
Пошаговая инструкция:
- Выделите диапазон ячеек и откройте окно функции («Данные» -> «Текст по столбцам»);
- На первом этапе выбираем «с разделителями»;
- На втором этапе уберите все галочки;
- На третьем этапе щелкните на «Подробнее…»;
- В открывшемся окне поставьте галочку на опции указанной на картинке ниже;
- Укажите куда поместить обработанные данные;
- Подтвердите.
Готово, теперь числа будут отрицательными. Можете использовать их в формулах.
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: «Текст по столбцам», «Мгновенное заполнение» и формулы
Смотрите такжеФункция СТОЛБЕЦ вернула номер клавиш CTRL+1. будет автоматически добавлять строки, где зачем-то функция, выбранная из, чтобы открыть диалоговое возвращают #VALUE! Ошибка. ниже. номера без изменения элементов текстовой строки указываем: какой текстSEARCH ввести их вЗапустите инструмент слова, заключённые вArrival DateВ этой статье Вы крайнего левого столбца
Перейдите на вкладку «Число». пробел перед заглавными подряд идут несколько раскрывающегося списка «Итог», окно Сумма будет игнорироватьВнимательно посмотрите на использование значения. по различным столбцам. взять, позицию символа,(ПОИСК) или новый столбец. Думаю,Text to Columns кавычки (например, «California,.Если кто-то забыл, я найдёте несколько способов, (А) в указанномВ секции «Числовые форматы:» буквами. Откройте редактор разделителей (несколько пробелов, автоматически вводится как
- Формат ячеек текстовых значений и функции
- Выполните следующие действия.Однако, если исходные текстовые
- с которого нужноFIND Вы лучше поймёте
- (Текст по столбцам), USA»), будут помещены напомню быстрый способ
Разбиваем ячейки в Excel при помощи инструмента «Текст по столбцам»
как разбить ячейки диапазоне. Если выделить выберите категорию «(все Visual Basic как например), то флажок промежуточный итог. Дополнительные, затем щелкните вкладку присвойте сумму толькотекст
Выделите ячейки, формат которых строки имеют разный начать, и сколько(НАЙТИ) – это о чём я как мы это в одну ячейку. вставить сразу несколько или целые столбцы
- формулу в строке форматы)».
- в предыдущем способе,Считать последовательные разделители одним
Разбиваем текстовые данные с разделителями по столбцам в Excel
сведения см. вЧисло численные значения.во втором примере требуется изменить. формат, например, если символов извлечь. абсолютно идентичные функции, говорю из следующего делали в предыдущем
Если же в столбцов на лист в Excel 2010 формул и нажатьВведите в поле «Тип:» вставьте туда новый (Treat consecutive delimiters статье Данные итогови выберите нужныйОшибка #ССЫЛКА! при удалении на рисунке. ПриНа вкладке в некоторых ФИОВы можете использовать аналогичные которые выполняют поиск примера.
- примере. На первом качестве ограничителя строк Excel. Для этого и 2013. Приведённые кнопку F9, то свой пользовательский код модуль и скопируйте as one) в таблице Excel. формат, указав при строк или столбцов присоединении к числаГлавная отсутствует отчество, то формулы, чтобы разбить позиции определенной текстовойПервым делом, убедитесь, что шаге мастера выберите установить значение выберите столбец примеры и скриншоты программа выдаст все формата и в в него кодзаставит Excel восприниматьЧтобы разделить содержимое одной этом нужное количествоПри удалении строки или в строку текстав группе у инструмента Текст-по-столбцам могут имена с суффиксами строки в заданной инструмент «Мгновенное заполнение» параметрNoneStatus иллюстрируют работу с номера столбцов заданного секции «Образец» наблюдайте этой функции: их как один. ячейки Excel на десятичных знаков. столбца формулы не с помощью операторчисло
сложности с корректным в конце: ячейке. Синтаксис формулы: включен. Вы найдётеFixed width(Нет), тогда слово
, кликнув по его инструментами «Текст по диапазона. как он будетFunction CutWords(Txt AsВыпадающий список отдельные столбцы, выМне нужно добавить, вычесть, обновляются: из них объединения, используйте функциющелкните стрелку. отнесением значений вA=SEARCH(find_text,within_text,[start_num]) этот параметр на
- (Фиксированной ширины) и «California» будет помещено заголовку, и, удерживая столбцам» и «МгновенноеНо при нажатии кнопки распознан в Excel Range) As StringОграничитель строк (Text Qualifier) можете использовать умножить или поделить
- не исключаются удаленныетекстВ списке столбцы. Можно наблюдатьB=ПОИСК(искомый_текст;текст_для_поиска;[нач_позиция]) вкладке нажмите в один столбец, нажатой левую кнопку заполнение», кроме этого Enter в ячейке и отображен в Dim Out$ Ifнужен, чтобы текстМастер распределения текста по числа. значения, поэтому возвращается, чтобы управлятькатегории
- такую картину:CВ качестве аргументов ВыFile
- Next а «USA» – мыши, протащите указатель Вы увидите подборку с формулой отобразится ячейке. Len(Txt) = 0 заключенный в кавычки столбцамПросмотрите серию учебных ошибка #ССЫЛКА!. Функция способом отображения чисел.выберите категорию, напримерТ.е. фамилия будет помещенаD должны указать: что(Файл) >(Далее). в другой. вправо, чтобы выделить формул для разделения только номер крайнего Then Exit Function (например, название компании. Например, когда нужно видео: Основные математические СУММ, в свою В формуле используется
- настраиваемые в столбец с1 нужно найти, гдеOptionsВ разделеВ нижней части диалогового нужное количество столбцов имён, текстовых и левого столбца.Более упрощенным альтернативным решением Out = Mid(Txt, «Иванов, Манн и разделить список полных операции в Excel очередь, обновляется автоматически. базовое значение изи нажмите кнопку встроенный отчествами.Полное имя нужно искать, а(Параметры) >Data preview окна находится область (сколько хотите вставить). числовых значений. ЭтотЧтобы на листе появились для данной задачи 1, 1) For Фарбер») не делился имен на отдельные
или Использование MicrosoftФормулы не обновляют ссылки ячейки, на который формат, который похожРассмотрим вариант разделения ФИОИмя также позицию символа,Advanced(Образец разбора данных)Data preview Затем кликните правой урок поможет Вам
- номера всех столбцов может послужить функция i = 2 по запятой столбцы с именами Excel в качестве при вставке строк указывает ссылка (в на то, которое по столбцам сФамилия с которого следует(Дополнительно) > настройте ширину столбцов.(Образец разбора данных). кнопкой мыши по выбрать наилучший метод диапазона, который является РУБЛЬ, которая преобразует To Len(Txt) Ifвнутри названия. и фамилиями. калькулятора. или столбцов данном примере.4) — вы хотите. помощью формул. ПередСуффикс начать поиск. ВAutomatically Flash Fill Как видно на Прежде чем нажать выделенной области и разбиения данных в аргументом функции СТОЛБЕЦ, любое число в Mid(Txt, i, 1)И, наконец, на третьем
Выделите диапазон с полнымиКак показать больше илиЕсли вставить строку или не форматированное значение,В поле использованием формул исходную2 нашем примере(Автоматически выполнять мгновенное рисунке ниже, крайNext в контекстном меню Excel. нужно использовать формулу текст и отображает Like «[a-zа-я]» And шаге для каждого именами. меньше десятичных разрядов? столбец, формула не отображаемое в ячейкеТип строку нужно пропуститьRobert Furlan Jr.SEARCH(» «,A2,1) заполнение).
столбца символизирует вертикальная(Далее) будет разумным выберите командуГоворя в общем, необходимость массива. Выделяем такое его в денежном Mid(Txt, i + из получившихся столбцов,На вкладкеМожно изменить формат будут обновляться для (40%). Чтобы восстановитьизмените коды числовых через функцию СЖПРОБЕЛЫ().
- RobertилиТеперь давайте посмотрим, как
Разбиваем текст фиксированной ширины по нескольким столбцам
линия, и чтобы пролистать это полеInsert разбить ячейки в количество ячеек, сколько формате: 1, 1) Like
выделяя их предварительноData номера. Выделите ячейку включения добавленная строка, форматов чисел используйте форматов в формате,Определяем Имя (см. файл
FurlanПОИСК(» «;A2;1) можно автоматически разбить задать край следующего
- и убедиться, что(Вставить). Excel может возникнуть элементов входит вДанное решение весьма ограничено «[A-ZА-Я]» Then Out в окне Мастера,(Данные) выберите команду или диапазон в где функция сумм функцию который вы хотите примера)
- Jr.говорит о том, данные по ячейкам. столбца, просто кликните Excel правильно распределилРезультат будет примерно таким, в двух случаях: горизонтальный диапазон. Вводим по функциональности и = Out & необходимо выбрать формат:Text to Columns вопросе и для автоматически обновляется (притекст создать.=ЛЕВСИМВ(B5;ПОИСК(» «;B5;1)-1)Извлекаем имя: что мы хотим Итак, Вы включили в нужном месте. все данные по что Вы видите Во-первых, при импорте формулу и нажимаем подходит только для Mid(Txt, i, 1)общий(Текст по столбцам). открытия диалогового окна
- условии, что вы.Для отображения текста иФормула ищет первый пробел=LEFT(A2,FIND(» «,A2,1)-1) найти символ пробела инструмент «Мгновенное заполнение», Двойной щелчок по столбцам.
Разбиваем объединённые ячейки в Excel
на рисунке ниже информации из какой-либо сочетание кнопок Ctrl тех случаев если & » «- оставит данныеПоявится диалоговое окноФормат ячеек не вне диапазона,Функция СЦЕПИТЬ чисел в ячейке, и все, что=ЛЕВСИМВ(A2;НАЙТИ(» «;A2;1)-1) в ячейке и начинаете вводить вертикальной линии удалитОсталось сделать всего две (новые столбцы вставлены внешней базы данных + Shift +
соединяемое число с Else Out = как есть -Convert Text to Columns, а затем указанных в формуле).СЦЕП заключите текст в левее его относитИзвлекаем фамилию:A2 с клавиатуры данные, край столбца, а вещи – выбрать слева от выделенных
Разделяем данные на несколько столбцов в Excel 2013 при помощи мгновенного заполнения
или с веб-страницы. Enter. текстом является денежно Out & Mid(Txt, подходит в большинстве Wizard откройте Это важно, особенноФункция ТЕКСТ двойные кавычки (» к имени.
=MID(A2,FIND(» «,A2,1)+1,FIND(» «,A2,FIND(» «,A2,1)+1)-(FIND(«и начнём поиск которые нужно поместить если Вам нужно формат данных и столбцов): При таком импортеАргумент – ссылка на суммой в валюте i, 1) End случаев(Мастер распределения текставкладку число если предполагается, чтоФункция TEXTJOIN «), или чиселОпределяем Отчество: «,A2,1)+1)) с первого символа. в отдельные ячейки.
переместить границу столбца указать, куда поместитьПримечание: все записи копируются горизонтальный массив: рубли (или той If Next iдата по столбцам).и выберите формат, формула для обновленияПримечание:
с помощью обратной=ЕСЛИ(ЕОШИБКА(ПОИСК(» «;=ПСТР(A2;НАЙТИ(» «;A2;1)+1;НАЙТИ(» «;A2;НАЙТИ(» «;A2;1)+1)-(НАЙТИ(«Замечание: По мере ввода в другое место, разделённые ячейки.В разделеЕсли у Вас в один столбец,Формула вернула номера столбцов которая является по CutWords = Out- необходимо выбиратьОтметьте
который вы хотите и это не Мы стараемся как можно косой черты ()ПРАВСИМВ(B5; ДЛСТР(B5) - «;A2;1)+1))Если поиск начинается Excel будет пытаться просто перетащите вертикальнуюColumn data format нет столбцов, следующих а нужно, чтобы в виде горизонтального умолчанию и указана End Function для столбцов сDelimited сделать так указать так, как он оперативнее обеспечивать вас
в начале. ПОИСК(» «; B5;Извлекаем суффикс: с первого символа, распознать шаблон в линию мышью. На(Формат данных столбца) непосредственно за тем, они были помещены массива. в региональных стандартахТеперь можно использовать эту датами, причем формат(С разделителями) и количество десятичных разрядов, будет закрыто с
актуальными справочными материаламиПримечание: 1)); 1)) ==RIGHT(A2,LEN(A2)-FIND(» «,A2,FIND(» «,A2,1)+1)) Вы можете вообще вводимых значениях, и самом деле, все Вы можете выбрать что Вы хотите в разных столбцах.В качестве аргумента нельзя панели управления Windows). функцию на листе даты (день-месяц-год, месяц-день-год
Как в Excel разбивать ячейки при помощи формул
нажмите кнопку которые вы хотите неполные результаты, которые на вашем языке.изменение встроенного формата ИСТИНА; «»;=ПРАВСИМВ(A2;ДЛСТР(A2)-НАЙТИ(» «;A2;НАЙТИ(» «;A2;1)+1)) пропустить аргумент как только он эти инструкции подробно формат данных отдельно разбить, то необходимость Во-вторых, при разбиении применять ссылки наФункция РУБЛЬ требует для и привести слипшийся и т.д.) уточняетсяNext использовать не может обнаружить. Эта страница переведена не приводит кЛЕВСИМВ(ПРАВСИМВ(B5;ДЛСТР(B5) — ПОИСК(«А вот формулы, позволяющиеstart_num его распознает, данные расписаны в верхней для каждого столбца, в этом шаге
Пример 1
уже существующей таблицы, несколько областей. заполнения только 2 текст в нормальный в выпадающем списке(Далее).сочетание клавиш Ctrl +Функция СУММ — отдельные ячейки автоматически, поэтому ее
удалению формат. «; B5; 1)); разбить имена с(нач_позиция) в формуле
- автоматически будут вставлены части диалогового окна
в которые будут
отпадает и его
- чтобы получить возможность
аргумента:
вид:
текстовыйУберите галочки напротив всех 1 или диапазоны
текст может содержатьДля отображенияПОИСК(» «; ПРАВСИМВ(B5; фамилией, стоящей впереди и упростить её в остальные ячейки.Так как каждый ID помещены разделённые данные. можно пропустить. Главное
качественнее настроить работу
Формула с использованием функции
Число – ссылка наДеление текста при помощи- этот формат пунктов списка, кроме.Используя формулу такого вида: неточности и грамматическиеИспользуйте код ДЛСТР(B5) — ПОИСК(« и отделенной от до такого вида: Чтобы понять, как товара содержит 9 По умолчанию для не упустите, что фильтра, сортировку или выдает массив последовательных числовое значение (обязательный
готовой функции надстройки нужен, по большомуCommaКак добавить или вычесть=СУММ(A1;A2;A3;B1;B2;B3) ошибки. Для насПринцип действия «; B5; 1)); имени запятой, и
=LEFT(A2,SEARCH(" ",A2)-1)
это работает, посмотрите
символов, устанавливаем линию всех столбцов задан пустых столбцов должно для более детального чисел. Эту особенность аргумент для заполнения). PLEX счету, не для
(Запятая) и
значения времени?
— Одинаково ошибки ошибкам важно, чтобы эта12 как Продукт №12 1) — 1)) отчеством, находящимся в=ЛЕВСИМВ(A2;ПОИСК(» «;A2)-1) на рисунок ниже: границы столбца на формат быть не меньше,
анализа.
можно применить для
[Число_знаков] – Количество символовЧто такое макросы, куда столбцов с ФИО,SpaceЕсть несколько способов при вставке или
статья была вам
"Продукт № " 0
Формула определяет, есть ли конце:LEFTКак видите, я ввёл
это значение, как
General
чем количество столбцов,Разбиваем ячейки при помощи решения других задач. после запятой. вставлять код макроса, названием города или(Пробел). добавить или вычесть
Пример 2
удалении строк в полезна. Просим васТекст, заключенный в кавычки Отчество, и еслиA(ЛЕВСИМВ) и
только пару имён | показано на рисунке | (Общий). Мы оставим | на которое вы | |
инструмента «Текст по | Например, рассчитаем значение выражения | Если в исходном столбце | как их использовать | компании, а для |
Нажмите | значения времени. Например, | диапазоне, на который | уделить пару секунд | (включая пробел) отображается |
- находит, то отображает
B
RIGHT
- в столбец
выше. его без изменений
хотите разделить данные. столбцам»
- 1 + ½
содержаться значения в
Часто в отчетах Excel
столбцов с числовымиFinish чтобы получить разницу указывает ссылка по и сообщить, помогла в ячейке перед
его. Фактически она
C
(ПРАВСИМВ) – возвращаетBНа следующем шаге выберите для первых трёхВыделите столбец, который требуетсяКак разбить объединённые ячейки
Пример 3
+ 1/3. Используем ячейках с разным необходимо объединять текст данными, которые Excel
(Готово). | между 8:00 и | тем же причинам. | ли она вам, | |
числом. В этом | определяет наличие второго | D | левую или правую | , и «Мгновенное заполнение» |
формат данных и | столбцов, а для | разбить. Затем откройте | в Excel | формулу: =СУММПРОИЗВ(1/СТОЛБЕЦ(A2:C2)). |
- форматом валют тогда
с числами. Проблема
обязательно должен воспринять
- Примечание:
12:00 для вычисления Намного лучше использовать
с помощью кнопок коде "0" обозначает
- пробела.
1
часть текста из
Пример 4
автоматически заполнило остальные укажите ячейки, куда четвёртого столбца установим вкладкуРазделяем данные в ExcelВыполним более сложные манипуляции нам потребуется распознать
заключается в том, | как текст. Например, | В этом примере | заработной платы, можно | |
отдельные диапазоны, такие | внизу страницы. Для | число, которое содержится | Определяем Фамилию: | Полное имя |
заданной ячейки соответственно. | ячейки именами из | поместить результат, как | формат | Data |
- 2013 при помощи
с числовым рядом: все форматы в
что вовремя объединения для столбца с
- в качестве разделителей
воспользоваться формулой
как:
- удобства также приводим
в ячейке (например,
=ПРАВСИМВ(B5;ДЛСТР(B5)-ДЛСТР(C5)-ДЛСТР(D5)-ЕСЛИ(D5="";1;2))
Пример 5
Имя Синтаксис формулы: столбца это было сделаноData(Данные) > инструмента «Мгновенное заполнение» найдем сумму значений каждой ячейке. По текста с числом номерами банковских счетов выступают запятая и=(«12:00»-«8:00»)*24
=СУММ(A1:A3;B1:B3) | ссылку на оригинал | 12). | Формула основывается на результатах | |
Отчество | =LEFT(text,[num_chars]) | A | в предыдущем примере, | (Дата), что логично, |
Data Tools | Формулы для разбиения столбцов | от 1 до | умолчанию в Excel | нельзя сохранить числовой |
- клиентов, где в
пробел. У вас
, т. е. отнять
- Такая формула будет обновляться
(на английском языке).
12:00 как 12:00 центральноевропейское
- вычисления двух предыдущих
Фамилия
=ЛЕВСИМВ(текст;[количество_знаков])
. Если вы довольны а затем нажмите ведь в этот(Работа с данными) (имен и других 1/n^3, где n
нет стандартной функции, формат данных ячейки.
противном случае произойдет
могут быть другие
время начала от
office-guru.ru
Разнесение в MS EXCEL текстовых строк по столбцам
при добавлении иФункция время формул и выводит
2В качестве аргументов указываем: результатом, просто нажмитеFinish столбец попадут даты > текстовых данных) = 6. Формула которая умеет распознавать
Число в ячейке округление до 15 разделители. Экспериментируйте, снимая времени окончания. Обратите удалении строк.суммч:мм «центральноевропейское время» всю исходную строкуWhite, David Mark какой текст взять
Enter(Готово). прибытия.Чтобы изменить формат
Text to ColumnsИнструмент « расчета: =СУММПРОИЗВ(1/СТОЛБЕЦ(A9:F9)^3). и возвращать форматы отформатировано как текст. знаков, т.к. Excel
и проставляя галочки внимание, что Excel
Проблема
, одна изТекущее время показано в за исключением ИмениDavid
и сколько символов
, и весь столбец
Если Вы объединили несколько данных для каждого(Текст по столбцам).Текст по столбцам
Чаще всего данную функцию ячеек. Поэтому напишем
Рассмотрим, например, отчет, который будет обрабатывать номер напротив различных разделителей. вычисляет значения времени
Возможная причина математические и тригонометрические формате даты/времени ч:мм и Отчества.Mark извлечь. В следующем
будет заполнен именами.
ячеек на листе
конкретного столбца, выделитеОткроется диалоговое окно» действительно очень удобен, используют совместно с свою пользовательскую макрофункцию изображен ниже на
счета как число: Вам всегда доступен как часть дня,Функция СУММ отображает символы функции, добавляет значения. AM/PM, а текстЭтот подход не являетсяWhite примере формула будет Очень умный инструмент, Excel и теперь его, кликнув по
excel2.ru
Объединение текста и чисел
Convert Text to Columns когда нужно разделить функцией ВПР. Задача и добавим ее рисунке. Допустим, например,Кнопка предварительный просмотр результата поэтому чтобы получить ;## вместо результата. Вы можете добавить «московское время» отображается универсальным для разделенияИзвлекаем имя: извлекать левую часть не правда ли? хотите вновь разбить нему в области wizard данные из одного первой функции – в нашу формулу. необходимо в отчете
Подробнее (Advanced) разделения данных. суммарное количество часов,Установите флажок ширину столбцов. отдельные значения, ссылки после времени. строк по столбцам.=MID(A2,SEARCH(» «,A2,1)+1,FIND(» «,A2,FIND(» «,A2,1)+1)-(FIND(« текста из ячейкиЕсли «Мгновенное заполнение» включено, их по отдельнымData preview(Мастер распределения текста столбца по нескольким
Используйте числовой формат для отображения текста до или после числа в ячейке
указать номер столбца Макрофункция будет называться поместить список магазиновпозволяет помочь ExcelРезультат: необходимо умножить результат ; обычно означает, на ячейки или-12 как -12р. дефицит Он работает, если «,A2,1)+1))A2 но не предлагает столбцам, откройте вкладку(Образец разбора данных), по столбцам). На
в Excel 2013, возвращаемых значений. Такое ВЗЯТЬФОРМАТ (или можете и их результаты правильно распознать символы-разделителиУрок подготовлен для Вас на 24. В что столбец слишком
диапазоны или одновременно
-
и 12 как строка содержит только
-
=ПСТР(A2;ПОИСК(» «;A2;1)+1;НАЙТИ(» «;A2;НАЙТИ(» «;A2;1)+1)-(НАЙТИ(«вплоть до позиции никаких вариантов, которыеHome а затем установите
-
первом шаге мастера 2010, 2007 или совмещение удобно при назвать ее по-своему). продаж в одной в тексте, если командой сайта office-guru.ru первом примере используется
-
мала для отображения все три. 12р. избыток 3 или 2 «;A2;1)+1)) первого найденного пробела.
соответствуют определённому шаблону,(Главная) и в желаемый формат в Вы выбираете формат 2003. работе с огромными Исходный VBA-код макрофункции ячейке:
они отличаются отИсточник: http://www.excel-easy.com/examples/text-to-columns.html формула результата формулы.
Пример |
0.00р. «избыток»;-0.00р. «дефицит» |
составляющих. В случае |
Извлекаем отчество: |
=LEFT(A2,SEARCH(» «,A2)-1) |
Вы можете запустить группе команд разделе данных. Так как«Текст по столбцам» позволяет таблицами. Например, пользователь выглядит так:Обратите внимание, что каждое |
стандартных, заданных вПеревел: Антон Андронов |
=((B2-A2)+(D2-C2))*24 |
Функция СУММ отображает саму=СУММ(A2:A10)Это значение отображается в со строкой из=RIGHT(A2,LEN(A2)- FIND(» «,A2,FIND(» «,A2,1)+1)) |
=ЛЕВСИМВ(A2;ПОИСК(» «;A2)-1) этот инструмент вручнуюAlignment |
Column data format |
записи разделены пробелами разбивать значения ячеек, помещает возвращаемые данныеPublic Function ВЗЯТЬФОРМАТ(val As число после объединения региональных настройках.Автор: Антон Андроновдля вычисления количества формулу в виде=СУММ(A2:A10;C2:C10) формате «Денежный». Кроме |
Объединение текста и чисел из разных ячеек в одной ячейке с помощью формулы
4-х слов (например,=ПРАВСИМВ(A2;ДЛСТР(A2)-НАЙТИ(» «;A2;НАЙТИ(» «;A2;1)+1))LEN на вкладке(Выравнивание) нажмите маленькую(Формат данных столбца). и запятыми, мы отделённые разделителями, или в табличку с Range) As String
с текстом (вЕсли хочется, чтобы такоеИтак, имеем столбец с часов от начала текста, а неСУММ(число1;[число2];…)
того, если в Василий Петрович Лукьяненко
-
Извлекаем фамилию:(ДЛСТР) – считаетData чёрную стрелку рядомНа этом же шаге выбираем формат выделять данные фиксированной такой же, какDim money As столбце D) не деление производилось автоматически данными, которые надо до окончания работы результат.Имя аргумента ячейке находится положительное мл.) будет получен=LEFT(A2,FIND(» «,A2,1)-2)
-
длину строки, то(Данные) > с кнопкой мастера Вы можетеDelimited ширины (когда все в исходной таблице, String сохраняет свой денежный без участия пользователя, разделить на несколько с учетом обеденногоПроверьте, что ячейка неОписание значение (или 0),
Примеры
неудовлетворительный результат.=ЛЕВСИМВ(A2;НАЙТИ(» «;A2;1)-2)
есть количество символовFlash FillMerge & Center выбрать, в какой(С разделителями). Вариант значения содержат определённое последовательностью столбцов. Причемmoney = WorksheetFunction.Text(val, формат, который определен то придется использовать отдельных столбцов. Самые перерыва (всего 8,5 отформатировано как текст.число1 после него будетПримечание:Как Вы понимаете, эти в заданной ячейке.(Мгновенное заполнение) или(Объединить и поместить столбец поместить разделённыеFixed width количество символов). Давайте обе таблицы достаточно
См. также
-
val.NumberFormat)
-
в исходной ячейке
-
небольшую функцию на
-
распространенные жизненные примеры:
support.office.com
Функция СУММ
часов). Выделите ячейку или (обязательный) показан текст «(излишек)»,Мы стараемся как формулы работают не Синтаксис формулы: нажав сочетание клавиш в центре). Далее данные. Для этого(Фиксированной ширины) будет рассмотрим эти варианты широкие.ВЗЯТЬФОРМАТ = Replace(money, (столбца B). VBA, вставленную вФИО в одном столбцеЕсли вам нужно просто диапазон в вопросеПервое число для сложения. а если ячейка
можно оперативнее обеспечивать только для разделения=LEN(text)Ctrl+E из выпадающего списка кликните по иконке рассмотрен чуть позже. подробнее:Напомним, что ВПР ищет Application.ThousandsSeparator, » «)
Чтобы решить данную задачу,
-
книгу. Для этого
-
(а надо -
Синтаксис
добавить часы и
и используйте |
Это может быть |
содержит отрицательное значение, вас актуальными справочными |
имён в Excel.=ДЛСТР(текст). выберите выбора диапазона (в Если все готово, |
Как разбить текст с заданное значение в |
End Function необходимо поместить ссылку открываем редактор Visual |
Рекомендации по использованию функции СУММ
в трех отдельных, минуты, вы можетесочетание клавиш Ctrl + число 4, ссылка после него будет материалами на вашем Вы можете использовать
Следующая формула считает количествоСуществуют формулы, которые могутUnmerge Cells терминах Microsoft эта жмите разделителями по столбцам крайнем левом столбце
-
Скопируйте его в модуль к ячейкам с Basic: чтобы удобнее было
-
просто вычислить сумму,
1 на ячейку, например показан текст «(недостаток)». языке. Эта страница их для разбиения символов в ячейке быть очень полезны,(Отменить объединение ячеек). иконка называетсяNextКак выделить текстовые данные диапазона и возвращает («Insert»-«Module») VBA-редактора (ALT+F11).
-
-
числами денежных суммв Excel 2003 и сортировать и фильтровать)
не умножая еедля открытия диалогового
-
B6, или диапазонПри объединении чисел и переведена автоматически, поэтому
любых данных изA2 когда возникает необходимостьТаким образом объединение ячеекСвернуть диалоговое окно(Далее), чтобы продолжить. фиксированной величины значение из другого При необходимости прочитайте: в функцию ТЕКСТ.
-
-
старше — менюполное описание товара в
на 24. Во окна ячеек, например B2:B8. текста в ячейке, ее текст может одного столбца по: разбить ячейки или
-
будет отменено, но) справа от поляНа следующем шаге определяем
Предположим, есть список участников, столбца в тойПримеры как создать пользовательскую Благодаря ей можноСервис — Макрос - одном столбце (а втором примере используетсяФормат ячеекчисло2–255 текст и больше содержать неточности и нескольким. Например, следующие=LEN(A2) столбцы с данными удовольствие от результатаDestination разделители, которые содержатся
-
приглашённых на конференцию же строке. Говоря
функцию в Excel.
-
форматировать числовые значения
Редактор Visual Basic надо — отдельный формула, затем нажмите (необязательный) не функция числа грамматические ошибки. Для формулы Вы можете=ДЛСТР(A2)
-
в Excel. На
будет испорчено тем,(Поместить в) и в данных, и
-
Распространенные неполадки
или какое-то другое |
техническим языком, ВПР |
Теперь изменяем нашу формулу прямо в текстовой |
(Tools — Macro - столбец под фирму-изготовителя,=СУММ(A6:C6) кнопкуЭто второе число для |
становятся как числовые нас важно, чтобы использовать, чтобы разбитьЕсли имена в Вашей |
самом деле, следующих что все данные выберите крайний левый ограничитель строк. мероприятие. На рисунке находит в базе и получаем максимально строке. Формула изображена Visual Basic Editor) отдельный — под, так как здесьномер вкладку сложения. Можно указать значения. Это означает, эта статья была текстовые данные, разделённые таблице содержат отчества шести функций будет останутся в левом столбец из тех,Настраиваем разделители ниже видно, что данных уникальный идентификатор |
эффективный результат: |
на рисунке:в Excel 2007 и модель для построения, нужно просто посчитатьи выберите нужный до 255 чисел. что больше не вам полезна. Просим запятыми: или суффиксы, то достаточно в большинстве столбце. Думаю, Вы |
в которые Вы |
. Если данные разделены в столбце и извлекает связаннуюБлагодаря функции ВЗЯТЬФОРМАТ написаннойФормула позволяет решить данную новее — вкладка |
например, сводной таблицы) общее количество часов |
формат. Если ячейкаВ этом разделе рассматриваются может выполнять любые вас уделить пару |
A потребуются немного более случаев – |
догадались, что нужно хотите поместить разделённые одним или несколькимиParticipant с ним информацию. на VBA-макросе мы задачу если речьРазработчик — Редактор Visualвесь адрес в одном и минут, затраченных в текстовом формате некоторые рекомендации по математических операций на секунд и сообщить,B сложные формулы с |
Вопросы и ответы
-
LEFT снова использовать функцию данные. К сожалению, разделителями, то нужно(Участник) перечислены именаАргументы функции ВПР: искомое просто берем значение идет только об Basic (Developer -
-
столбце (а надо на задания (5:36, и не изменяются работе с функцией них. помогла ли онаC использованием функции(ЛЕВСИМВ),Text to Columns невозможно импортировать разделённые выбрать все подходящие участников, государство и значение, массив данных и формат из одном типе валюты. Visual Basic Editor) — отдельно индекс, т. е. 5 после изменения формата,
-
сумм. Большая частьДля объединения чисел с вам, с помощьюDMIDMID(Текст по столбцам), данные на другой варианты в разделе ожидаемая дата прибытия: для анализа, номер исходной ячейки и Когда валют будетили сочетание клавиш отдельно — город, часов 36 минут). при необходимости можно этого можно применять помощью функции СЦЕПИТЬ кнопок внизу страницы.1(ПСТР).(ПСТР), чтобы разбить данные лист или вDНеобходимо разбить этот текст столбца, интервальный просмотр подставляем его как несколько придется использовать
Alt+F11 отдельно — улицаДополнительные сведения см. в использовать к работе с или функции ОБЪЕДИНЕНИЯ, Для удобства такжеПолное обозначениеВот такие формулы нужноRIGHT из одного столбца другую рабочую книгу,elimiters на отдельные столбцы, (точный или приблизительный текстовую строку. Так
в формуле макрофункциюВставляем новый модуль (меню и дом)
-
статье Сложение иF2 > ввод других функций. текст и TEXTJOIN приводим ссылку наШтат использовать, когда имена,(ПРАВСИМВ), на два или попытка сделать это(Символом-разделителем является) или чтобы таблица имела поиск). Сам номер наша формула с – об этомInsert — Moduleи т.д. вычитание значений времени
принудительно формата дляМетод =1+2 или =A+B. и амперсанд (&) оригинал (на английскомАббревиатура
-
которые требуется разбить,FIND более столбцов. приведёт к сообщению ввести свой вариант следующие данные (слева можно задать с пользовательской макрофункцией ВЗЯТЬФОРМАТ речь пойдет ниже.) и копируем тудаПоехали..Как получить разницу между изменения. Вы можете ввести оператор. языке) .Столица содержат отчество или(НАЙТИ),Если Вы уже обновились об ошибке выбора
support.office.com
Разделение текста по столбцам в Excel
разделителя в поле направо): помощью такой формулы: автоматически определяет валюту А пока разберемся текст вот этойВыделите ячейки, которые будем датами?Функция СУММ не обновляется. =1+2+3 или =A1+B1+C2Примечания:
- Предположим, что нужно создать2
- только один инициалSEARCH до Excel 2013, конечной ссылки.Other
First Name =ВПР(8;A1:C10;СТОЛБЕЦ(C1);ИСТИНА). для каждой суммы с этой формулой. пользовательской функции:
- делить и выберитеС помощью значениямиУбедитесь, что и получить абсолютно предложение грамматически правильные
- Alabama, AL, Montgomery отчества посередине.(ПОИСК) и то можете воспользоватьсяСовет:(Другой).В нашем примере
- (Имя),При работе с широкими в исходных значениях
Функция ТЕКСТ требует 2Function Substring(Txt, Delimiter, в меню времени, можно добавитьвычисления точные результаты, однакоВ Excel 2016Excel Mobile и из нескольких столбцовAlabamaALEN преимуществами нового инструмента
Если Вы не
мы выбираемLast Name
таблицами можно просто
ячеек.
обязательных для заполнения
office-guru.ru
Делим слипшийся текст на части
n) As StringДанные — Текст по и вычитание дат.имеет значение этот метод ненадежен
- Excel Online с данных для подготовкиALB(ДЛСТР). Далее в
- « хотите импортировать какой-тоSpace(Фамилия), копировать функцию ВПРФункция СТОЛБЕЦ в Excel аргумента:
- Dim x As столбцам Ниже приведен примерАвто по ряду причин. помощью функции
- массовой рассылки. Или,
Montgomery
Способ 1. Текст по столбцам
C этом разделе яМгновенное заполнение столбец (столбцы), который(Пробел) и Country по горизонтали. В возвращает номер столбцаЗначение – ссылка на Variant x =(Data — Text to
очень часто подсчета.ОпечаткиОБЪЕДИНЕНИЯ возможно, вам нужноИзвлекаем название штата:D кратко объясню назначение» и заставить Excel показан в областиComma(Страна), этом случае номера на листе по исходное число (в Split(Txt, Delimiter) If
columns) количества дней междуВкладка «формулы». Допустим, вы пытаетесьзаменена форматирование чисел с=LEFT(A2,SEARCH(«,»,A2)-1)1
каждой из этих автоматически заполнять (вData preview(Запятая), а такжеArrival Date столбцов автоматически пересчитываются заданным условиям. Синтаксис данном случае). n > 0.
двумя датами. Этонажмите ввести много большихфункции СЦЕПИТЬ текстом, не затрагивая=ЛЕВСИМВ(A2;ПОИСК(«,»;A2)-1)Полное имя функций и приведу
нашем случае –
(Образец разбора данных), ставим галочку напротив(Ожидаемая дата прибытия) – табличка заполняется. элементарный: всего одинФормат – текстовый код
- And n -Появится окно же просто, какПараметры вычислений значений такого вида:
- . Несмотря на формулы, которые могутИзвлекаем аббревиатуру штата:Имя примеры, которые Вы разбивать) данные, при то выделите его
- параметра иНужна корректировка номера– прибавляем аргумент. Но с формата ячеек Excel 1Мастера разбора текстов= B2-A2. Можно также использовать=14598,93+65437,90+78496,23 то, что функция использовать эти числа.=MID(A2,SEARCH(«,»,A2)+2,SEARCH(«,»,A2,SEARCH(«,»,A2)+2)-SEARCH(«,»,A2)-2)Отчество сможете использовать в обнаружении определенной закономерности. и выберите вариантTreat consecutive delimiters asStatus
или отнимаем определенную ее помощью можно (может быть пользовательский).Теперь можно найти ее:. Ключ для работыF9Попробуйте проверить правильность записей.
Способ 2. Как выдернуть отдельные слова из текста
СЦЕПИТЬ В Excel существует=ПСТР(A2;ПОИСК(«,»;A2)+2;ПОИСК(«,»;A2;ПОИСК(«,»;A2)+2)-ПОИСК(«,»;A2)-2)Фамилия своих книгах Excel.Если Вы ещё неDo not import column one(Статус).
- цифру или рассчитанное эффективно решать разнообразныеЧисло можно форматировать любым в списке функций На первом шаге со значениями даты
- принудительно для вычисления Намного проще установитьпо-прежнему доступен для несколько способов дляИзвлекаем столицу штата:2Самая распространённая ситуация, когда
знакомы с этой(Пропустить столбец) в(Считать последовательные разделителиЕсли в таблице есть с помощью какой-либо
задачи. способом, важно лишь в категорииМастера и времени — на листе. следующие значения в обеспечения обратной совместимости,
объединения текста и=RIGHT(A2,LEN(A2)-(SEARCH(«,»,A2,SEARCH(«,»,A2)+1)+1))Sally K. Brooke могут понадобится эти функцией, я попробую разделе
одним). Этот параметр
хотя бы один
- функции значение. Например,Функция с параметром: = соблюдать правила оформления
- Определенные пользователем (User Defined)выбираем формат нашего
- начать с конечнаяНекоторые значения не добавляются.
отдельных ячеек и
Способ 3. Разделение слипшегося текста без пробелов
следует использовать чисел.=ПРАВСИМВ(A2;ДЛСТР(A2)-(ПОИСК(«,»;A2;ПОИСК(«,»;A2)+1)+1))Sally формулы – это кратко объяснить еёColumn data format поможет избежать лишнего столбец справа отФункция СТОЛБЕЦ должна вычесть СТОЛБЕЦ (С3) возвращает форматов, который должени использовать со текста. Или это дата/время и вычитаниеВ ссылке на функцию использовать формулу СУММ.ОБЪЕДИНЕНИЯЕсли столбец, который вы
А вот пример реальныхK. необходимость разделить имена суть. Этот инструмент(Формат данных столбца). разбиения данных, например, столбца, который необходимо 1 из номера значение 3, т.к. распознаваться в Excel. следующим синтаксисом: текст, в котором значений даты и или диапазоне суммируются Кроме того можно, так как хотите отсортировать содержит данных из ExcelBrooke из одного столбца анализирует данные, которыеНажмите когда между словами
разбить, тогда первым колонки C. Поэтому (C) является третьимНапример, ниже заполненная аргументами=SUBSTRING(Txt; Delimeter; n)
Ссылки по теме
- какой-либо символ отделяет времени начала. только числовые значения.
- форматировать значения, когдафункции СЦЕПИТЬ числа и текст
planetaexcel.ru
Формула форматирует число суммы как текст в одной ячейке Excel
2010. Данные изИзвлекаем имя: по нескольким. На Вы вводите наFinish есть 2 или делом создайте новые функция ВПР возвращает по счету. функция ТЕКСТ возвращает
Отформатировать число как текст в Excel с денежным форматом ячейки
где друг от другаДругие способы работы с Пустые ячейки, логические они находятся вмогут быть недоступны — 15 # первого столбца разбиты
=LEFT(A2,FIND(» «,A2,1)-1) рисунке ниже показано, рабочий лист, и(Готово)! более последовательных пробела. пустые столбцы, в значение не изАргумент «ссылка» необязательный. Это
число в денежномTxt — адрес ячейки содержимое наших будущих датами описаны в величины (например, ИСТИНА) ячейках, что делает в будущих версиях продукта, продукт #100 на три отдельных=ЛЕВСИМВ(A2;НАЙТИ(» «;A2;1)-1)
какого результата мы пытается выяснить, откудаЕсли данные состоят изНастраиваем ограничитель строк которые будут помещены третьего, а из может быть ячейка формате пересчитанному по с текстом, который отдельных столбцов ( статье Определение количества
и текст игнорируются. их более удобным Excel.
- и 200 # столбца:Извлекаем отчество:
- пытаемся достичь: они взялись и текстовых или числовых
. Этот параметр может полученные данные. Этот второго столбца девятой или диапазон, для курсу 68 руб./1$:
делимс разделителями дней между двумяВместо ожидаемого результата отображается для чтения, а
TEXTJOIN продукта — неУрок подготовлен для Вас
=MID(A2,FIND(» «,A2,1)+1,FIND(» «,A2,FIND(» «,A2,1)+1)-(FIND(«Вы легко сможете разбить существует ли в значений с фиксированным понадобиться, если в шаг необходим для
- строки. которого нужно получитьИзмененная ниже формула возвращаетDelimeter — символ-разделитель (пробел,) или в тексте датами. значение ошибки #ИМЯ?. затем, когда они
- Объединение текста из
- может сортировать должным командой сайта office-guru.ru «,A2,1)+1))
- такие имена на них какая-либо закономерность. количеством символов, Вы столбце, который Вы того, чтобы результатыТеперь проиллюстрируем, как работает номер столбца. долю в процентах
запятая и т.д.)
Функция РУБЛЬ для форматирования числа как текст в одной ячейке
с помощью пробеловКак вычислить сумму толькоОбычно это означает, что находятся в формуле. нескольких диапазонах и/или образом. Можно отформатироватьИсточник: https://www.ablebits.com/office-addins-blog/2014/02/27/split-cells-excel/=ПСТР(A2;НАЙТИ(» «;A2;1)+1;НАЙТИ(» «;A2;НАЙТИ(» «;A2;1)+1)-(НАЙТИ(«
два столбца при Как только «Мгновенное можете разбить их разбиваете, содержатся какие-либо не были записаны многоразовое копирование безАргумент – ссылка на от общей выручки:n — порядковый номер имитируются столбцы одинаковой видимых ячеек? в формуле содержится
Ошибки #ЗНАЧ!, если ячейки строки, а также ячейки, содержащие 15,
- Перевел: Антон Андронов «;A2;1)+1)) помощи следующих формул:
- заполнение» распознает Ваши на несколько столбцов
Пользовательская макрофункция для получения формата ячейки в Excel
значения, заключённые в поверх уже существующих необходимости в ручной ячейку:Простой способ проверки синтаксиса извлекаемого фрагмента ширины (Иногда когда вы ошибка: например, вместо по ссылкам содержат разделитель, указанный между 100 и 200,Автор: Антон АндроновИзвлекаем фамилию:Извлекаем имя (столбец First действия и вычислит следующим способом. кавычки или в данных.В нашем примере правке. Сначала в
Функция выдала номер колонки кода формата, который
Например:фиксированная ширина
вручную скрываете строки =СУММ(A1:A10) введено =сума(A1:A10).
текст вместо чисел каждой парой значений,
чтобы они отображались
Разнесем Фамилию, Имя и=RIGHT(A2,LEN(A2)- FIND(» «,A2,FIND(» «,A2,1)+1)) name):
закономерность, Excel предложитК примеру, есть список
апострофы, и Вы сразу после столбца формуле закрепим ссылки
для этой ячейки. распознает Excel –Тяжелый случай, но тоже). или используете автофильтр,Функция СУММ отображает целоеДопустим, вы используете формулу который будет добавляться на листе как Отчество (ФИО), содержащихся=ПРАВСИМВ(A2;ДЛСТР(A2)-НАЙТИ(» «;A2;НАЙТИ(» «;A2;1)+1))=LEFT(A2,SEARCH(» «,A2,1)-1) вариант, и последовательность
exceltable.com
Функция СТОЛБЕЦ в Excel и полезные примеры ее использования
товаров с ID хотите, чтобы такиеParticipant на таблицу (кнопкаАргумент опущен: это использование окна бывает. Имеем текстНа втором шаге чтобы отображались только
Описание и синтаксис функции
число, хотя должно такого вида: текст. Если разделитель 15 # продукт, в одной ячейке,
Функция=ЛЕВСИМВ(A2;ПОИСК(» «;A2;1)-1) записей в новом и наименованием, причем участки текста не
находится столбец F4). Скопируем формулу
Функция вернула номер столбца, «Формат ячеек». Для
совсем без пробелов,
Мастера определенные данные, может
отображать десятичное.=A1+B1+C1
пустую текстовую строку, продукт #100 и по разным столбцам.
MIDИзвлекаем фамилию (столбец Last
столбце появится буквально идентификатор товара – разбивались, а рассматривалисьStatus ВПР поперек столбцов в котором находится. этого: слипшийся в одну, если мы выбрали понадобиться вычислить сумму
Проверьте, выбрано ли отображениеили эта функция будет 200 # продукта.Инструмент Текст-по-столбцам (вкладка
(ПСТР) – извлекает name): за мгновение. это 9 символов, как цельные значения., и мы собираемся – номер меняетсяАргумент – вертикальный диапазонЩелкните правой кнопкой мышки длинную фразу (например формат с разделителями только видимых ячеек. десятичных чисел в
=A1+A2+A3 эффективно объединять диапазоны.
Использование пользовательского числового форматаДанные часть текстовой строки
=RIGHT(A2,LEN(A2)-SEARCH(» «,A2,1))Таким образом, при помощи которые стоят перед
Например, если Вы
Полезные примеры функции СТОЛБЕЦ в Excel
добавить между ними автоматически (функция СТОЛБЕЦ ячеек: по любой ячейке ФИО «ИвановИванИванович»), который
(как в нашем Для этого можно формате ячейки. ВыберитеФормулу можно вставить разрыв
TEXTJOIN для отображения номера, группа (то есть заданное=ПРАВСИМВ(A2;ДЛСТР(A2)-ПОИСК(» «;A2;1)) этого инструмента Вы наименованием этого товара:
выберите в качестве новые столбцы сдвигается вместе сФункция вернула номер столбца, с числом и надо разделить пробелами примере) — необходимо воспользоваться функцией ПРОМЕЖУТОЧНЫЕ.ИТОГИ. соответствующую ячейку или при наличии всев Excel 2013 с текстом, неРабота с данными количество символов). Синтаксис:Для тех, кому интересно, можете взять какую-то
Вот что Вам нужно разделителя запятую, аLast Name другими ссылками). в котором расположен выберите из появившегося на отдельные слова. указать какой именно Если вы используете соответствующий диапазон и значения — нечисловое и более ранние
изменяя порядок сортировки, пункт=MID(text,start_num,num_chars) что означают эти часть данных, находящихся сделать, чтобы разбить в качестве ограничителя,Достаточно элегантное решение, позволяющее
диапазон. контекстного меню опцию Здесь может помочь символ является разделителем: строку итогов в нажмите клавиши (текст) в ссылках
версии не поддерживается. число. Таким образомТекст-по-столбцам=ПСТР(текст;начальная_позиция;количество_знаков) формулы, я попробую
в одном или такой столбец на строк – кавычкиCountry править формулы вАргумент – горизонтальный диапазон «Формат ячейки». Или небольшая макрофункция, которая
Если в тексте есть таблице Excel, любаяCtrl + 1 на ячейки, которыеПримеры различных на рисунке изменение способа отображения) используется для разнесенияВ качестве аргументов функции объяснить более подробно. нескольких столбцах, и два: («), тогда любые
и автоматическом режиме. ячеек:
exceltable.com
нажмите комбинацию горячих
Текст по столбцам и строкам
- Подробности
- Создано 03 Май 2012
Большинство опытных пользователей Excel умеют пользоваться встроенным интерфейсным средством для разбивки текстовой строки на составляющие с использованием символа разделителя. В некоторых ситуациях может оказаться удобнее разобрать текст не с помощью интерфейса, а с использованием формул. Как ни странно, но Excel не имеет встроенной стандартной функции рабочего листа для проведения таких действий. Это тем более непонятно, так как VBA поддерживает стандартную функцию Split, облегчающую решение подобных задач.
В примере созданы 2 сложные формулы для разбивки текста по столбцам и строкам. Их также можно использовать для выборки текстовой составляющей по порядковому номеру.
Напомним, что интерфейсное средство «Текст по столбцам» доступно через меню и ленту Excel Данные Текст по столбцам.
В файле-примере показано два типа формулы для разделения текста на составляющие:
- текст по столбцам (диапазон B5:K6)
- текст по строкам (диапазон A10:B19)
В качестве разделителя текста используется символ «,» (запятая). В служебных целях задействованы еще два символа «<» и «>» (математические знаки «меньше» и «больше»). Эти символы не могут находится в исходном тексте, в противном случае формула будет работать неверно. И разделитель, и служебные символы можно заменить на любые другие, главное, чтобы они не могли быть задействованы в исходном тексте. Для замены исправьте константы во всех местах формулы.
Формула в ячейке B5 и далее по столбцам обрабатывает исходный текст из ячейки A5:
=TRIM(IF(ISERR(FIND(">";SUBSTITUTE(SUBSTITUTE(","&$A5&",";",";"<";COLUMNS($B:B));",";">";COLUMNS($B:B))));""; MID(SUBSTITUTE(SUBSTITUTE(","&$A5&",";",";"<";COLUMNS($B:B));",";">";COLUMNS($B:B)); FIND("<";SUBSTITUTE(SUBSTITUTE(","&$A5&",";",";"<";COLUMNS($B:B));",";">";COLUMNS($B:B)))+1; FIND(">";SUBSTITUTE(SUBSTITUTE(","&$A5&",";",";"<";COLUMNS($B:B));",";">";COLUMNS($B:B)))-FIND("<";SUBSTITUTE(SUBSTITUTE(","&$A5&",";",";"<";COLUMNS($B:B));",";">";COLUMNS($B:B)))-1)))
Формула в ячейке A10 и далее по строкам обрабатывает исходный текст из ячейки A9:
=TRIM(IF(ISERR(FIND(">";SUBSTITUTE(SUBSTITUTE(","&A$9&",";",";"<";ROWS($10:10));",";">";ROWS($10:10))));""; MID(SUBSTITUTE(SUBSTITUTE(","&A$9&",";",";"<";ROWS($10:10));",";">";ROWS($10:10)); FIND("<";SUBSTITUTE(SUBSTITUTE(","&A$9&",";",";"<";ROWS($10:10));",";">";ROWS($10:10)))+1; FIND(">";SUBSTITUTE(SUBSTITUTE(","&A$9&",";",";"<";ROWS($10:10));",";">";ROWS($10:10)))-FIND("<";SUBSTITUTE(SUBSTITUTE(","&A$9&",";",";"<";ROWS($10:10));",";">";ROWS($10:10)))-1)))
Формулы ссылаются только на исходный текст и не требуют наличия других предварительно вычисленных составляющих. Варианты отличаются только автоматическим определением порядкового номера текстовой составляющей, в первом случае — это подформула для вычисления номера от количества столбцов: COLUMNS($B:B); во втором — от количества строк: ROWS($10:10). При копировании диапазон столбцов и строк автоматически расширяется, вычисляя таким образом нужное значение. Вместо этой подформулы можно задать константу или переменную, определяющую требуемый номер. Из результатирующих текстовых значений убираются лишние пробелы при помощи функции TRIM().
Наверняка можно сделать формулу покороче, используя другие методы поиска. Это просто наш вариант — оригинальный, нигде не подсмотренный
Смотри также
» Извлечение чисел из набора строк
Небольшой пример по использованию операции замены текста, который часто встречается на практике. Требуется вырезать из набора…
» Объединение строк
У продвинутых пользователей Excel очень популярен вопрос о возможности объединения диапазона ячеек, содержащих текст, в одну строку при…
» Объединение строк
Функция efSumText возвращает объединенный текст с указанным разделителем.
Иногда во время работы с исходными данными в Excel пользователи получают довольно специфические списки, где в рамках одной строки собрано сразу несколько категорий значений, которые хотелось бы разделить на столбцы для создания полноценной таблицы. Заниматься форматированием вручную – не лучшая затея, особенно когда функциональность программы предусматривает автоматический инструмент для выполнения поставленной задачи.
Как выглядит склеенный текст в Excel
Сначала я хочу кратко рассказать о том, какую трудность будем решать при помощи следующей инструкции. Например, у вас есть перечень товаров с количеством и ценой, но все это написано в одной строчке с разделением через запятую, точку или любой другой символ. Такой пример показан на следующем изображении.
Это может быть совершенно любая информация: ФИО людей, даты, перечни разных форматов. Главное условие для корректного разделения всей этой информации на корректные столбцы – наличие одного и того же разделителя, который алгоритм и будет брать во внимание.
Комьюнити теперь в Телеграм
Подпишитесь и будьте в курсе последних IT-новостей
Подписаться
Разделение текста на столбцы в Excel
Задача ясна, значит, сейчас предстоит разобраться с ней. Откройте лист и найдите там необходимый диапазон с данными. Если еще не вставили его в Excel, создайте пустой лист и сделайте это. После этого выполните такие действия:
-
Выделите только первый столбец, не затрагивая остальные строки (они и так являются пустыми, ведь символы просто не помещаются в рамку одной ячейки и переходят на другие). Перейдите на вкладку «Данные».
-
Вызовите инструмент «Текст по столбцам».
-
В большинстве случаев используется формат данных «С разделителями», который и следует отметить маркером, а затем перейти к следующему этапу в Мастере.
-
Снимите галочку с пункта «Знак табуляции», если в ваших строках применяется другой разделитель для значений. В случае когда действительно разделителем выступает табуляция, оставьте значение по умолчанию и сразу жмите «Далее».
-
Если сняли галочку со знака табуляции, выберите другой разделитель, использующийся в вашем списке. Программа предлагает три стандартных варианта и возможность указать свой.
-
В моем случае разделителем выступает косая черта (слэш) – нужно отметить галочкой «Другой» и напечатать этот знак в соответствующем поле. Как только вы это сделаете, ниже сразу отобразится результат выполнения операции.
-
Если при использовании в качестве разделителя выступают последовательные знаки, например кавычки, отметьте маркером пункт «Считать последовательные разделители одним» и из раскрывающегося списка выберите подходящий для вас вариант.
-
После нажатия по «Далее» отобразится последний шаг настройки, где вам предстоит задать формат данных в столбце. Этот этап можно пропустить, оставив значение «Общий».
-
Вернитесь к листу в Excel и убедитесь в том, что разделение прошло успешно. По надобности поправьте размеры ячеек и перенесите то содержимое, которое было отмечено другим разделителем и не посчиталось автоматически.
Остается только произвести любое оформление для созданной таблицы, чтобы продолжить с ней взаимодействие. Я не буду заострять на этом внимание, а только максимально сжато расскажу о формировании простой таблицы:
-
Выделите столбцы и строки, перейдите на вкладку «Вставка» и нажмите «Таблица».
-
Создайте таблицу с заголовками или без, оставив расположение данных в состоянии по умолчанию.
-
Если нужно, разверните меню «Форматировать как таблицу» и выберите другой вариант визуального оформления.
Конечно, это далеко не вся информация по теме. Если вы желаете более детально ознакомиться с ней, прочитайте другую мою статью – «Как работать в Excel с таблицами».
Разделение текста на столбцы сэкономило огромное количество времени. Просто представьте, если бы все эти данные пришлось сортировать вручную. Теперь вы знаете, что встроенный в Microsoft Excel инструмент с этим прекрасно справляется в автоматическом режиме, освобождая вас от необходимости выполнять муторные манипуляции.
Как разделить текст в excel с помощью формулы
Раннее мы рассматривали возможность разделить текст по столбцам на примере деления ФИО на составные части.
Для этого мы использовали инструмент в Excel «Текст по столбцам».
Видео: Разделить текст по столбцам в Excel / Text to Columns (Урок 6) [Eugene Avdukhov, Excel Для Всех]
Несомненно, это очень важный и полезный и инструмент в Excel, который значительно может упростить множество задач. Но у данного способа есть небольшой недостаток.
Если вам, например, постоянно присылают данные в определенном виде, а вам постоянно необходимо их делить, то это занимает определенное время, кроме того, если данные вам прислали заново, то вам снова нужно будет проделать все операции.
Содержание
- 1 Пример 1. Делим текст с ФИО по столбцам с помощью формул
- 1.1 Приступаем к делению первой части текста — Фамилии
- 1.2 Приступаем к делению второй части текста — Имя
- 1.3 Приступаем к делению третьей части текста — Отчество
- 2 Пример 2. Как разделить текст по столбцам в Excel с помощью формулы
Пример 1. Делим текст с ФИО по столбцам с помощью формул Если рассматривать на примере деления ФИО, то разделить текст можно будет с помощью текстовых формул Excel, используя функцию ПСТР и НАЙТИ, которую мы рассматривали в прошлых статьях.
В этом случае вам достаточно вставить данные в определенный столбец, а формулы автоматически разделят текст так как вам необходимо. Давайте приступит к рассмотрению данного примера. У нас есть столбец со списком ФИО, наша задача разместить фамилию, имя отчество по отдельным столбцам.
Попробуем очень подробно описать план действия и разобьем решение задачи на несколько этапов. Первым делом добавим вспомогательные столбцы, для промежуточных вычислений, чтобы вам было понятнее, а в конце все формулы объединим в одну.
Итак, добавим столбцы позиция 1-го и 2-го пробелам. С помощью функции НАЙТИ, как мы уже рассматривали в предыдущей статье найдем позицию первого пробелам. Для этого в ячейке «H2» пропишем формулу
и протянем вниз. Теперь нам необходимо найти порядковый номер второго пробела. Формула будет такая же, но с небольшим отличием. Если прописать такую же формулу, то функция найдет нам первый пробел, а нам нужен второй пробел.
Значит на необходимо поменять третий аргумент в функции НАЙТИ — начальная позиция — то есть позиция с которой функция будет искать искомый текст.
Мы видим, что второй пробел находится в любом случае после первого пробела, а позицию первого пробела мы уже нашли, значит прибавив 1 к позиции первого пробелам мы укажем функции НАЙТИ искать пробел начиная с первой буквы после первого пробела.
Функция будет выглядеть следующим образом:
Далее протягиваем формулу и получаем позиции 1-го и 2-го пробела.
Приступаем к делению первой части текста — Фамилии
Для этого мы воспользуемся функцией ПСТР, напомню синтаксис данной функции:
=ПСТР(текст- начальная_позиция- число_знаков), где
- текст — это ФИО, в нашем примере это ячейка A2;
- начальная_позиция — в нашем случае это 1, то есть начиная с первой буквы;
- число_знаков — мы видим, что фамилия состоит из всех знаков, начиная с первой буквы и до 1-го пробела. А позиция первого пробела нам уже известна. Это и будет количество знаков минус 1 знак самого пробела.
Формула будет выглядеть следующим образом:
Приступаем к делению второй части текста — Имя
Снова используем функцию =ПСТР(текст- начальная_позиция- число_знаков), где
- текст — это тот же текст ФИО, в нашем примере это ячейка A2;
- начальная_позиция — в нашем случае Имя начинается с первой буква после первого пробела, зная позицию этого пробела получаем H2+1;
- число_знаков — число знаков, то есть количество букв в имени. Мы видим, что имя у нас находится между двумя пробелами, позиции которых мы знаем. Если из позиции второго пробела отнять позицию первого пробела, то мы получим разницу, которая и будет равна количеству символов в имени, то есть I2-H2
Получаем итоговую формулу:
Приступаем к делению третьей части текста — Отчество
И снова функция =ПСТР(текст- начальная_позиция- число_знаков), где
- текст — это тот же текст ФИО, в нашем примере это ячейка A2;
- начальная_позиция — Отчество у нас находится после 2-го пробелам, значит начальная позиция будет равна позиции второго пробела плюс один знак или 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 для работы с текстом и как они позволяют делить текст автоматически с помощью формул однотипные данные.
Пример 2. Как разделить текст по столбцам в Excel с помощью формулы
Рассмотрим второй пример, который так же очень часто встречался на практике. Пример похож предыдущий, но данных которые нужно разделить значительно больше. В этом примере я покажу прием, который позволит достаточно быстро решить вопрос и не запутаться.
Допустим у нас есть список чисел, перечисленных через запятую, нам необходимо разбить текст таким образом, чтобы каждое число было в отдельной ячейке (вместо запятых это могут быть любые другие знаки, в том числе и пробелы). То есть нам необходимо разбить текст по словам.
Напомним, что вручную (без формул) это задача очень просто решается с помощью инструмента текст по столбцам, который мы уже рассматривали. В нашем же случае требуется это сделать с помощью формул. Для начала необходимо найти общий разделить, по которому мы будет разбивать текст.
В нашем случае это запятая, но например в первой задаче мы делили ФИО и разделитель был пробел. Наш второй пример более универсальный (более удобный при большом количестве данных), так например мы удобно могли бы делить не только ФИО по отдельным ячейкам, а целое предложение — каждое слово в отдельную ячейку.
Собственно такой вопрос поступил в комментариях, поэтому было решено дополнить эту статью. Для удобства в соседнем столбце укажем этот разделитель, чтобы не прописывать его в формуле а просто ссылаться на ячейку. Это так же позволит нам использовать файл для решения других задач, просто поменяв разделитель в ячейках.
Теперь основная суть приема.
Шаг 1. В вспомогательном столбце находим позицию первого разделителя с помощью функции НАЙТИ. Описывать подробно функцию не буду, так как мы уже рассматривали ее раннее. Пропишем формулу в D1 и протянем ее вниз на все строки
То есть ищем запятую, в тексте, начиная с позиции 1
Шаг 2. Далее в ячейке E1 прописываем формулу для нахождения второго знака (в нашем случае запятой). Формула аналогичная, но с небольшими изменениями.
- Во-первых: закрепим столбец искомого значения и текста, чтобы при протягивании формулы вправо ссылки на ячейки не сдвигалась. Для этого нужно написать доллар перед столбцом B и A — либо вручную, либо выделить A1 и B1, нажать три раза клавишу F4, после этого ссылки станут не относительными, а абсолютными.
- Во-вторых: третий аргумент — начало позиции мы рассчитаем как позиция предыдущего разделителя (мы его нашли выше) плюс 1 то есть D1+1 так как мы знаем, что второй разделитель точно находится после первого разделителя и нам его не нужно учитывать.
Пропишем формулу и протянем ее вниз.
Шаг 3. Находимо позиции всех остальных разделителей. Для этого формулу нахождения второго разделителя (шаг 2) протянем вправо на то количество ячеек, сколько всего может быть отдельно разбитых значений с небольшим запасом. Получим все позиции разделителей. Там где ошибка #Знач означает что значения закончились и формула больше не находит разделителей. Получаем следующее
Шаг 4. Отделяем первое число от текст с помощью функции ПСТР.
Начальная позиция у нас 1, количество знаков мы рассчитываем как позиция первого разделителя минус 1: D1-1 протягиваем формулу вниз
Шаг 5. Находимо второе слово так же с помощью функции ПСТР в ячейке P1
Начальная позиция второго числа у нас начинается после первой запятой. Позиция первой запятой у нас есть в ячейке D1, прибавим единицу и получим начальную позицию нашего второго числа.
Количество знаков это есть разница между позицией третьего разделителя и второго и минус один знак, то есть E1-D1-1 Закрепим столбец A исходного текста, чтобы он не сдвигался при протягивании формулы право.
Шаг 6. Протянем формулу полученную на шаге 5 вправо и вниз и получим текст в отдельных ячейках.
Шаг 7. В принципе задача наша уже решена, но для красоты все в той же ячейке P1 пропишем формула отлавливающую ошибку заменяя ее пустым значением.
Так же можно сгруппировать и свернуть вспомогательные столбцы, чтобы они не мешали. Получим итоговое решение задачи
Примечание. Первую позицию разделителя и первое деление слова мы делали отлично от других и из-за этого могли протянуть формулу только со вторых значений.
Во время написания задачи я заметил, что можно было бы упростить задачу. Для этого в столбце С нужно было прописать 0 значения первого разделителя. После этого находим значение первого разделителя
а первого текста как
После этого можно сразу протягивать формулу на остальные значения. Именно этот вариант оставляю как пример для скачивания. В принципе файлом можно пользоваться как шаблоном.
В столбец «A» вставляете данные, в столбце «B» указываете разделитель, протягиваете формулы на нужное количество ячеек и получаете результат.
Внимание! В комментариях заметили, что так как в конце текста у нас нет разделителя, то у нас не считается количество символов от последнего разделителя до конца строки, поэтому последний разделенный текст отсутствует.
Чтобы решить вопрос можно либо на первом шаге добавить вспомогательный столбец радом с исходным текстом, где сцепить этот текст с разделителем. Таким образом у нас получится что на конце текста будет разделитель, значит наши формулы посчитают его позицию и все будет работать.
Либо второе решение — это на шаге 3, когда мы составляем формулу вычисления позиций разделителей дополнить ее. Сделать проверку, если ошибка, то указываем заведомо большое число, например 1000.
Таким образом последний текст будет рассчитываться начиная от последней запятой до чуть меньше 1000 знаков, то есть до конца строки, что нам и требуется.
Оба варианта выложу для скачивания.
- Скачать пример: Как разделить текст по столбцам с помощью функции_1.xlsx (исправлено: доп поле)
- Скачать пример: Как разделить текст по столбцам с помощью функции_2.xlsx (исправлено: заведомо большое число)
(Пока оценок нет)
Как разделить текст в ячейке 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
Как в excel 2007 разделить текст по столбцам на две, три и более ячеек. Обычно для примера используют разбивку ячеек с ФИО, чтоб данные были раздельно.
Как разделить текст по столбцам в экселе
Мне по работе пришлось разделять время в ячейках таблицы excel , пример: 0:00-15:00. А между значениями разделитель точка с запятой 0:00-15:00;16:00-17:00;22:00-24:00. Эти данные в таблице по дням, в ячейках разное количество значений между разделителем. Необходимо было разделить время по каждому дню, в столбик под датой проставить время, разделить время на начало и конец, посчитать разницу и все сложить вместе.
Этап первый. Разделить время в ячейках
Выделяем диапазон ячеек, на ленте нажимаем Данные-Текст по столбцам, появится Мастер текстов.
Ничего не меняем, если у вас переключатель стоит в положении: с разделителем, жмем далее.
Снимаем галку «знак табуляция», ставим галку «другой»
и в окошко вносим точку с запятой [ ; ]. Жмем либо далее, хотя там особо смотреть не чего, верней нажать готово. Будет задан вопрос: заменить содержимое ячеек? Ответ да!
Мы смогли разбить ячейку на столько значений, сколько их было между [ ; ]. Добавим пустые строки под ячейкой с датой, в количестве, ячеек правей столбца С.
Две ячейки-две строки. Выделяем ячейки, копируем,
и под первой ячейкой жмем правой кнопкой «Специальная вставка»- «Транспонировать».
Данные перенесутся из строки в столбец, проделаем все то же самое для остальных ячеек.
Получилось разделить текст в ячейке, оформить по дням, в столбик.
Этап второй. Как в экселе разделить ячейку на время начала и конца
Получим разницу во времени, снова прибегнув к мастеру текста. Продолжим разделять текст в ячейках на время начала и конца. Здесь разделителем является знак «-» минус.
Вынесем столбец за нашу таблицу, скопировав и вставив ячейки рядом. Работаем с мастером: Данные-Текст по столбцам , шаг первый ничего не меняем, на втором шаге в окошке другой [ — ] ставим минус, нажимаем готово.
Этап третий
Ставим формулу: время конца минус время начала,
формат ячеек Все форматы [ч]:мм,
протянем формулу вниз до конца. Мы получили время в часах. В соседней ячейке напишем: =К4*60 Enter. Получим время в минутах.
Правда с секундами. Не нашел способа лучше, чем скопировать столбец, вставить его в блокнот, нажать CTRL+H (Найти и заменить), в найти написал :00
а заменить оставил пустым.
Нажал заменить все. Текст без :00 скопировал из блокнота и вставил в таблицу.
С количеством часов поступил проще, скопировал в блокнот и вставил в таблицу. Одна проблема: 24 часа стоят как 24:00:00.
Не проблема, раз мы знаем, как в экселе разделить ячейку, то тут можно и Copy&Paste применить, но с хитростью — в ячейке перед 24:00 поставить апостроф ‘ -одиночную кавычку ’24:00
и вставить всюду. Складывать автосуммой можно только минуты, сумму часов получим, разделив сумму минут на 60, а количество дней разделим полученное число часов на 24.
В моем примере нечто из 31 дня проработало 28 дней,из 744 часов -673 часа и из 44640 минут -40411 минут. Не важно что это, главное что на этом примере вы узнали как как в экселе разделить текст по столбцам в ячейке, как можно не стандартно использовать блокнот и менять формат ячеек, добавляя к ним апостроф.
В этом видео подробно показано, как разделить текст по столбцам:
Рекомендуем смотреть видео в полноэкранном режиме, в настойках качества выбирайте 1080 HD, не забывайте подписываться на канал в YouTube, там Вы найдете много интересного видео, которое выходит достаточно часто. Приятного просмотра!
Разбить по строкам/столбцам
Данная функция является частью надстройки MulTEx
- Описание, установка, удаление и обновление
- Полный список команд и функций MulTEx
- Часто задаваемые вопросы по MulTEx
- Скачать MulTEx
Вызов команды:
MulTEx -группа Ячейки/Диапазоны —Диапазоны —Разбить по строкам/столбцам
Эта команда разбивает данные во всех выделенных ячейках на части, используя в качестве разделителя указанные символ/символы. Главная особенность — в отличие от стандартной команды Excel «Разбить по столбцам», данная команда заносит результат разбиения данных в строки либо столбцы в одну строку/столбец, а не каждую часть в свой столбец. К тому же в стандартной команде Excel нет возможности указать несколько символов — только один.
Диапазон значений — указывается диапазон ячеек, данные которых необходимо разбить. Может быть как одним столбцом/строкой, так и диапазоном, состоящим из нескольких строк и нескольких столбцов.
Разделитель — указывается символ (или группа символов), который будет применен в качестве разделителя. Если разделитель не указан, то появится сообщение, информирующее об этом. В сообщении будет предложено использовать разделитель по умолчанию (Пробел). В случае отказа Вы сможете указать необходимый разделитель. Данные, внесенные ранее не будут утеряны.
-
Специальный — можно добавить в поле Разделитель один из специальных символов: неразрывный пробел или перенос на строки. Стандартно такие символы невозможно ввести с клавиатуры, но они могут часто встречаться в ячейках. Например, эти символы часто применяется в выгрузках из различных программ(вроде 1С): неразрывный пробел для разделения цифр или слов, которые не надо переносить на строки, а перенос на строки — для разделения основания платежей и иной информации.
Если в поле Разделитель уже указан какой-либо символ, то при выборе дополнительно специального символа будет показано сообщение:
Поместить результат:
Разделитель результата:
Доступно только если в качестве вывода результата указана одна ячейка. По умолчанию разделителем является перенос на строки. В качестве разделителя можно указать любой символ или группу символов.
- Перенос на строки — каждое новое результирующее значение в ячейке будет записано с новой строки:
- Произвольный — любой символ, буква, цифра или группа символов(словосочетания, цифры и т.п.).
Транспонировать — если Диапазон значений представляет собой столбец, то данные после обработки будут помещены в одну строку. Если Диапазон значений — строка, то данные будут помещены в столбец. Недоступно при выводе результата в одну ячейку.
Делим слипшийся текст на части
Итак, имеем столбец с данными, которые надо разделить на несколько отдельных столбцов. Самые распространенные жизненные примеры:
- ФИО в одном столбце (а надо — в трех отдельных, чтобы удобнее было сортировать и фильтровать)
- полное описание товара в одном столбце (а надо — отдельный столбец под фирму-изготовителя, отдельный — под модель для построения, например, сводной таблицы)
- весь адрес в одном столбце (а надо — отдельно индекс, отдельно — город, отдельно — улица и дом)
- и т.д.
Способ 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 как в предыдущем способе, вставьте туда новый модуль и скопируйте в него код этой функции:
Теперь можно использовать эту функцию на листе и привести слипшийся текст в нормальный вид: