Распределение текста в ячейке excel по строкам

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

​Смотрите также​ без цитирования обойтись…​: Отлично, спасибо большое.​Юрий М​ перевести число и​

  1. ​ ее отображение.​ обладают функционалом простейшего​1 Из строки формул.​

  2. ​ обозначить мой разделитель​​ arrTmp1(j) .Cells(lCnt, 3)​​ Explicit Sub jjj_split()​​ в файл и​​: В файле на​

  3. ​ ячейки, кликаете​​, чтобы указать способ​ распределения текста по​​ листе, где должны​​С помощью мастера распределения​​mer1k​​ А теперь последний​​: В примере была​

  4. ​ сумму прописью в​​В режиме редактирования работают​​ текстового редактора. Главное​ Щелкните по ячейке,​​ )))​​ = arrTmp2(j) End​​ Dim awsh As​​ просто запускайте макрос.​ копии листа1 давите​​Текст по столбцам​​ разбиения текста на​

  5. ​ столбцам см. в​​ отображаться разделенные данные.​​ текста по столбцам​

  6. ​: Ну да, цитаты​​ вопросик думаю. Как​​ одна строка и​ Excel.​ все стандартные комбинации​

  7. ​ отличие – это​​ в которой необходимо​​…..надеюсь понятно написала​ With ‘ wshResult​ Worksheet Dim wshResult​

  8. ​ Или просто -​​ кнопку с побудительной​​и указываете в​

support.office.com

Распределение содержимого ячейки на соседние столбцы

​ разных столбцах.​​ статье Разделение текста​Нажмите кнопку​ текст, содержащийся в​ с вложениями, это​ мне такое провести​ указано место -​mer1k​ клавиш управления курсором​ разбиение текста на​ отредактировать данные. В​ ))​ Next j Next​ As Worksheet Dim​ откройте файл моего​ надписью и проверяйте​ качестве разделителей Запятую​Примечание:​ по столбцам с​Готово​ одной ячейке, можно​ беспорядочно конечно…Будем знать)​

​ с 12000 строками?​ куда выгружать результат.​: Добрый день. Скажите,​ клавиатуры, как и​ строки.​​ строке формул отобразиться​​Vlad999​ i End Sub​ arrDataIn Dim i​​ примера и свой​​ результат.​​ и пробел. Ячейку​​ Для получения справки по​

​ помощью функций.​​.​

  • ​ разделить на несколько.​ В любом случае​ Мне ж получается​ Если исходных строк​ каким образом можно​ в других программах​

  • ​Внимание!​ содержимое, которое доступно​: СИМВОЛ(10) и есть​

​mts2050​

​ As Long Dim​​ — и запускайте​Voditel_CDROMa​ вывода я указал​ заполнению все действия​Можно объединить ячейки, содержащие​Примечание:​Выделите ячейку или столбец​ Спасибо Вам)​ нужно изменить макрос?​ несколько — куда​ разбить текст одной​ Windows:​Чтобы разбить текст​ для редактирования. Сделайте​ этот разделитель.​: Спасибо.​ n As Long​ макрос через Alt+F8/​: Как вариант с​ B6 (Лист2)​

  1. ​ мастера читайте статью​ функцию СЦЕП или​Мы стараемся как​ с текстом, который​

  2. ​vikttur​​ Только как правильно?​​ выгружать результат? Может​​ ячейки, на строки?​​Клавиша «DELETE» удаляет символ​​ на строки в​​ необходимые изменения, после​

    Группа

  3. ​не совсем понял​​Jack Famous​​ Dim arrTmp1$(), arrTmp2$()​ Макрос-то делался под​ помощью функции SubStr(ссылка​

    ​А в итоговой​​ Разделение текста по​ функцию СЦЕПИТЬ.​ можно оперативнее обеспечивать​ вы хотите разделить.​: Знайте. И желательно​Юрий М​ в соседний столбец?​​ Поиск юзал, но​ изображение кнопки​ справа, а «Backspace»​ одной ячейке Excel​

support.office.com

Помогите текст разбить на ячейки по строкам

​ чего нажмите Enter​​ вопрос. Приложите файл​: irakli78, mts2050, доброго​ Dim n2 As​ данные из примера.​ на строку, номер​ таблице я записал​ различным столбцам с​Выполните следующие действия.​
​ вас актуальными справочными​:)
​На вкладке​:)

​ пройтись и исправить,​​: А Вы пробовали​mer1k​ нашел только способ​ слева.​ нужно нажать комбинацию​ или кликните по​ пример, так есть,​ времени суток! Недавно​ Long Dim j​А если там​ фрагмента, разделитель). См.​
​ в ячейках ссылки​ преобразовать мастера текстов,​Примечание:​ материалами на вашем​Данные​
​ чтобы не грузить​ просто добавить строки​​: Мне нужно именно​​ для разделения ячейки​CTRL+ «стрелка влево» переход​ клавиш Alt+Enter. Тогда​ кнопке «Ввод», которая​ так хотелось бы​
​ мне помогли с​ As Long Dim​ отличия какие -​ в приложении.​ на ти самые​
​ или нажмите кнопку​

​ Диапазон, содержащий столбец, который​​ языке. Эта страница​нажмите кнопку​ модераторов.​

​ и нажать на​​ раскидать текст на​ на СТОЛБЦЫ. За​ на начало слова,​

​ вы сможете перейти​​ размещена в начале​ получить сделанный вручную.​ такой же проблемой.​ lCnt As Long​
​ надо смотреть и​irakli78​ B6 и т.д.​Справка​ вы хотите разделить​

​ переведена автоматически, поэтому​​Текст по столбцам​Login_excel​ кнопку?​ строки, чтоб и​ ранее спасибо. Пример​ а CTRL+ «стрелка​

​ на новую строку​​ строки формул. Для​Фишка​Универсальное решение.​

​ Set awsh =​​ макрос корректировать, быть​: Просто не хватает​Подойдёт так, Ираклий?​в мастере разделения​ может включать любое​

​ ее текст может​​.​: Привет. Подскажите, как​И не нужно​ дубликаты удалить, и​ прикрепляю. Использую майкрософт​

​ вправо» – в​​ в ячейке. В​ отмены изменений можно​: Ну как-то так​А как заполнить​ ActiveSheet With awsh​ может.​:)​ слов благодарности!! Честно​Юрий М​ текста столбцов.​

​ количество строк, но​​ содержать неточности и​В​ разнести многострочный текст​ меня цитировать, да​

