Оглавление
В уроке рассказывается, как разделить ячейки в Excel с помощью формул и функции "Разделить текст". Вы узнаете, как разделять текст запятой, пробелом или любым другим разделителем, а также как разделить строки на текст и числа. .
Разделение текста из одной ячейки на несколько ячеек - задача, с которой время от времени сталкиваются все пользователи Excel. В одной из наших предыдущих статей мы обсуждали, как разделить ячейки в Excel с помощью функции Текст в колонку особенность и Заполнение вспышкой Сегодня мы подробно рассмотрим, как можно разделить строки с помощью формул и функции Разделенный текст инструмент.
Как разделить текст в Excel с помощью формул
Для разделения строки в Excel обычно используется функция LEFT, RIGHT или MID в сочетании с FIND или SEARCH. На первый взгляд, некоторые формулы могут показаться сложными, но на самом деле логика довольно проста, и следующие примеры дадут вам несколько подсказок.
Разделение строки запятой, точкой с запятой, косой чертой, тире или другим разделителем
При разделении ячеек в Excel главное - найти позицию разделителя в текстовой строке. В зависимости от вашей задачи, это можно сделать с помощью нечувствительного к регистру SEARCH или чувствительного к регистру FIND. Как только вы узнали позицию разделителя, используйте функцию RIGHT, LEFT или MID для извлечения соответствующей части текстовой строки. Для лучшего понимания рассмотрим следующеепример.
Предположим, у вас есть список SKU из Пункт-Цвет-Размер шаблон, и вы хотите разделить колонку на 3 отдельные колонки:
- Для извлечения название элемента (все символы до 1-го дефиса), вставьте следующую формулу в B2, а затем скопируйте ее вниз по столбцу:
=LEFT(A2, SEARCH("-",A2,1)-1)
В этой формуле SEARCH определяет позицию 1-го дефиса ("-") в строке, а функция LEFT извлекает все символы, оставшиеся до него (вы вычитаете 1 из позиции дефиса, потому что не хотите извлекать сам дефис).
- Для извлечения цвет (все символы между 1-м и 2-м дефисами), введите следующую формулу в C2, а затем скопируйте ее в другие ячейки:
=MID(A2, SEARCH("-",A2) + 1, SEARCH("-",A2,SEARCH("-",A2)+1) - SEARCH("-",A2) - 1)
В этой формуле мы используем функцию Excel MID для извлечения текста из A2.
Начальная позиция и количество символов для извлечения рассчитываются с помощью 4 различных функций ПОИСК:
- Стартовый номер это позиция первого дефиса +1:
ПОИСК("-",A2) + 1
- Количество символов для извлечения : разница между положением 2-го дефиса и 1-го дефиса, минус 1:
ПОИСК("-", A2, ПОИСК("-",A2)+1) - ПОИСК("-",A2) -1
- Стартовый номер это позиция первого дефиса +1:
- Для извлечения размер (все символы после 3-го дефиса), введите следующую формулу в D2:
=RIGHT(A2,LEN(A2) - SEARCH("-", A2, SEARCH("-", A2) + 1))
В этой формуле функция LEN возвращает общую длину строки, из которой вы вычитаете позицию 2-го дефиса. Разница - это количество символов после 2-го дефиса, и функция RIGHT извлекает их.
Аналогичным образом вы можете разделить столбец по любому другому символу. Все, что вам нужно сделать, это заменить "-" на нужный разделитель, например пространство (" "), запятая (","), косая черта ("/"), толстая кишка (";"), точка с запятой (";") и так далее.
Совет. В приведенных выше формулах +1 и -1 соответствуют количеству символов в разделителе. В данном примере это дефис (1 символ). Если ваш разделитель состоит из двух символов, например, запятой и пробела, то введите в функцию ПОИСК только запятую (",") и используйте +2 и -2 вместо +1 и -1.
Как разделить строку по переносу строки в Excel
Для разделения текста по пробелам используйте формулы, аналогичные тем, что были продемонстрированы в предыдущем примере. Единственное отличие заключается в том, что для ввода символа переноса строки вам понадобится функция CHAR, поскольку вы не можете ввести его непосредственно в формулу.
Предположим, что ячейки, которые вы хотите разделить, выглядят примерно так:
Возьмите формулы из предыдущего примера и замените дефис ("-") на CHAR(10), где 10 - это код ASCII для перевода строки.
- Для извлечения название элемента :
=LEFT(A2, SEARCH(CHAR(10),A2,1)-1)
- Для извлечения цвет :
=MID(A2, SEARCH(CHAR(10),A2) + 1, SEARCH(CHAR(10),A2,SEARCH(CHAR(10),A2)+1) - SEARCH(CHAR(10),A2) - 1)
- Для извлечения размер :
=RIGHT(A2,LEN(A2) - SEARCH(CHAR(10), A2, SEARCH(CHAR(10), A2) + 1))
Смотрите также: Mail Merge в Outlook: отправка массовых писем по отдельности
И вот как выглядит результат:
Как разделить текст и числа в Excel
Начнем с того, что не существует универсального решения, которое бы работало для всех буквенно-цифровых строк. Какая формула будет использоваться, зависит от конкретного шаблона строки. Ниже приведены формулы для двух распространенных сценариев.
Разделение строки по шаблону 'текст + число'
Предположим, у вас есть столбец строк с текстом и числами, где число всегда следует за текстом. Вы хотите разбить исходные строки так, чтобы текст и числа отображались в отдельных ячейках, например, так:
Результат может быть достигнут двумя различными способами.
Метод 1: Подсчитайте цифры и извлеките столько символов
Самый простой способ разделить текстовую строку, где число идет после текста, заключается в следующем:
На извлечение цифр Вы ищете в строке все возможные числа от 0 до 9, получаете общее количество чисел и возвращаете столько символов от конца строки.
С исходной строкой в A2 формула выглядит следующим образом:
=RIGHT(A2,SUM(LEN(A2) - LEN(SUBSTITUTE(A2, {"0","1","2","3","4","5","6","7","8","9"},""))))
На извлечь текст Вы вычисляете, сколько текстовых символов содержит строка, вычитая количество извлеченных цифр (C2) из общей длины исходной строки в A2. После этого вы используете функцию LEFT, чтобы вернуть это количество символов из начала строки.
=LEFT(A2,LEN(A2)-LEN(C2))
Где A2 - исходная строка, а C2 - извлеченный номер, как показано на скриншоте:
Метод 2: Выясните положение 1-й цифры в строке
Альтернативным решением может быть использование следующей формулы для определения позиции первой цифры в строке:
=MIN(SEARCH({0,1,2,3,4,5,6,7,8,9},A2&"0123456789"))
Как только позиция первой цифры найдена, вы можете разделить текст и числа с помощью очень простых формул LEFT и RIGHT.
Для извлечения текст :
=LEFT(A2, B2-1)
Для извлечения номер :
=RIGHT(A2, LEN(A2)-B2+1)
Где A2 - исходная строка, а B2 - позиция первого числа.
Чтобы избавиться от вспомогательного столбца, хранящего позицию первой цифры, можно встроить формулу MIN в функции LEFT и RIGHT:
Формула для извлечения текст :
=LEFT(A2,MIN(SEARCH({0,1,2,3,4,5,6,7,8,9},A2&"0123456789"))-1)
Формула для извлечения номера :
=RIGHT(A2,LEN(A2)-MIN(SEARCH({0,1,2,3,4,5,6,7,8,9},A2&"0123456789"))+1)
Разделение строки по шаблону 'число + текст'
Если вы разделяете ячейки, в которых текст появляется после числа, вы можете извлечение цифр по следующей формуле:
=LEFT(A2, SUM(LEN(A2) - LEN(SUBSTITUTE(A2, {"0", "1", "2", "3", "4", "5", "6", "7", "8", "9"}, ""))))
Формула похожа на ту, что рассматривалась в предыдущем примере, за исключением того, что вы используете функцию LEFT вместо RIGHT, чтобы получить число из левой части строки.
Как только у вас есть цифры, извлечь текст путем вычитания количества цифр из общей длины исходной строки:
=RIGHT(A2,LEN(A2)-LEN(B2))
Где A2 - исходная строка, а B2 - извлеченный номер, как показано на скриншоте ниже:
Совет. Чтобы получить номер из любая позиция в текстовой строке используйте либо эту формулу, либо инструмент Extract.
Вот как можно разделить строки в Excel, используя различные комбинации различных функций. Как вы видите, формулы далеко не очевидны, поэтому вы можете скачать образец рабочей книги Excel Split Cells, чтобы изучить их поближе.
Если разбираться в хитросплетениях формул Excel не является вашим любимым занятием, вам может понравиться визуальный метод разделения ячеек в Excel, который демонстрируется в следующей части этого руководства.
Как разделить ячейки в Excel с помощью инструмента Split Text
Альтернативным способом разделения столбца в Excel является использование функции "Разделить текст", входящей в состав нашего пакета Ultimate Suite for Excel, которая предоставляет следующие возможности:
Чтобы прояснить ситуацию, давайте рассмотрим каждый вариант по очереди.
Разделение ячеек по символам
Выберите эту опцию, когда вы хотите разделить содержимое ячейки на каждое вхождение указанного символа .
Для этого примера возьмем строки вида Пункт-Цвет-Размер Как вы помните, мы разделили их на 3 разных столбца с помощью 3 разных формул. А вот как вы можете добиться того же результата за 2 быстрых шага:
- Если у вас установлен пакет Ultimate Suite, выберите ячейки для разделения и нажмите кнопку Разделенный текст значок на Ablebits Data вкладка.
- Сайт Разделенный текст в правой части окна Excel откроется панель, и вы выполните следующие действия:
- Расширить Разделение по характеру группу и выберите один из предопределенных разделителей или введите любой другой символ в поле Пользовательский коробка.
- Выберите, как разделить ячейки - на столбцы или строки.
- Просмотрите результат под Предварительный просмотр раздел, и нажмите кнопку Сплит кнопка.
Совет. Если в ячейке может быть несколько последовательных разделителей (например, более одного символа пробела), выберите параметр Рассматривайте последовательные разделители как один коробка.
Готово! Задача, для решения которой требовалось 3 формулы и 5 различных функций, теперь занимает всего пару секунд и нажатие кнопки.
Разделение ячеек по строке
Эта опция позволяет разделять строки с помощью любая комбинация символов Технически, вы разделяете строку на части, используя одну или несколько различных подстрок в качестве границ каждой части.
Например, чтобы разделить предложение с помощью союзов " и " и " или ", расширить Разделение по струнам группу и введите строки-разделители, по одной на строку:
В результате исходная фраза разделяется при каждом вхождении каждого разделителя:
Совет. Символы "или", а также "и" часто могут быть частью таких слов, как "апельсин" или "Андалузия", поэтому не забудьте напечатать a пространство до и после и и или для предотвращения разделения слов.
А вот еще один реальный пример. Предположим, вы импортировали столбец дат из внешнего источника, которые выглядят следующим образом:
5.1.2016 12:20
5.2.2016 14:50
Этот формат не является обычным для Excel, и поэтому ни одна из функций Date не распознает элементы даты или времени. Чтобы разделить день, месяц, год, часы и минуты на отдельные ячейки, введите следующие символы в ячейку Разделение по струнам коробка:
- Точка (.) для разделения дня, месяца и года
- Двоеточие (:) для разделения часов и минут
- Пробел для разделения даты и времени
Нажмите кнопку Сплит кнопку, и вы сразу же получите результат:
Разделение ячеек по маске (шаблону)
Разделение ячейки по маске означает разделение строки на части на основе шаблона .
Эта опция очень полезна, когда вам нужно разделить список однородных строк на некоторые элементы, или подстроки. Сложность заключается в том, что исходный текст не может быть разделен на каждое вхождение данного разделителя, только на некоторые определенные вхождения. Следующий пример облегчит понимание.
Предположим, у вас есть список строк, извлеченных из некоторого файла журнала:
Вы хотите, чтобы дата и время, если есть, код ошибки и детали исключения были в трех отдельных колонках. Вы не можете использовать пробел в качестве разделителя, потому что есть пробелы между датой и временем, которые должны отображаться в одной колонке, и есть пробелы в тексте исключения, который также должен отображаться в одной колонке.
Решением является разделение строки по следующей маске: *ERROR:*Exception:*
Где звездочка (*) обозначает любое количество символов.
Двоеточия (:) включены в разделители, потому что мы не хотим, чтобы они появлялись в результирующих ячейках.
А теперь расширьте Разделение по маске раздел на Разделенный текст панели, введите маску в поле Введите разделители и нажмите кнопку Сплит :
Результат будет выглядеть примерно так:
Примечание. Разделение строки по маске является с учетом регистра Поэтому обязательно вводите символы в маске точно так же, как они отображаются в исходных строках.
Например, если все исходные строки имеют значения даты и времени, и вы хотите, чтобы они отображались в разных колонках, используйте эту маску:
* *ERROR:*Exception:*
Переведенная на простой английский язык, маска инструктирует дополнение разделить исходные строки на 4 части:
- Все символы до 1-го пробела, найденные в строке (дата)
- Символы между 1-м пробелом и словом ОШИБКА: (время)
- Текст между ОШИБКА: и Исключение: (код ошибки)
- Все, что приходит после Исключение: (текст исключения)
Надеюсь, вам понравился этот быстрый и простой способ разделения строк в Excel. Если вам интересно попробовать, ознакомительная версия доступна для скачивания ниже. Благодарю вас за чтение и надеюсь увидеть вас в нашем блоге на следующей неделе!
Доступные загрузки
Формулы разделения ячеек Excel (файл .xlsx)
Ultimate Suite 14-дневная полнофункциональная версия (файл .exe)