Как разделить текст в ячейке Excel? Разделение в Excel данных по столбцам Разделить текстовую ячейку в эксель

Добрый день уважаемый читатель!

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

Разобрать слитый текст на необходимые составляющие возможно произвести с помощью:

Мастер разбора текстов

Рассмотрим самый простой способ разделить текст в ячейке, не по сути, а по исполнению. Для примера, очень наглядно это можно продемонстрировать на ФИО в одной ячейке, которые необходимо разделить на отдельные столбики для удобства и .

Для выполнения задачи вызываем диалоговое окно «Мастер текстов (разбор)» и в 3 шага разделяем текст:

  1. Для начала нужно выделить данные, которые необходимо разделить, следующим шагом на вкладке «Данные» в разделе «Работа с данными» нажимаете иконку «Текст по столбцам» и в вызванном диалоговом окне мастера указываем формат рабочего текста. Выбираем 2 вида форматов:


  • Общий – не проводит изменения данных, оставляя их в первоначальном виде, будет оптимальным выбором в большинстве случаев;
  • Текстовый – данный формат, в основном, необходим для столбиков с числовыми значениями, которые программа в обязательном порядке должна интерпретировать как текст. (К примеру, это числа с разделителем по тысяче или номер пластиковой карточки);
  • Дата – этот формат используется для столбиков с датами, кстати, формат самой даты можно выбрать в выпадающем списке.

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

Рассоединяем текст с помощью формул

Для этого способа нам понадобятся возможности сочетаний функций ПОИСК и ПСТР. При помощи мы будем искать все пробелы, которые есть между словами (например, между фамилией, именем и отчеством). Потом выделяем необходимое количество символов для дальнейшего разделения.

И если с первыми двумя словами понятно, что и как разделять, то разделителя для последнего слова нет, а это значит что нужно указать в качестве аргумента условно большое количество символов, как аргумент «число_знаков» для функции ПСТР, например, 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. Выдергиваем отдельные слова по разделителю;
  2. Делим текст без пробелов.

Способ №1.

Поскольку вас интересует автоматическое деление текста, значит надо написать хорошую функцию на VBA и внедрить ее в рабочую книгу. Для начала переходим на вкладку «Разработчик» и выбираем «Visual Basic» или вызываем эту возможность с помощью Alt+F11. (детальнее в статье « »).

Создаем новый модуль в меню «Insert» наживаем пункт «Module» и переносим в него нижеприведенный код:

Function Substring(Txt, Delimiter, n) As String Dim x As Variant x = Split(Txt, Delimiter) If n > 0 And n - 1 <= UBound(x) Then Substring = x(n - 1) Else Substring = "" End If End Function

Function Substring (Txt , Delimiter , n ) As String

Dim x As Variant

x = Split (Txt , Delimiter )

If n > 0 And n - 1 <= UBound (x ) Then

Substring = x (n - 1 )

Else

Substring = ""

End If

End Function

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

SUBSTRING (_Txt_;_Delimeter_;_n_), где:

  • – указываем ячейку текст в которой будем делить;
  • – это символ который служит разделителем (запятая, тире, пробел и т.д);
  • – ставим номер по порядку фрагмента, которой будем извлекать.

Пример:

Рассмотрим, как возможно изъять текст по разнообразным символам-разделителям. Для удобства и лучшей автоматизации не забывайтесь значения формулы .
Способ №2.

Иногда случаются варианты, когда при выгрузке данных с других источников, можно получить большой текст из склеенных воедино слов (например, ОрловСтепанФедорович), такой текст нужно обязательно разделить пробелами на составляющие его части.

В этом поможет небольшая функция, которая автоматически сможет вставлять «пробел» перед всеми заглавными буквами в тексте. Используя Visual Basic, создайте новый модуль, как описано в первом способе и добавьте в него код:

Function CutWords(Txt As Range) As String Dim Out$ If Len(Txt) = 0 Then Exit Function Out = Mid(Txt, 1, 1) For i = 2 To Len(Txt) If Mid(Txt, i, 1) Like "" And Mid(Txt, i + 1, 1) Like "" Then Out = Out & Mid(Txt, i, 1) & " " Else Out = Out & Mid(Txt, i, 1) End If Next i CutWords = Out End Function

Function CutWords (Txt As Range ) As String