​ посмотреть количество номеров.​​ 2007​ конец слова.​ том месте текста,​
​ нажать клавишу «Esc»​ ))​ пустые ячейки значениями​

​ arrDataIn = .Range(«A2:C»​​AVKL​ говоря пока не​: wowik7, количество переносов​irakli78​ он может содержать​ грамматические ошибки. Для​мастере распределения текста по​ по отдельным строкам​ ещё и целиком.​Я пробовал разбить​Smiley​«HOME» смещает курсор клавиатуры​ где находится курсор​ или кнопку «Отмена»​Фишка​ из верхних, узнаете​ & .Cells(.Rows.CountLarge, 1).End(xlUp).Row).Value​: Добрый день Пытливый!​
​ проверял, зашел с​ можно узнать программно​: Добрый день! Буду​ не более одного​ нас важно, чтобы​

​ столбцам​​ из одной ячейки?​
​ Зачем?!!​ эти данные на​: mer1k, разбейте его​

​ в начало строки,​​ клавиатуры, появится перенос​ (возле кнопки «Ввод»).​: ой, забыла написать,​ (готовый макрос в​ .Parent.Sheets.Add , awsh,​Спасибо большое за​ телефона… но все​

​ ))​​ очень благодарен, если​ столбца. Это важные​
​ эта статья была​установите переключатель​Bema​

​mer1k​​ столбцы. Т.е. текст​ на столбцы с​

​ а «END» –​​ строки и соответственно​2 Из самой ячейки.​ как надо ))​

​ комментариях)​​ 1, xlWorksheet End​ решение! Очень помогло​ равно спасибо!!​Юрий М​ кто-нибудь посоветует как​ из них достаточно​ вам полезна. Просим​с разделителями​: Привет.​: Прошу прощения. Просто​ разбивается в своей​ помощью «текст по​ в конец.​ начало новой.​ Перейдите на ячейку​Vlad999​Фишка​ With ‘ awsh​ в работе!​) завтра посмотрю и​: irakli78, зачем Вам​ можно разбить текст​ пустыми столбцами справа​ вас уделить пару​и нажмите кнопку​1. Формулой​ в предыдущем примере,​ же строке, только​ столбцам» и потом​Если в тексте более​В обычных редакторах текст​ и нажмите клавишу​: Решение макросом в​: Необходимо разбить текст​ Set wshResult =​mts2050​ обязательно сообщу! Еще​ объединённые ячейки? Настрадаетесь​ который в одной​ от выбранных столбец,​ секунд и сообщить,​Далее​2. Макросом​ пробовал. не получалось.​ на столбцы. Но​ транспонируйте.​ одной строки то​ делится на строки​ F2 или сделайте​ теме: Разбить текст​

​ в ячейке (с​​ ActiveSheet n =​

​: Подскажите как сделать​​ раз спасибо!​ потом…​ ячейке на несколько​ который будет предотвратить​​ помогла ли она​
​.​3. Текст по​ Сейчас сделал, и​ как потом с​Сергей​;)

planetaexcel.ru

Разбить текст ячейки (строки), содержащий разделитель, на строки

​ комбинации CTRL+HOME и​​ нажатием клавиши Enter,​ по ней двойной​ ячейки (строки), содержащий​ разделителями «Alt+Enter») на​

​ UBound(arrDataIn, 1) lCnt​​ что бы текст​irakli78​Все_просто​ строк с соблюдением​ перезапись по данные,​ вам, с помощью​

​Выберите​​ столбцам.​ все хорошо. Огромное​ этих столбцов разместить​: можно так​ CTRL+END перемещают курсор​ но в Excel​ щелчок мышкой. Тогда​
​ разделитель, на строки​ отдельные строки​ = 0 For​ разбивался не в​: Хотел бы узнать,​: Человек по сути​ некоторых параметров…​
​ которые распространяться данные​ кнопок внизу страницы.​

​разделители​​alexleoix​ спасибо, оочень упростили​
​ номера в строки,​Юрий М​ в начало или​ данное действие выполняет​ в ячейке появится​

​ макросом​​Genbor​ i = 1​

​ одной ячейке, а​​ а как данный​ просит написать макрос,​

​Пример прилагаю​​ в любой смежных​ Для удобства также​для своих данных.​: 4. Power Query​ задачу.​

CyberForum.ru

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

​ причем за раз?​: Или так.​ в конец целого​ функцию подтверждения вода​ курсор клавиатуры, а​Если ячейка содержит большой​: Код =ПОДСТАВИТЬ(A1;»»;СИМВОЛ(10)) -​ To n arrTmp1​

​ в нескольких и​ макрос использовать уже​ а вы на​Заранее благодарю!!!​ столбцах. При необходимости​ приводим ссылку на​ Например,​БМВ​По поводу цитирования.​

Редактирование строки текста в ячейках

​ Можно конечно взять​mer1k​

  1. ​ текста.​ данных и переход​ ее размер изменится​ текст или сложную​ это символ, на​ = Split(arrDataIn(i, 2)​ соотносился между ними.​ в другом файле?​ него взъелись.​wowik7​ вставьте количество пустые​ оригинал (на английском​запятую​: 5. Word (​ А что тут​ и скопировать строку​: Спасибо. Как этим​Строка формул.
  2. ​Примечание. Точно так же​ на следующую ячейку.​ на время редактирования.​ формулу, но с​ основании которого будет​ & «|», «|»)​ Пример в файле.​Hugo​Я, к сожалению,​: Скажите, а известно,​ столбцы, будет достаточно​ языке) .​и​ и это не​ такого? Именно для​ в первый столбец​ пользоваться? Добавлять туда​

Редактирование текста в ячейке.

​ редактируются: формулы, функции,​ Поэтому как написать​ После всех изменений​ ошибками, то нет​ переноситься строка (запятая,​ arrTmp2 = Split(arrDataIn(i,​JayBhagavan​

​: Описка, исправьте в​

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

​ не так силен​ сколько будет слов​ для хранения каждого​Можно разделить содержимого ячейки​пробел​ шутка, копируем вставляем​

​ этого кнопочка и​
​ путем транспонирования. С​ свой текст?​ числа, даты и​ несколько строк в​ нажмите Enter или​ смысла удалять их​ точка с запятой,​ 3) & «|»,​: mts2050, и Вам​ irakli78.xls (45.5 КБ)​ в макросах. Хотя​ в строке? Вот​ составные части распределенных​

​ и распространение составные​. Данные можно предварительно​ в word. копируем,​ создана. Всю жизнь​ одной строкой то​Попробовал свое ввести,​ логические значения.​ ячейке Excel жмите​ Tab или кликните​ вводить все данные​ точка и т.д.)​ «|») n2 =​

Разделение текста на строки.

​ здравия.​ F на G:​ сейчас все равно​ в приложенной книге​ данных.​ части нескольких смежных​ просмотреть в окне​ вставляем в excel​ цитирую​ удается, но вот​ но в строки​Стоит еще отметить, что​ Alt+Enter.​

Перенос по словам.

Режим редактирования

​ мышкой на любую​ заново. Рациональнее их​Фишка​ WorksheetFunction.Max(UBound(arrTmp1, 1) -​Кол-во разделителей в​Range(«G» & lngI​

  1. ​ стараюсь написать.​ 4 слова и​Выделите ячейку, диапазон или​
  2. ​ ячеек. Например, если​Образец разбора данных​ )​Юрий М​ с несколькими никак.​
  3. ​ текст он кидает​ простой режим редактирования​Обратите внимание, что после​ другую ячейку. Для​
  4. ​ просто отредактировать.​: а как в​ 1, UBound(arrTmp2, 1)​ соседних по горизонтали​ & «:G» &​Юрий М​ все разделены запятой​

​ весь столбец, где​ лист содержит​.​vikttur​

​: Цитировать нужно не​ Они раскидывается на​ только с первой​ позволяет задавать тексту​ разделения одной строки​ отмены редактирования нажмите​

Стили текста.

​Для редактирования значений в​ формуле обозначить знак​ — 1) ReDim​ ячейках всегда одинаковое?​ lngI + UBound(strA)).Merge​: Кто «взъелся»? ))​

