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

Текст по столбцам и строкам

Подробности Создано 03 Май 2012

splittext.xls 44 kB

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

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

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

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

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

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

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

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

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

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

Как разделить на фрагменты фиксированной ширины.

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

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

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

Запустите мастер преобразования, как описано в приведенном выше примере. На первом шаге выберите «Фиксированная ширина» и нажмите «Далее» .

Установите ширину каждого столбца в окне предварительного просмотра данных. Как показано на рисунке ниже, вертикальная линия обозначает границу столбца. Чтобы создать новую линию разрыва, вы просто щелкаете в желаемой позиции (в нашем случае 9 символов):

Чтобы удалить разрыв, дважды щелкните на разделителе; чтобы переместить его в другое место, просто перетащите мышью.

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

Как разбить содержимое многострочной ячейки на отдельные строки / столбцы в Excel?

Что вы можете сделать, если у вас есть многострочное содержимое ячейки, которое разделяется с помощью Alt + Enter, и теперь вам нужно разделить многострочное содержимое на отдельные строки или столбцы? В этой статье вы узнаете, как быстро разбить содержимое многострочной ячейки на отдельные строки или столбцы.

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

1. Выберите ячейки с многострочным содержимым, которые нужно разделить на отдельные столбцы, затем щелкните Данные > Текст в столбцы. Смотрите скриншот:

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

3. В секунду Мастер преобразования текста в столбцы диалоговое окно, только отметьте Другое коробка, держи другой ключ и введите номер 0010 в следующее пустое поле. Затем нажмите кнопку Next кнопка. Смотрите скриншот:

4. В третьем Мастер преобразования текста в столбцы диалоговом окне выберите ячейку для размещения разделенного содержимого в Destination поле и, наконец, щелкните Завершить кнопку.

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

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

Перед применением Kutools for Excel, Пожалуйста, сначала скачайте и установите.

1. Выберите ячейки с многострочным содержимым, которые нужно разделить на отдельные строки или столбцы, затем щелкните Kutools > Слияние и разделение > Разделить клетки. Смотрите скриншот:

2. в Разделить клетки диалоговом окне необходимо сделать следующее:

  • (1) Если вы хотите разбить ячейки на строки, выберите Разделить на строки вариант, в противном случае выберите Разделить на столбцы опцию.
  • (2) В Укажите разделитель раздел, выберите Новая линия вариант
  • (3) Наконец, нажмите кнопку OK кнопка

3. В следующем всплывающем диалоговом окне выберите пустую ячейку для размещения разделенного текста, а затем щелкните значок OK кнопку.

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

Разделение строки на столбцы в Excel

​B2:C2​Выражение​ разделить строку. В​ Excel” тут.​

​Можно указать формат​ то мы бы​Выделяем ячейки, текст​ ячеек​ кнопку​ ячеек.​ полезна. Просим вас​ строки правой кнопкой​_Boroda_​ местами два первых​ панели форматирования (растягивание​ 1 у вас​ и большое зло.​и протяните его​

  1. ​=ПРАВСИМВ(A2;4)​ строке с текстом​Можно разделить ячейку​

​ Ячеек столбцов. Например,​ ​ указали разделителем «запятая».​

​ в которых нужно​

  • ​Слияние и разделение ячеек​Далее​​Пример разделения ячеек:​​ уделить пару секунд​ и выбирай “добавить​
  • ​: Тогда вот такой​ столбца​​ текста на несколько​​ будет “Сотрудники” в​А если объединенные​
  • ​ вниз, чтобы вставить​​извлекает 4 символа​​ «Smith, Mike» запятая​
  • ​ по диагонали и,​​ если вы делите​​В этом окне, в​ разделить или весь​ или данных​.​

​Выделите одну или несколько​ и сообщить, помогла​ строку”. Строка добавится​

​ вариант. Можно добавлять​ ​_Boroda_​

​ ячеек)​

  • ​ ячейках А1-В1. а​ ячейки стоят под​​ формулу в остальные​​ справа и выводит​ в позиции 6​
  • ​ в каждой части​​ столбец на дни​​ разделе «Образец разбора​
  • ​ столбец.​​Здесь рассмотрим,​​Выберите один или несколько​ ячеек, которые хотите​ ли она вам,​ НАД выделенной.​