Dim Out $

If Len (Txt ) = 0 Then Exit Function

Out = Mid (Txt , 1 , 1 )

For i = 2 To Len (Txt )

If Mid (Txt , i , 1 ) Like "" And Mid (Txt , i + 1 , 1 ) Like "" Then

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

Для примера рассмотрим данные CSV файла. Каждая подстрока в нем разделена символом «точка с запятой» и помещена в двойные кавычки. Вставьте их в любое место Вашей рабочей книги:

"ФИО";"Дата рождения";"Пол";"Город проживания";"Профессия"
"Иванов Иван Иванович";"27.03.1985";"Мужской";"Воронеж";"Электрик"
"Петров Петр Петрович";"12.03.1976";"Мужской";"Москва";"Геолог"
"Кухтина Елизавета Федоровна";"11.12.1994";"Женский";"Казань";"Врач"

Перед разбивкой данных требуется выделить нужный диапазон, а затем кликнуть по пиктограмме «Текст по столбцам» в области «Работа с данными» на ленте вкладки «Данные».

На экране будет отображено окно мастера распределения текста:

Весь процесс состоит из трех шагов.

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

Выберите пункт «С разделителями» и нажмите кнопку «Далее».

Следующим действием выбирается символ-разделитель. Им может быть любой из знаков, включая буквы и цифры.

Обратите внимание на то, что если разделители идут подряд, то каждый из них образует новый столбец, т.е. 2 таких символа создают 1 пустой столбец, 3 – 2 и т.д. Чтобы избавиться от этого часто нужного действия достаточно поставить галочку на поле «Считать последовательные разделители одним».

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

Имейте в виду то, что символы-разделители и ограничители удаляются из содержимого разделенных данных.

На любом описанным выше этапе можно нажать кнопку «Готово» для предоставления возможности приложению Excel самостоятельно завершить разделение текста в ячейках столбца. Но если Вы хотите контролировать весь процесс, то продолжайте нажимать «Далее».

Завершающим шагом является назначение форматирования новым колонкам и указания места для их расположения.

Из возможных настроек предоставлено только несколько форматов (типов данных), а поместить распределенный текст можно только на текущем листе.

При работе с таблицами Excel иногда нужно разбить определенную ячейку на две части. Но, это не так просто, как кажется на первый взгляд. Давайте разберемся, как разбить ячейку на две части в программе Microsoft Excel, и как её разделить по диагонали.

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

Способ 1: объединение ячеек

Для того, чтобы определенные ячейки казались разделенными, следует объединить другие ячейки таблицы.

Как видим, несмотря на то, что мы ничего не делили, а наоборот соединяли, создается иллюзия разделенной ячейки.

Способ 2: разделение объединенных ячеек

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

Таким образом, мы получили разделенную ячейку. Но, нужно учесть, что Excel воспринимает этим способом разделенную ячейку, как единый элемент.

Способ 3: разделение по диагонали путем форматирования

А вот, по диагонали можно разделить даже обычную ячейку.


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

Способ 4: разделение по диагонали через вставку фигуры

Следующий способ подойдет для разделения ячейки по диагонали только в том случае, если она большая, или создана путем объединения нескольких ячеек.


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

Вызов команды:
-группа Ячейки/Диапазоны -Диапазоны -Разбить по строкам/столбцам

Эта команда разбивает данные во всех выделенных ячейках на части, используя в качестве разделителя указанные символ/символы. Главная особенность - в отличие от стандартной команды Excel "Разбить по столбцам", данная команда заносит результат разбиения данных в строки либо столбцы в одну строку/столбец, а не каждую часть в свой столбец. К тому же в стандартной команде Excel нет возможности указать несколько символов - только один.

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


Поместить результат:


Разделитель результата:
Доступно только если в качестве вывода результата указана одна ячейка. По умолчанию разделителем является перенос на строки. В качестве разделителя можно указать любой символ или группу символов.

Транспонировать - если Диапазон значений представляет собой столбец, то данные после обработки будут помещены в одну строку. Если Диапазон значений - строка, то данные будут помещены в столбец. Недоступно при выводе результата в одну ячейку.