​ и пробелом. Известно,​ содержатся текстовые значения,​Полное имя​Нажмите кнопку​

exceltable.com

Разделение текста в ячейке, на строки.

​: 6. Ручка +​​ бездумно, а с​ столбцы.​ строки. А как​ свой стиль оформления:​ в ячейке на​ клавишу «Esc».​ Excel предусмотрен специальный​ «разделение», которое ставится​ Preserve arrTmp1(0 To​mts2050​Пытливый​

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

​ умом. И только​​Вот снова скинул​

​ с остальными быть?​​ полужирный, курсив, подчеркнутый​

​ две и более​​Примечание. При редактировании не​ режим. Он максимально​ при помощи клавиш​
​ n2) ReDim Preserve​: Да количество разделителей​: Если структура таблицы​ про объединение ))​ таким же и​На вкладке​ на двух столбцов​.​ клеточку​ то, что ДЕЙСТВИТЕЛЬНО​ табличку. Как например​ У меня этих​ и цвет.​ с помощью клавиш​

​ забывайте о кнопках​​ прост, но гармонично​ Alt+Enter, т.е. перенос​ arrTmp2(0 To n2)​ совпадает.​ такая же (столбцы​ А макрос там​ слов обязательно 4​Данные​

​ —​​Выберите значение в разделе​БМВ​ нужно. Ну вот​ все это разделить,​ строк почти 12000,​
​Обратите внимание, что стиль​ Alt+Enter, то автоматически​ отмены / повтора​ объединил в себе​ на др.строку……..как его​ For j =​JayBhagavan​ и шапка расположены​ не очень и​ ?​в группе​имени​Формат данных столбца​: vikttur, — Почему​ зачем, например, в​ причем уместив только​ в каждой строке​ текста не отображается​ активируется опция «формат​
​ действий на панели​ толь самые полезные​ записать в формулу?​ 0 To n2​: В примере -​ так, как в​

​ сложный…​​Как вариант, метод​

​Работа с данными​​и​или используйте то,​ не в линейку?​ цитате​ в строки в​ бывает и по​ в строке формул,​ ячеек»-«выравнивание»-«перенос по словам».​

​ быстрого доступа. Или​​ функции текстового редактора.​Приведенную Вами формулу,​ lCnt = lCnt​ не совпадает:4 и​
​ примере), а также​wowik7​ с использованием «Данные»​нажмите кнопку​

​Фамилии​​ которое Excel выберет​Или от ExCELL​»Прикрепленные файлы​ первом же столбце?​ одному номеру, а​ поэтому его удобнее​ Притом что сама​
​ о комбинациях клавиш​ Ничего лишнего в​ я уже видела​ + 1 With​ 3. Учту.​ нет ячеек в​

​: Изменил своё первое​​ —> «Работа с​Текст по столбцам​столбцом.​ автоматически.​ отталкиваемся?​primer 002.xlsm (17.68​Юрий М​
​ есть даже и​
​ задавать, редактируя непосредственно​ эта функция не​ CTRL+Z и CTRL+Y.​ нем нет.​ здесь в других​

​ wshResult .Cells(lCnt, 1)​​JayBhagavan​ столбце D с​ сообщение. Прикрепил там​ данными» —> «Текст​.​

​Советы:​​В поле​vikttur​ КБ)»? Что это​: Вариант.​

planetaexcel.ru

Разделение текста по строкам

​ по 20 номеров​​ в самой ячейке.​ разбивает строку на​​Редактировать содержимое ячеек можно​

​ вопросах, но я​​ = arrDataIn(i, 1)​
​: запускать когда целевой​
​ одним словом -​
​ файл​ по столбцам»​

​Следуйте инструкциям в​​ ​

​Поместить в​​: Именно. Без ячеек​ даёт? Да и​mer1k​ через запятую.​Читайте так же: как​ слова, а оптимизирует​

​В режиме редактирования, ячейки​​ двумя способами:​ не знаю, как​ .Cells(lCnt, 2) =​

​ лист активный Option​​ то переносите код​Пытливый​:D​Выделяете две нужных​Столбцах мастера​;)

​Сведения об альтернативном способе​​выберите место на​ никак​

planetaexcel.ru

​ вообще можно было​

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

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

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

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

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

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

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

  1. Для начала нужно выделить данные, которые необходимо разделить, следующим шагом на вкладке «Данные» в разделе «Работа с данными» нажимаете иконку «Текст по столбцам» и в вызванном диалоговом окне мастера указываем формат рабочего текста. Выбираем 2 вида форматов:
  • С разделителями – это когда существует текст или символ, который условно будет отделять будущее содержимое отдельных ячеек;
  • Фиксированной ширины – это когда при помощи пробелов в тексте имитируется столбики одинаковой ширины.
  1. Вторым шагом, в нашем примере, указываем символ, выполняющий роль разделителя. В случаях, когда в тексте идут подряд пару разделителей, несколько пробелов, к примеру, то установка флажка для пункта «Считать последовательные разделители одним» укажет для Excel принимать их за один разделитель. Дополнительное условие «Ограничитель строк» поможет указать, что текстовые значения, содержащиеся в кавычках не делить (к примеру, название фирмы «Рудольф, Петер и Саймон»);
  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. (детальнее в статье «Как создать макрос в Excel»).

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