​ столбцы и строки,​​: Так нужно?​​Денис иванов​ в строке 2,​ формулами, то это​ ячейки.​

​ желаемый результат —​ (шестой символ слева),​​ написать текст. Читайте,​​ и месяцы, год,​

​ данных» сразу видно,​

Как разбить ячейку на несколько строк или столбцов на основе символа / слова / возврата каретки?

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

Разделите ячейку на несколько столбцов или строк с помощью функции Text to Column

В Excel использование функции Text to Column — хороший способ разбить одну ячейку.

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

2. Затем в Шаг 1 мастера, проверьте разграниченный вариант, см. снимок экрана:

3. Нажмите Следующая> кнопка для перехода к Шаг 2 мастера, проверьте Точка с запятой только флажок. Смотрите скриншот:

4. Продолжайте нажимать Следующая> до Шаг 3 мастера, и щелкните, чтобы выбрать ячейку, чтобы поместить результат разделения. Смотрите скриншот:

5. Нажмите Завершить, вы можете видеть, что одна ячейка разделена на несколько столбцов.

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

1. После разделения данных на несколько столбцов выберите ячейки этого столбца и нажмите Ctrl + C скопировать их.

2. Затем выберите пустую ячейку и щелкните правой кнопкой мыши, чтобы выбрать Специальная вставка из контекстного меню. Смотрите скриншот:

3. Затем в Специальная вставка диалог, проверьте Все in макаронные изделия раздел и все in операция раздел, а затем проверьте транспонировать флажок. Смотрите скриншот:

4. Нажмите OK. Теперь одна ячейка разделена на несколько строк.

Разделите ячейку на несколько столбцов или строк с помощью Kutools for Excel

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

Например, вот одна ячейка с содержимым, разделенным словом «KTE», теперь вам нужно разбить ячейку на основе слова на несколько ячеек.

Kutools for Excel, с более чем 300 удобные функции, облегчающие вашу работу. 

После бесплатная установка Kutools for Excel, сделайте следующее:

1. Выберите одну ячейку, которую вы хотите разделить на строки / столбцы, и щелкните Kutools > Слияние и разделение > Разделить клетки. Смотрите скриншот:

2. в Разделить клетки диалоговом окне выберите нужный тип разделения в Тип раздел, а чек Другое установите флажок и введите слово, которое вы хотите разделить, в текстовое поле в Укажите разделитель раздел. Смотрите скриншот:

3. Нажмите Okи выберите ячейку для вывода результата.

4. Нажмите OK. Теперь одна ячейка преобразована в несколько строк.

Наконечник:

1. ЕСЛИ вы хотите разбить ячейку на несколько столбцов, просто нужно проверить Разделить на столбцы вариант, а затем укажите разделитель в Разделить клетки Диалог.

2. Если вы хотите разделить ячейку на основе возврата каретки, установите флажок Новая линия в Разделить клетки Диалог.

Работы С Нами Разделить клетки of Kutools for Excel, что бы вы ни хотели разделить ячейку на основе, вы можете быстро решить это.

Теперь основная суть приема.

Шаг 1. В вспомогательном столбце находим позицию первого разделителя с помощью функции НАЙТИ. Описывать подробно функцию не буду, так как мы уже рассматривали ее раннее. Пропишем формулу в D1 и протянем ее вниз на все строки

=НАЙТИ(B1-A1-1)

То есть ищем запятую, в тексте, начиная с позиции 1

Шаг 2. Далее в ячейке E1 прописываем формулу для нахождения второго знака (в нашем случае запятой). Формула аналогичная, но с небольшими изменениями.