Пользователи, привыкшие к работе с формулами в табличном процессоре «Эксель» от «Майкрософт», порой пытаются найти готовую функцию для деления одного числа на другое. Но такой функции нет, и использовать знак двоеточия так же не получится - он в «Эксель» предназначен для обозначения границ диапазонов. Формула деление в Excel - это просто знак обратного слэша (/).

Как разделить одно число на другое

На рабочем листе книги «Эксель» введите в разные ячейки любые два числа. Они помогут разобраться с тем, как сделать формулу деления в Excel. Затем в свободной ячейке наберите знак начала формулы (равно =) и укажите первую ячейку с делимым. Далее наберите знак деления в формуле Excel - обратный слэш - и укажите ячейку с делителем.

Удобно, что при попытке деления на ячейку, содержимое которой представляет собой 0, «Эксель» выведет соответствующую ошибку: #ДЕЛ/0!.

Важно! Эксель позволяет делить между собой любые числа, в том числе и даты. А вот при попытке выполнить деление над ячейками, содержащими текст, вы получите ошибку «#ЗНАЧ!», о есть неверное значение.

Деление дат

Очень интересно делить даты. Попробуйте разделить «01.01.2017» на «01.01.2016». Думаете, у вас ничего не получится? Это не так. Дело в том, что «Эксель» автоматически преобразует все даты в число, отсчитывая количество прошедших дней с 01 января 1900 года. Дата «01.01.1900» - это число 1, «02.01.1900» - 2. Вы легко можете это проверить, преобразуя форматы ячеек с указанными датами с формата «Дата» на формат «Числовой». Таким образом, 1 января 2017 года - это число 42736, именно столько дней прошло с того же числа и месяца 1900 года. Поэтому при делении дат одну на другую мы можем получить вполне конкретный результат.

Логично, что вы можете делить не только дату на дату, но и любое число на дату и наоборот. Поскольку формула «деление» в Excel все равно представит вашу дату в число. А им можно оперировать каким угодно образом.

Таблица деления в «Эксель»

Построим таблицу в «Эксель», в ячейки А2:А6 поместим числа, которые будем делить (3, 7, 9, 12, 15), а в ячейки В1:Е1 - числа, НА которые будем выполнять деление (1, 2, 3, 4).

Чтобы составить таблицу деления, важно вспомнить про в «Эксель». Формула деление в Excel при составлении такой таблицы предполагает использование смешанных ссылок. Так, чтобы адреса ячеек при копировании не смещались, надо закрепить в делимом адресе номер столбца, а в делителе - номер строки. Таким образом, введите в ячейку В2 формулу «=$A2/B$1» и протяните ее до конца строки? а потом и на всю таблицу. Таблица заполнится данными. Встаньте теперь на любую ячейку, допустим, на D5. Формула ее будет следующая: «=$A5/D$1». Все сделали правильно.

Деление с остатком

При выполнении деления в большинстве случаев мы получаем дробное число. Для упрощения восприятия таких чисел есть в «Эксель» два важных момента.

Ячейка, в которую записывается результат, по умолчанию имеет формат «Общий». Если перейти на вкладке «Главная» в раздел «Число», то можно из выпадающего списка выбрать пункт смены формата «Другие числовые форматы» и задать формат «Числовой». По данному формату можно присвоить для ячейки количество отображаемых десятичных знаков. Так, при делении 7/3 мы обычно видим число 2,333333333, а с помощью ограничения точности на три десятичных знака оно станет выглядеть как 2,333. Что, согласитесь, довольно удобно.

В «Эксель» есть две отличные функции для получения частного и остатка от деления. Они носят название «Частное» и «Остаток» и обе принимают два обязательных аргумента - числитель и знаменатель. Разберемся с ними подробнее.

Введите в «Эксель» два числа - 7 и 3 (в ячейки D9 и D10 в нашем случае), и правее от них - формулы:

ЧАСТНОЕ(D9;D10)

ОСТАТ(D9;D10)

Как видим, частное от деления равно двум, остаток - 1. В любую свободную ячейку введите формулу:

E9 & " " & E10 & "/" & D10

Здесь знак амперсанда помогает присоединить к содержимому одной ячейки содержимое другой в виде текста.

Результат выполнения данной формулы будет следующий: 2 1/3 - две целых и одна треть.

Как видим, формула деление в Excel не представляет собой ничего сложного. Главное помнить, что при вычислении формул «Эксель» использует стандартные правила математики.