Разбить по строкам/столбцам

Данная функция является частью надстройки MulTEx

  • Описание, установка, удаление и обновление
  • Полный список команд и функций MulTEx
  • Часто задаваемые вопросы по MulTEx
  • Скачать MulTEx

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

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

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

    Специальный — можно добавить в поле Разделитель один из специальных символов: неразрывный пробел или перенос на строки. Стандартно такие символы невозможно ввести с клавиатуры, но они могут часто встречаться в ячейках. Например, эти символы часто применяется в выгрузках из различных программ(вроде 1С): неразрывный пробел для разделения цифр или слов, которые не надо переносить на строки, а перенос на строки — для разделения основания платежей и иной информации.
    Если в поле Разделитель уже указан какой-либо символ, то при выборе дополнительно специального символа будет показано сообщение:
  • ДА(YES) — в поле Разделитель будет добавлен указанный специальный символ. Указанные ранее символы не будут удалены.
  • НЕТ(NO) — поле Разделитель будет очищено и в него будет помещен только выбранный специальный символ.
  • Поместить результат:

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

    • Перенос на строки — каждое новое результирующее значение в ячейке будет записано с новой строки:
    • Произвольный — любой символ, буква, цифра или группа символов(словосочетания, цифры и т.п.).

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

    Финансы в Excel

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

    1. Для начала нужно выделить данные, которые необходимо разделить, следующим шагом на вкладке «Данные» в разделе «Работа с данными» нажимаете иконку «Текст по столбцам» и в вызванном диалоговом окне мастера указываем формат рабочего текста. Выбираем 2 вида форматов:
    • С разделителями – это когда существует текст или символ, который условно будет отделять будущее содержимое отдельных ячеек;
    • Фиксированной ширины – это когда при помощи пробелов в тексте имитируется столбики одинаковой ширины.
    1. Вторым шагом, в нашем примере, указываем символ, выполняющий роль разделителя. В случаях, когда в тексте идут подряд пару разделителей, несколько пробелов, к примеру, то установка флажка для пункта «Считать последовательные разделители одним» укажет для Excel принимать их за один разделитель. Дополнительное условие «Ограничитель строк» поможет указать, что текстовые значения, содержащиеся в кавычках не делить (к примеру, название фирмы «Рудольф, Петер и Саймон»);
    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. (детальнее в статье «Как создать макрос в Excel»).

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

    Разделить текст по столбцам в Excel

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

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

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

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

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

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

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

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

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

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

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

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

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

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

    У Вас недостаточно прав для комментирования.

    Excel для Microsoft 365 Excel для Microsoft 365 для Mac Excel для Интернета Еще…Меньше

    Windows: 2208 (сборка 15601)
    Mac: 16.65 (сборка 220911)
    Веб: представлено 15 сентября 2022
    г.
    iOS: 2.65 (сборка 220905)
    Android: 16.0.15629

    Разделяет текстовые строки с помощью разделителей столбцов и строк.

    Функция TEXTSPLIT работает так же, как мастер преобразования текста в столбцы, но в виде формулы. Она позволяет разбивать на столбцы или строки. Эта функция обратна функции ОБЪЕДИНИТЬ. 

    Синтаксис

    =ТЕКСТРАЗД(text,col_delimiter,[row_delimiter],[ignore_empty], [match_mode], [pad_with])

    Синтаксис функции ТЕКСТРАЗД поддерживает следующие аргументы.

    • текст       Текст, который нужно разделить. Обязательный.

    • разделитель_столбцов       Текст, помечающий точку, в которой текст разлит по столбцам.

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

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

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

    • заполняющее_значение           Значение, которым нужно дополнить результат. Значение по умолчанию: #Н/Д.

    Замечания

    Если имеется несколько разделителей, необходимо использовать константу массива. Например, для разделения одновременно с помощью запятой и точки используйте формулу =ТЕКСТРАЗД(A1;{«,»,».»}).

    Примеры

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

    Разделите имя и фразу с помощью общего разделителя.

    Данные

    Дарья Леонидовна Санникова

    Быть или не быть

    Формулы

    =TEXTSPLIT(A2, » «)

    =TEXTSPLIT(A3, » «)

    На следующем рисунке показаны результаты.

    Разделяет имя и фразу пробелом

    Разделите константы массива в A2 на массив 2X3.

    Данные

    1,2,3;4,5,6

    Формулы

    =ТЕКСТРАЗД(A2;»,»,»;»)

    На следующем рисунке показаны результаты.

    Excel TextSplit Example 2

    Данные

    Делай. Или не делай. Не пробуй. – Аноним

    Формулы

    =ТЕКСТРАЗД(A2;».»)

    =ТЕКСТРАЗД(A2;{«.»,»-«})

    =ТЕКСТРАЗД(A2;{«.»,»-«};;ЛОЖЬ)

    На следующем рисунке показаны результаты.

    Результаты примера 2

    Данные

    Делай. Или не делай. Не пробуй. – Аноним

    Формулы

    =ТЕКСТРАЗД(A2;;».»)

    На следующем рисунке показаны результаты.

    Результаты примера 3

    Данные

    Делай. Или не делай. Не пробуй. – Аноним

    Формулы

    =ТЕКСТРАЗД(A2;;{«.»,»-«})

    На следующем рисунке показаны результаты.

    Результаты примера 4

    Данные

    Делай. Или не делай. Не пробуй. – Аноним

    Формулы

    =ТЕКСТРАЗД(A2;;{«.»,»-«};ИСТИНА)

    На следующем рисунке показаны результаты.

    Результаты примера 5

    Совет      Чтобы удалить ошибку #Н/Д, используйте функцию ЕСНД. Можно также добавить аргумент «заполняющее_значение».

    Данные

    Делай. Или не делай. Не пробуй. – Аноним

    Формулы

    =ТЕКСТРАЗД(A2;» «,».»;ИСТИНА)

    На следующем рисунке показаны результаты.

    Результаты примера 6

    См. также

    Текстовые функции (справочник)

    Функция ТЕКСТДО

    Функция ТЕКСТПОСЛЕ

    Функция ОБЪЕДИНИТЬ

    Функция CONCAT

    Нужна дополнительная помощь?

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

    Для редактирования значений в Excel предусмотрен специальный режим. Он максимально прост, но гармонично объединил в себе толь самые полезные функции текстового редактора. Ничего лишнего в нем нет.

    Редактирование строки текста в ячейках

    Редактировать содержимое ячеек можно двумя способами:

    1. 1 Из строки формул. Щелкните по ячейке, в которой необходимо отредактировать данные. В строке формул отобразиться содержимое, которое доступно для редактирования. Сделайте необходимые изменения, после чего нажмите Enter или кликните по кнопке «Ввод», которая размещена в начале строки формул. Для отмены изменений можно нажать клавишу «Esc» или кнопку «Отмена» (возле кнопки «Ввод»).
    2. Строка формул.

    3. 2 Из самой ячейки. Перейдите на ячейку и нажмите клавишу F2 или сделайте по ней двойной щелчок мышкой. Тогда в ячейке появится курсор клавиатуры, а ее размер изменится на время редактирования. После всех изменений нажмите Enter или Tab или кликните мышкой на любую другую ячейку. Для отмены редактирования нажмите клавишу «Esc».

    Редактирование текста в ячейке.

    Примечание. При редактировании не забывайте о кнопках отмены / повтора действий на панели быстрого доступа. Или о комбинациях клавиш CTRL+Z и CTRL+Y.

    

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

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

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

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

    Разделение текста на строки.

    Обратите внимание, что после разделения одной строки в ячейке на две и более с помощью клавиш Alt+Enter, то автоматически активируется опция «формат ячеек»-«выравнивание»-«перенос по словам». Притом что сама эта функция не разбивает строку на слова, а оптимизирует ее отображение.

    Перенос по словам.

    Режим редактирования

    В режиме редактирования работают все стандартные комбинации клавиш управления курсором клавиатуры, как и в других программах Windows:

    1. Клавиша «DELETE» удаляет символ справа, а «Backspace» слева.
    2. CTRL+ «стрелка влево» переход на начало слова, а CTRL+ «стрелка вправо» – в конец слова.
    3. «HOME» смещает курсор клавиатуры в начало строки, а «END» – в конец.
    4. Если в тексте более одной строки то комбинации CTRL+HOME и CTRL+END перемещают курсор в начало или в конец целого текста.

    Примечание. Точно так же редактируются: формулы, функции, числа, даты и логические значения.

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

    Стили текста.

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

    Читайте так же: как перевести число и сумму прописью в Excel.

    Как разбить текст в ячейке по строкам?

    postal398

    Дата: Среда, 06.05.2015, 14:34 |
    Сообщение № 1

    Группа: Пользователи

    Ранг: Новичок

    Сообщений: 13


    Репутация:

    0

    ±

    Замечаний:
    0% ±


    Excel 2007

    Есть очень много слов в одной ячейке
    Друг от друга они отделяются пробелом и знаком —
    То есть выглядит так: -гол -мяч -ворота
    Надо чтобы все очень много слов встали каждое в отдельную строку
    что бы получилось:
    -гол
    -мяч
    -ворота

     

    Ответить

    Manyasha

    Дата: Среда, 06.05.2015, 14:40 |
    Сообщение № 2

    Группа: Модераторы

    Ранг: Старожил

    Сообщений: 2198


    Репутация:

    898

    ±

    Замечаний:
    0% ±


    Excel 2010, 2016

    postal398, вкладка Данные — текст по столбцам, потом функция =ТРАНСП(). Подробнее только с файлом.


    ЯД: 410013299366744 WM: R193491431804

     

    Ответить

    Serge_007

    Дата: Среда, 06.05.2015, 15:40 |
    Сообщение № 3

    Группа: Админы

    Ранг: Местный житель

    Сообщений: 15894


    Репутация:

    2623

    ±

    Замечаний:
    ±


    Excel 2016


    ЮMoney:41001419691823 | WMR:126292472390

     

    Ответить

    postal398

    Дата: Среда, 06.05.2015, 18:38 |
    Сообщение № 4

    Группа: Пользователи

    Ранг: Новичок

    Сообщений: 13


    Репутация:

    0

    ±

    Замечаний:
    0% ±


    Excel 2007

    postal398, вкладка Данные — текст по столбцам, потом функция =ТРАНСП(). Подробнее только с файлом.

     

    Ответить

    postal398

    Дата: Среда, 06.05.2015, 19:21 |
    Сообщение № 5

    Группа: Пользователи

    Ранг: Новичок

    Сообщений: 13


    Репутация:

    0

    ±

    Замечаний:
    0% ±


    Excel 2007

    Serge_007, Спасибо. Использовал самый простой на мой взгляд вариант. Все в word, замена пробела на ^p, затем вставить в ячейку, и все само собой растянется.

     

    Ответить

    frankhewlett3

    Дата: Суббота, 30.10.2021, 23:39 |
    Сообщение № 6

    Группа: Пользователи

    Ранг: Прохожий

    Сообщений: 1


    Репутация:

    0

    ±

    Замечаний:
    0% ±


    Ничего не понятно по теме.

     

    Ответить

     

    irakli78

    Пользователь

    Сообщений: 5
    Регистрация: 13.06.2013

    Добрый день! Буду очень благодарен, если кто-нибудь посоветует как можно разбить текст который в одной ячейке на несколько строк с соблюдением некоторых параметров…
    Пример прилагаю  :)  
    Заранее благодарю!!!  :)

    Прикрепленные файлы

    • Пример.xlsx (11.59 КБ)

     

    wowik7

    Пользователь

    Сообщений: 12
    Регистрация: 16.04.2013

    Скажите, а известно, сколько будет слов в строке? Вот в приложенной книге 4 слова и все разделены запятой и пробелом. Известно, что разделение будет таким же и слов обязательно 4 ?

    Как вариант, метод с использованием «Данные» —> «Работа с данными» —> «Текст по столбцам»

    Выделяете две нужных ячейки, кликаете Текст по столбцам и указываете в качестве разделителей Запятую и пробел. Ячейку вывода я указал B6 (Лист2)

    А в итоговой таблице я записал в ячейках ссылки на ти самые B6 и т.д.

    Подойдёт так, Ираклий?

    Изменено: wowik713.06.2013 20:31:11

     

    Юрий М

    Модератор

    Сообщений: 60588
    Регистрация: 14.09.2012

    Контакты см. в профиле

    wowik7, количество переносов можно узнать программно ))

     

    Юрий М

    Модератор

    Сообщений: 60588
    Регистрация: 14.09.2012

    Контакты см. в профиле

    irakli78, зачем Вам объединённые ячейки? Настрадаетесь потом…

     

    Человек по сути просит написать макрос, а вы на него взъелись.
    Я, к сожалению, не так силен в макросах. Хотя сейчас все равно стараюсь написать.

    С уважением,
    Федор/Все_просто

     

    Юрий М

    Модератор

    Сообщений: 60588
    Регистрация: 14.09.2012

    Контакты см. в профиле

    Кто «взъелся»? )) Я только предупредил про объединение )) А макрос там не очень и сложный…

     

    wowik7

    Пользователь

    Сообщений: 12
    Регистрация: 16.04.2013

    Изменил своё первое сообщение. Прикрепил там файл

     

    Пытливый

    Пользователь

    Сообщений: 4587
    Регистрация: 22.12.2012

    В файле на копии листа1 давите кнопку с побудительной надписью и проверяйте результат.

    Кому решение нужно — тот пример и рисует.

     

    Как вариант с помощью функции SubStr(ссылка на строку, номер фрагмента, разделитель). См. в приложении.

    Прикрепленные файлы

    • Пример.xlsm (17.19 КБ)

     

    irakli78

    Пользователь

    Сообщений: 5
    Регистрация: 13.06.2013

    Просто не хватает слов благодарности!! Честно говоря пока не проверял, зашел с телефона… но все равно спасибо!!:)) завтра посмотрю и обязательно сообщу! Еще раз спасибо!

     

    irakli78

    Пользователь

    Сообщений: 5
    Регистрация: 13.06.2013

    #11

    14.06.2013 10:48:15

    Цитата
    Пытливый пишет:
    В файле на копии листа1 давите кнопку с побудительной надписью и проверяйте результат.

    Хотел бы узнать, а как данный макрос использовать уже в другом файле?

     

    Hugo

    Пользователь

    Сообщений: 23257
    Регистрация: 22.12.2012

    #12

    14.06.2013 10:58:37

    Описка, исправьте в irakli78.xls (45.5 КБ) F на G:

    Код
    Range("G" & lngI & ":G" & lngI + UBound(strA)).Merge
     

    Пытливый

    Пользователь

    Сообщений: 4587
    Регистрация: 22.12.2012

    #13

    14.06.2013 20:18:59

    Цитата
    irakli78 пишет:
    Хотел бы узнать, а как данный макрос использовать уже в другом файле?

    Если структура таблицы такая же (столбцы и шапка расположены так, как в примере), а также нет ячеек в столбце D с одним словом — то переносите код в файл и просто запускайте макрос. Или просто — откройте файл моего примера и свой — и запускайте макрос через Alt+F8/ Макрос-то делался под данные из примера.
    А если там отличия какие — надо смотреть и макрос корректировать, быть может.

    Кому решение нужно — тот пример и рисует.

     

    AVKL

    Пользователь

    Сообщений: 1
    Регистрация: 14.01.2016

    #14

    14.01.2016 16:18:08

    Цитата
    Пытливый написал: Прикрепленные файлы irakli78.xls (45.5 КБ)

    Добрый день Пытливый!
    Спасибо большое за решение! Очень помогло в работе!

     

    mts2050

    Пользователь

    Сообщений: 12
    Регистрация: 01.07.2016

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

    Изменено: mts205030.07.2016 13:50:45

     

    JayBhagavan

    Пользователь

    Сообщений: 11833
    Регистрация: 17.01.2014

    ПОЛ: МУЖСКОЙ | Win10x64, MSO2019x64

    mts2050, и Вам здравия.
    Кол-во разделителей в соседних по горизонтали ячейках всегда одинаковое?

    <#0>
    Формула массива (ФМ) вводится Ctrl+Shift+Enter
    Memento mori

     

    mts2050

    Пользователь

    Сообщений: 12
    Регистрация: 01.07.2016

    Да количество разделителей совпадает.

     

    JayBhagavan

    Пользователь

    Сообщений: 11833
    Регистрация: 17.01.2014

    ПОЛ: МУЖСКОЙ | Win10x64, MSO2019x64

    #18

    30.07.2016 15:05:50

    В примере — не совпадает:

    Цитата
    Буква 1|Буква 2| Буква 3| Буква 4| и т.д. 1|2|3|4 и т.д

    4 и 3. Учту.

    <#0>
    Формула массива (ФМ) вводится Ctrl+Shift+Enter
    Memento mori

     

    JayBhagavan

    Пользователь

    Сообщений: 11833
    Регистрация: 17.01.2014

    ПОЛ: МУЖСКОЙ | Win10x64, MSO2019x64

    #19

    30.07.2016 15:12:50

    запускать когда целевой лист активный

    <#0>
    Формула массива (ФМ) вводится Ctrl+Shift+Enter
    Memento mori

     

    mts2050

    Пользователь

    Сообщений: 12
    Регистрация: 01.07.2016

     

    Jack Famous

    Пользователь

    Сообщений: 10852
    Регистрация: 07.11.2014

    OS: Win 8.1 Корп. x64 | Excel 2016 x64: | Browser: Chrome

    #21

    30.07.2016 16:49:53

    irakli78, mts2050, доброго времени суток! Недавно

    тут

    мне помогли с такой же проблемой. Универсальное решение.
    А как заполнить пустые ячейки значениями из верхних, узнаете тут (готовый макрос в комментариях) ;)

    Во всех делах очень полезно периодически ставить знак вопроса к тому, что вы с давних пор считали не требующим доказательств (Бертран Рассел) ►Благодарности сюда◄

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

    Подробности
    Создано 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 возвращает объединенный текст с указанным разделителем.

    In this guide, we’re going to show you how to split text in Excel by a delimiter.

    Download Workbook

    We have a sample data which contains concatenated values separated by “|” characters. It is important that the data includes a specific delimiter character between each chunk of data to make splitting text easier.

    Text to Columns feature for splitting text

    When splitting text in Excel, the Text to Columns is one of the most common methods. You can use the Text to Columns feature with all versions of Excel. This feature can split text by a specific character count or delimiter.

    1. Start with selecting your data. You can use more than one cell in a column.
    2. Click Data > Text to Columns in the Ribbon.
    3. On the first step of the wizard, you have 2 options to choose from — these are slicing methods. Since our data in this example is split by delimiters, our choice is going to be Delimited.
    4. Click Next to continue
    5. Select the delimiters suitable to your data or choose a character length and click Next.
    6. Choose corresponding data types for the columns and the destination cell. Please note that if the destination cell is the same cell as where your data is, the original data will be overwritten.
    7. Click Finish to see the outcome.

    How to split text by delimiter in Excel 02

    Using formulas to split text

    Excel has a variety of text formulas that you can use to locate delimiters and parse data. When using formulas to do so, Excel automatically updates the parsed values when the source is updated.

    The formula used in this example uses Microsoft 365’s dynamic array feature, which allows you to populate multiple cells without using array formulas. If you can see the SEQUENCE formula, you can use this method.

    Syntax

    =TRIM(MID(SUBSTITUTE( text, separator, REPT( “ “, LEN( text ))),(SEQUENCE( 1, column count ) — 1 ) * LEN( text ) + 1,LEN( text )))

    How it works

    The formula replaces each separator character with space characters first. (see SUBSTITUTE) The number of space characters will be equal to the original string’s character count, which is enough number of spaces to separate each string block (see REPT and LEN).

    The SEQUENCE function generates an array of numbers starting with 1, up to the number of maximum columns. Multiplying these sequential numbers with the length of the original string returns character numbers indicating the start of each block.

    This approach uses the MID function to parse each string block with given start character number and the number of characters to return. Since the separators are replaced with space characters, each parsed block includes these spaces around the actual string. The TRIM function then removes these spaces.

    How to split text by delimiter in Excel 03

    Flash Fill

    The Flash Fill is an Excel tool which can detect the pattern when entering data. A common example is to separate or merge first name and last names. Let’s say column A contains the first name — last name combinations. If you type in the corresponding first name in the same row for column B, Excel shows you a preview for the rest of the column.

    Please note that the Flash Fill is available for Excel 2013 and newer versions only.

    You can see the same behavior with strings using delimiters to separate data. Just select a cell in the adjacent column and start typing. Occasionally Excel will display a preview. If not, press Ctrl + E like below to split your text.

    Power Query

    Power Query is a powerful feature, not only for splitting text, but for data management in general. Power Query comes with its own text splitting tool which allows you to split text in multiple ways, like by delimiters, number of characters, or case of letters.

    If you are using Excel 2016 or newer — including Microsoft 365 — you can find Power Query options under the Data tab’s Get & Transform section. Excel 2010 and 2013 users should download and install the Power Query as an add-in.

    1. Select the cells containing the text.
    2. Click Data > From Sheet. If the data is not in an Excel Table, Excel converts it into an Excel Table first.
    3. Once the Power Query window is open, find the Split Column under the Transform tab and click to see the options.
    4. Select the approach that fits your data layout. The data in our example is using By Delimiter since the data is separated by “|”.
    5. Power Query will show the delimiter character. If you are not seeing the expected delimiter, choose from the list or enter it yourself.
    6. Click OK to split text.
    7. If your data includes headers in its first row, like our example does, click Transform > Use First Row as Headers to keep them as headers.
    8. One you satisfied with the result, click the Home > Close & Load button to move the split data into your workbook.

    VBA

    VBA is the last text splitting option we want to show in this article. You can use VBA in two ways to split text:

    1. By calling the Text to Columns feature using VBA,
    2. Using VBA’s Split function to create array of sub-strings and using a loop to distribute the sub-strings into adjacent cells in the same row.

    Text to Columns by VBA

    The following code can split data from selected cells into the adjacent columns. Note that each supported delimiter is listed as an argument which you can enable or disable by giving them either True or False. Briefly, True means that you want to set that argument as a delimiter and False means ignore that character.

    An easy way to generate a VBA code to split text is to record a macro. Start a recording section using the Record Macro button in the Developer tab, and use the Text to Columns feature. Once the recording is stopped, Excel will save the code for what you did during recording.

    The code:

    Sub VBATextToColumns_Multiple()
    Dim MyRange As Range
    Set MyRange = Selection ‘To work on a static range replace Selection via Range object, e.g., Range(“B6:B12”)

    MyRange.TextToColumns _
    Destination:=MyRange(1, 1).Offset(, 1), _
    DataType:=xlDelimited, _
    TextQualifier:=xlDoubleQuote, _
    ConsecutiveDelimiter:=False, _
    Tab:=True, _
    SemiColon:=False, _
    Comma:=False, _
    Space:=False, _
    Other:=True, _
    OtherChar:=»|»
    End Sub

    Split Function

    Split function can be useful if you want to keep the split blocks in an array. You can only use this method for splitting because of the single delimiter constraint. The following code loops through each cell in a selected column, splits and stores text by the delimiter “|”, and uses another loop to populate the values in the array on cells. The final EntireColumn.AutoFit command adjusts the column widths.

    The code:

    Sub SplitText()
    Dim StringArray() As String, Cell As Range, i As Integer
    For Each Cell In Selection ‘To work on a static range replace Selection via Range object, e.g., Range(“B6:B12”)
    StringArray = Split(Cell, «|») ‘Change the delimiter with a character suits your data
    For i = 0 To UBound(StringArray)
    Cell.Offset(, i + 1) = StringArray(i)
    Cell.Offset(, i + 1).EntireColumn.AutoFit ‘This is for column width and optional.
    Next i
    Next
    End Sub

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

    Здесь введите два метода для решения этой задачи.

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

    Разделить текст с разделителями на строки с помощью Power Query


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

    Вот код VBA, который может быстро разделить текст с разделителями на строки.

    1. Нажмите другой + F11 ключи для включения Microsoft Visual Basic для приложений окно.

    2. Нажмите Вставить вкладка> Модули для создания нового пустого модуля.

    3. Скопируйте и вставьте приведенный ниже код в пустой модуль.

    VBA: разделить текст с разделителями на строки

    Public Sub SplitTextInCellsToRows()
    'UpdatebyExtendoffice20220622
        Dim xSRg, xIptRg, xCrRg, xRg As Range
        Dim xSplitChar As String
        Dim xArr As Variant
        Dim xFNum, xFFNum, xRow, xColumn, xNum As Integer
        Dim xWSh As Worksheet
        Set xSRg = Application.InputBox("Select a range:", "Kutools for Excel", , , , , , 8)
        If xSRg Is Nothing Then Exit Sub
        xSplitChar = Application.InputBox("Type delimiter:", "Kutools for Excel", , , , , , 2)
        If xSplitChar = "" Then Exit Sub
    
        Application.ScreenUpdating = False
        xRow = xSRg.Row
        xColumn = xSRg.Column
        Set xWSh = xSRg.Worksheet
        For xFNum = xSRg.Rows.Count To 1 Step -1
            
            Set xRg = xWSh.Cells.Item(xRow + xFNum - 1, xColumn)
            Debug.Print xRg.Address
            xArr = Split(xRg, xSplitChar)
            For xFFNum = LBound(xArr) To UBound(xArr)
                xRg.EntireRow.Copy
                xRg.Offset(1, 0).EntireRow.Insert Shift:=xlShiftDown
                xRg.Worksheet.Cells(xRow + xFNum, xColumn) = xArr(xFFNum)
            Next
            xRg.EntireRow.Delete
        Next
        Application.CutCopyMode = False
        Application.ScreenUpdating = True
    End Sub

    4. Нажмите F5 ключ, чтобы нажать кнопку запуска текст заливки документа на основе цвета 1 чтобы активировать код, появляется диалоговое окно для выбора столбца, который исключает заголовок, содержащий текст с разделителями, необходимый для разделения на строки. Нажмите OK.
    текст заливки документа на основе цвета 1

    5. Затем появится второе диалоговое окно для ввода используемого вами разделителя. Здесь вводится запятая (,). Нажмите OK.
    текст заливки документа на основе цвета 1

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

    текст заливки документа на основе цвета 1  VBA изменит исходные данные, перед этим лучше сохранить их копию.


    Разделить текст с разделителями на строки с помощью Power Query

    Если вы используете Excel 2013 или более поздние версии, Power Query будет хорошим выбором для решения этой работы.

    1. Выберите диапазон данных, чтобы нажать Данные > Из таблицы/диапазона.
    текст заливки документа на основе цвета 1

    2. Во всплывающем Создать таблицу диалог, проверьте В моей таблице есть заголовки как вам нужно, и нажмите OK.
    текст заливки документа на основе цвета 1

    Тогда Редактор Power Query отображается окно, и данные были показаны в нем.
    текст заливки документа на основе цвета 1

    3. Щелкните столбец, в котором вы хотите разделить тексты с разделителями на строки, и щелкните Преобразование вкладка> Разделить столбец > По разделителю.
    текст заливки документа на основе цвета 1

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

    4. в Разделить столбец по разделителю окно, выберите разделитель, как вам нужно из Выберите или введите разделитель раздел, затем выберите Каждое появление разделителя вариант, а затем развернуть Дополнительные параметры раздел на выбор Ряды вариант. Нажмите OK.
    текст заливки документа на основе цвета 1

    Теперь тексты с разделителями разбиты на строки.
    текст заливки документа на основе цвета 1

    5. Затем закройте окно, появится диалоговое окно, нажмите Сохранить кнопку.
    текст заливки документа на основе цвета 1

    Затем будет создан новый лист с таблицей.
    текст заливки документа на основе цвета 1


    Прочие операции (статьи)

    Как изменить цвет строки на основе группы в Excel?
    В Excel раскрашивание каждой второй строки может быть проще для большинства из нас, но, пробовали ли вы когда-нибудь раскрасить строки поочередно в зависимости от изменения значения столбца — Столбец A, как показано на следующем снимке экрана, в этой статье я расскажу о том, как для изменения цвета строки в зависимости от группы в Excel.

    Как уменьшить размер файла Excel?
    Иногда для открытия или сохранения требуется несколько минут, если файл Excel слишком велик. Для решения этой проблемы здесь, в этом руководстве, рассказывается, как уменьшить размер файла Excel, удалив содержимое или форматы, которые не нужны или никогда не используются.

    Excel: как создать или вставить закладку
    Вы когда-нибудь представляли себе создание или вставку закладки для быстрого перехода к определенному диапазону данных, когда на листе или в книге много данных?

    Как применить затенение к нечетным или четным (альтернативным) строкам / столбцам в Excel?
    При разработке рабочего листа многие люди склонны применять затенение к нечетным или четным (альтернативным) строкам или столбцам, чтобы сделать рабочий лист более наглядным. В этой статье будут показаны два метода применения затенения к нечетным или четным строкам / столбцам в Excel.


    Лучшие инструменты для работы в офисе

    Kutools for Excel Решит большинство ваших проблем и повысит вашу производительность на 80%

    • Бар Супер Формулы (легко редактировать несколько строк текста и формул); Макет для чтения (легко читать и редактировать большое количество ячеек); Вставить в отфильтрованный диапазон
    • Объединить ячейки / строки / столбцы и хранение данных; Разделить содержимое ячеек; Объедините повторяющиеся строки и сумму / среднее значение… Предотвращение дублирования ячеек; Сравнить диапазоны
    • Выберите Дубликат или Уникальный Ряды; Выбрать пустые строки (все ячейки пустые); Супер находка и нечеткая находка во многих рабочих тетрадях; Случайный выбор …
    • Точная копия Несколько ячеек без изменения ссылки на формулу; Автоматическое создание ссылок на несколько листов; Вставить пули, Флажки и многое другое …
    • Избранные и быстро вставляйте формулы, Диапазоны, диаграммы и изображения; Зашифровать ячейки с паролем; Создать список рассылки и отправлять электронные письма …
    • Извлечь текст, Добавить текст, Удалить по позиции, Удалить пробел; Создание и печать промежуточных итогов по страницам; Преобразование содержимого ячеек в комментарии
    • Суперфильтр (сохранять и применять схемы фильтров к другим листам); Расширенная сортировка по месяцам / неделям / дням, периодичности и др .; Специальный фильтр жирным, курсивом …
    • Комбинируйте книги и рабочие листы; Объединить таблицы на основе ключевых столбцов; Разделить данные на несколько листов; Пакетное преобразование xls, xlsx и PDF
    • Группировка сводной таблицы по номер недели, день недели и другое … Показать разблокированные, заблокированные ячейки разными цветами; Выделите ячейки, у которых есть формула / имя

    вкладка kte 201905


    Вкладка Office — предоставляет интерфейс с вкладками в Office и значительно упрощает вашу работу

    • Включение редактирования и чтения с вкладками в Word, Excel, PowerPoint, Издатель, доступ, Visio и проект.
    • Открывайте и создавайте несколько документов на новых вкладках одного окна, а не в новых окнах.
    • Повышает вашу продуктивность на 50% и сокращает количество щелчков мышью на сотни каждый день!

    офисный дно

    Понравилась статья? Поделить с друзьями:
  • Распределение стьюдента в excel график
  • Распознать сканированный текст в word онлайн бесплатно
  • Распознать скан pdf в word онлайн
  • Распределение столбца по столбцам excel
  • Распознать рисунок в word онлайн бесплатно