=НАЙТИ($B1-$A1-D1+1)

  1. Во-первых: закрепим столбец искомого значения и текста, чтобы при протягивании формулы вправо ссылки на ячейки не сдвигалась. Для этого нужно написать доллар перед столбцом B и A — либо вручную, либо выделить A1 и B1, нажать три раза клавишу F4, после этого ссылки станут не относительными, а абсолютными.
  2. Во-вторых: третий аргумент — начало позиции мы рассчитаем как позиция предыдущего разделителя (мы его нашли выше) плюс 1 то есть D1+1 так как мы знаем, что второй разделитель точно находится после первого разделителя и нам его не нужно учитывать.

Пропишем формулу и протянем ее вниз.

Шаг 3. Находимо позиции всех остальных разделителей. Для этого формулу нахождения второго разделителя (шаг 2) протянем вправо на то количество ячеек, сколько всего может быть отдельно разбитых значений с небольшим запасом. Получим все позиции разделителей. Там где ошибка #Знач означает что значения закончились и формула больше не находит разделителей. Получаем следующее

Шаг 4. Отделяем первое число от текст с помощью функции ПСТР.

=ПСТР(A1-1-D1-1)

Начальная позиция у нас 1, количество знаков мы рассчитываем как позиция первого разделителя минус 1: D1-1 протягиваем формулу вниз

Шаг 5. Находимо второе слово так же с помощью функции ПСТР в ячейке P1

=ПСТР($A1-D1+1-E1-D1-1)

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

Количество знаков это есть разница между позицией третьего разделителя и второго и минус один знак, то есть E1-D1-1 Закрепим столбец A исходного текста, чтобы он не сдвигался при протягивании формулы право.

Шаг 6. Протянем формулу полученную на шаге 5 вправо и вниз и получим текст в отдельных ячейках.

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

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

=ЕСЛИОШИБКА(ПСТР($A1-D1+1-E1-D1-1)- «»)

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

Во время написания задачи я заметил, что можно было бы упростить задачу. Для этого в столбце С нужно было прописать 0 значения первого разделителя. После этого находим значение первого разделителя

=НАЙТИ($B1-$A1-C1+1)

а первого текста как

=ПСТР($A1-C1+1-D1-C1-1)

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

В столбец «A» вставляете данные, в столбце «B» указываете разделитель, протягиваете формулы на нужное количество ячеек и получаете результат.

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

Либо второе решение — это на шаге 3, когда мы составляем формулу вычисления позиций разделителей дополнить ее. Сделать проверку, если ошибка, то указываем заведомо большое число, например 1000.

=ЕСЛИОШИБКА(НАЙТИ($B1-$A1-C1+1)-1000)

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

Оба варианта выложу для скачивания.

  1. Скачать пример: Как разделить текст по столбцам с помощью функции_1.xlsx (исправлено: доп поле)
  2. Скачать пример: Как разделить текст по столбцам с помощью функции_2.xlsx (исправлено: заведомо большое число)

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

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

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

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

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

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

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

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

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

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

Обратите внимание! Что в нашем примере все исходные и разделенные строки имеют разную длину и разное количество символов. Именно поэтому мы называли такую формулу – гибкой, в начале статьи

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

=SUBSTRING(Txt; Delimeter; n)

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

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

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

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

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

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

Пример 1

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

Вы легко сможете разбить такие имена на два столбца при помощи следующих формул:

  • Извлекаем имя (столбец First name):

  • Извлекаем фамилию (столбец Last name):

Для тех, кому интересно, что означают эти формулы, я попробую объяснить более подробно.

SEARCH (ПОИСК) или FIND (НАЙТИ) – это абсолютно идентичные функции, которые выполняют поиск позиции определенной текстовой строки в заданной ячейке. Синтаксис формулы:

В качестве аргументов Вы должны указать: что нужно найти, где нужно искать, а также позицию символа, с которого следует начать поиск. В нашем примере SEARCH(” “,A2,1) или ПОИСК(” “;A2;1) говорит о том, что мы хотим найти символ пробела в ячейке A2 и начнём поиск с первого символа.

