Excel разъединить текст в ячейке excel
Как разделить текст в ячейке 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. Некоторые разные значения попадают в одну и туже ячейку образуя целую строку как одно значение. Возникает вопрос: как разбить строку на ячейки в Excel. Программа располагает разными поисковыми функциями: одни ищут по ячейках другие ищут по содержимому ячеек. Ведь выполнять поиск по текстовой строке, которая содержится в ячейке ¬– это также распространенная потребность пользователей Excel. Их мы и будем использовать для разделения строк.
Как разделить текст на две ячейки Excel
Допустим на лист Excel были импортированные данные из другой программы. Из-за несовместимости структуры данных при импорте некоторые значение из разных категорий были внесены в одну ячейку. Необходимо из этой ячейки отделить целые числовые значения. Пример таких неправильно импортированных данных отображен ниже на рисунке:
Сначала определим закономерность, по которой можно определить, что данные из разных категорий, несмотря на то, что они находятся в одной и той же строке. В нашем случае нас интересуют только числа, которые находятся вне квадратных скобок. Каким способом можно быстро выбрать из строк целые числа и поместить их в отдельные ячейки? Эффективным решением является гибкая формула основана на текстовых функциях.
В ячейку B3 введите следующую формулу:
Теперь скопируйте эту формулу вдоль целого столбца:
Выборка чисел из строк в отдельные ячейки.
Описание формулы для разделения текста по ячейкам:
Функция ПСТР возвращает текстовое значение содержащие определенное количество символов в строке. Аргументы функции:
- Первый аргумент – это ссылка на ячейку с исходным текстом.
- Второй аргумент – это позиция первого символа, с которого должна начинаться разделенная строка.
- Последний аргумент – это количество символов, которое должна содержать разделенная строка.
С первым аргументом ПСТР все понятно – это ссылка на ячейку A3. Второй аргумент мы вычисляем с помощью функции НАЙТИ(«]»;A3)+2. Она возвращает очередной номер символа первой закрывающейся квадратной скобки в строке. И к этому номеру мы добавляем еще число 2, так как нам нужен номер символа после пробела за квадратной скобкой. В последнем аргументе функция вычисляет какое количество символов будет содержать разделенная строка после разделения, учитывая положение квадратной скобки.
Обратите внимание! Что в нашем примере все исходные и разделенные строки имеют разную длину и разное количество символов. Именно поэтому мы называли такую формулу – гибкой, в начале статьи. Она подходит для любых условий при решении подобного рода задач. Гибкость придает ей сложная комбинация из функций НАЙТИ. Пользователю формулы достаточно определить закономерность и указать их в параметрах функций: будут это квадратные скобки либо другие разделительные знаки. Например, это могут быть пробелы если нужно разделить строку на слова и т.п.
В данном примере функция НАЙТИ во втором аргументе определяет положение относительно первой закрывающейся скобки. А в третьем аргументе эта же функция вычисляет положение нужного нам текста в строке относительно второй открывающийся квадратной скобки. Вычисление в третьем аргументе более сложное и оно подразумевает вычитание одной большей длинны текста от меньшей. А чтобы учитывать еще 2 пробела следует вычитать число 3. В результате чего получаем правильное количество символов в разделенной строке. С помощью такой гибкой формулы можно делать выборку разной длинны разделенного текста из разных длинны исходных строк.
Советы и лайфхаки по работе с Excel
Очень часто приходится сталкиваться с такой проблемой, что необходимо разбить текст из одного столбца на несколько других.
Например, в столбце «А» есть фамилия, имя, отчество сотрудников фирмы. А нам очень важно, что бы фамилия была в столбце «А», имя в «В», а отчество в «С», для того чтобы, например, сортировать по имени.
Особенно часто такая необходимость появляется при конвертировании данных из других программ, когда все данные оказываются в одном столбце.
Итак, имеем столбец с названиями клиентов, который нужно разделить на несколько отдельных столбцов (чтобы отдельно были «Фамилия»,»Имя»,»Отчество»).
Для этого, выделите ячейки, которые будем разбивать и выберите Данные — Текст по столбцам (Data — Text to columns). Появится окно Мастера текстов:
На первом шаге Мастера выбираем формат нашего текста. Или текст, в котором какой-либо символ отделяет друг от друга содержание наших будущих отдельных столбцов ( с разделителями ) или в тексте с помощью пробелов имитируются столбцы одинаковой ширины ( фиксированная ширина ).
На втором шаге Мастера , поскольку мы выбрали формат с разделителями, то нам необходимо указать, какой именно символ является разделителем (в нашем случае «пробел«):
И, наконец, на третьем шаге для каждого из полученных столбцов, выделяя их предварительно в окне Мастера, необходимо выбрать формат:
- общий — оставит данные как есть — подходит в большинстве случаев
- дата — необходимо выбирать для столбцов с датами, причем формат даты (день-месяц-год, месяц-день-год и т. д.) уточняется в выпадающем списке
- текстовый — для чисто текстовой информации.
Нажимаем кнопку Готово и получаем результат.
Как разделить текст в Excel по столбцам?
Часто мы сталкиваемся с проблемой, когда у нас есть данные только в одном столбце, при этом было бы гораздо удобнее расцепить текст на несколько столбцов.
Например, разделить столбец с полными именами (Фамилия Имя Отчество) на отдельные столбцы с именами (Фамилия, Имя, Отчество).
Давайте разберемся как разбить текст в ячейке по столбцам на конкретном примере.
Предположим у нас имеется таблица с ФИО сотрудников компании:
Исходные данные для разделения
Для того, чтобы разделить текст в Excel по столбцам идем на панель вкладок и выбираем Данные -> Работа с данными -> Текст по столбцам:
Указание формата данных
На первом шаге выбираем формат данных:
Шаг 1. Указание формата данных
На выбор есть 2 варианта формата данных:
- С разделителями — разделение происходит по знаку-разделителю (пробел, запятая, точка и т.д.);
- Фиксированная ширина — разделение происходит по фиксированной ширине столбца.
Выбор разделителя для данных
В случае выбора формата с разделителями, как в нашем примере, на втором шаге выбираем какой конкретно знак-разделитель мы будем использовать:
Шаг 2. Выбор разделителя для данных
Можно выбрать как из стандартных знаков (знак табуляции, точка с запятой, запятая, пробел), так и из любых других (например, точка, символы $, @ и т.п.).
Флажок Считать последовательные разделители одним необходим если в исходных данных разделитель может быть продублирован (например, двойной пробел и т.д.).
Параметр Ограничитель строк позволяет не разделять по столбцам текст заключенный в кавычки.
Выбор формата данных для каждого столбца
На третьем шаге выбираем формат данных для каждого нового сформированного столбца:
Шаг 3. Выбор формата данных для каждого столбца
Как разделить текст по столбцам, как разделить ячейки в 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, там Вы найдете много интересного видео, которое выходит достаточно часто. Приятного просмотра!