Замечание: Если поиск начинается с первого символа, Вы можете вообще пропустить аргумент start_num (нач_позиция) в формуле и упростить её до такого вида:

LEFT (ЛЕВСИМВ) и RIGHT (ПРАВСИМВ) – возвращает левую или правую часть текста из заданной ячейки соответственно. Синтаксис формулы:

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

LEN (ДЛСТР) – считает длину строки, то есть количество символов в заданной ячейке. Синтаксис формулы:

Следующая формула считает количество символов в ячейке A2:

Если имена в Вашей таблице содержат отчества или суффиксы, то потребуются немного более сложные формулы с использованием функции MID (ПСТР).

Пример 2

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

A B C D
1 Полное имя Имя Отчество Фамилия
2 Sally K. Brooke Sally K. Brooke
  • Извлекаем имя:

  • Извлекаем отчество:

  • Извлекаем фамилию:

Функция MID (ПСТР) – извлекает часть текстовой строки (то есть заданное количество символов). Синтаксис:

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

Пример 3

Вы можете использовать аналогичные формулы, чтобы разбить имена с суффиксами в конце:

A B C D
1 Полное имя Имя Фамилия Суффикс
2 Robert Furlan Jr. Robert Furlan Jr.
  • Извлекаем имя:

  • Извлекаем фамилию:

  • Извлекаем суффикс:

Пример 4

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

A B C D
1 Полное имя Имя Отчество Фамилия
2 White, David Mark David Mark White
  • Извлекаем имя:

  • Извлекаем отчество:

  • Извлекаем фамилию:

Пример 5

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

A B C D
1 Полное обозначение Штат Аббревиатура Столица
2 Alabama, AL, Montgomery Alabama AL Montgomery
  • Извлекаем название штата:

  • Извлекаем аббревиатуру штата:

  • Извлекаем столицу штата:

А вот пример реальных данных из Excel 2010. Данные из первого столбца разбиты на три отдельных столбца:

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

Если Вы уже обновились до Excel 2013, то можете воспользоваться преимуществами нового инструмента «Мгновенное заполнение» и заставить Excel автоматически заполнять (в нашем случае – разбивать) данные, при обнаружении определенной закономерности.

Если Вы ещё не знакомы с этой функцией, я попробую кратко объяснить её суть. Этот инструмент анализирует данные, которые Вы вводите на рабочий лист, и пытается выяснить, откуда они взялись и существует ли в них какая-либо закономерность. Как только «Мгновенное заполнение» распознает Ваши действия и вычислит закономерность, Excel предложит вариант, и последовательность записей в новом столбце появится буквально за мгновение.

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

Первым делом, убедитесь, что инструмент «Мгновенное заполнение» включен. Вы найдёте этот параметр на вкладке File (Файл) > Options (Параметры) > Advanced (Дополнительно) > Automatically Flash Fill (Автоматически выполнять мгновенное заполнение).

Теперь давайте посмотрим, как можно автоматически разбить данные по ячейкам. Итак, Вы включили инструмент «Мгновенное заполнение», и начинаете вводить с клавиатуры данные, которые нужно поместить в отдельные ячейки. По мере ввода Excel будет пытаться распознать шаблон в вводимых значениях, и как только он его распознает, данные автоматически будут вставлены в остальные ячейки. Чтобы понять, как это работает, посмотрите на рисунок ниже:

Как видите, я ввёл только пару имён в столбец B, и «Мгновенное заполнение» автоматически заполнило остальные ячейки именами из столбца A. Если вы довольны результатом, просто нажмите Enter, и весь столбец будет заполнен именами. Очень умный инструмент, не правда ли?

Если «Мгновенное заполнение» включено, но не предлагает никаких вариантов, которые соответствуют определённому шаблону, Вы можете запустить этот инструмент вручную на вкладке Data (Данные) > Flash Fill (Мгновенное заполнение) или нажав сочетание клавиш Ctrl+E.

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

Ваш адрес email не будет опубликован. Обязательные поля помечены *

Adblock
detector