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;»,»,»;») |
На следующем рисунке показаны результаты.
Данные |
||||||
Делай. Или не делай. Не пробуй. – Аноним |
||||||
Формулы |
||||||
=ТЕКСТРАЗД(A2;».») |
||||||
=ТЕКСТРАЗД(A2;{«.»,»-«}) |
||||||
=ТЕКСТРАЗД(A2;{«.»,»-«};;ЛОЖЬ) |
На следующем рисунке показаны результаты.
Данные |
|||
Делай. Или не делай. Не пробуй. – Аноним |
|||
Формулы |
|||
=ТЕКСТРАЗД(A2;;».») |
На следующем рисунке показаны результаты.
Данные |
|||
Делай. Или не делай. Не пробуй. – Аноним |
|||
Формулы |
|||
=ТЕКСТРАЗД(A2;;{«.»,»-«}) |
На следующем рисунке показаны результаты.
Данные |
|||
Делай. Или не делай. Не пробуй. – Аноним |
|||
Формулы |
|||
=ТЕКСТРАЗД(A2;;{«.»,»-«};ИСТИНА) |
На следующем рисунке показаны результаты.
Совет Чтобы удалить ошибку #Н/Д, используйте функцию ЕСНД. Можно также добавить аргумент «заполняющее_значение».
Данные |
|||||
Делай. Или не делай. Не пробуй. – Аноним |
|||||
Формулы |
|||||
=ТЕКСТРАЗД(A2;» «,».»;ИСТИНА) |
На следующем рисунке показаны результаты.
См. также
Текстовые функции (справочник)
Функция ТЕКСТДО
Функция ТЕКСТПОСЛЕ
Функция ОБЪЕДИНИТЬ
Функция CONCAT
Нужна дополнительная помощь?
Разделить текст Excel на несколько ячеек.
Смотрите также: — текст. блокКак обратно вернуть блоков текста. клавиш управления курсором объединил в себе: а как в
& «|», «|») что бы текст телефона… но все B6 и т.д. 3 или 2Т.е. фамилия будет помещена можно выделить некоторые (др. слова) былиЗдесь рассмотрим,kasan №2 и т.д. переносы строк вместоКаждый такой блок клавиатуры, как и
В режиме редактирования, ячейки толь самые полезные формуле обозначить знак arrTmp2 = Split(arrDataIn(i,
разбивался не в равно спасибо!!Подойдёт так, Ираклий? составляющих. В случае в столбец с строки, столбцы (например, написаны через запятую,как разделить текст в, Благодарю, то, чтоЧем вас обыкновенный этого символа?
уникален и содержит в других программах обладают функционалом простейшего функции текстового редактора. «разделение», которое ставится 3) & «|», одной ячейке, а) завтра посмотрю иЮрий М со строкой из отчествами. итоговые) выделить другим то мы бы ячейке Excel на надо!!! Можете расписать импорт не устраивает?Alex Dark несколько строк. Между Windows:
текстового редактора. Главное Ничего лишнего в при помощи клавиш «|») n2 = в нескольких и обязательно сообщу! Еще: wowik7, количество переносов 4-х слов (например,Рассмотрим вариант разделения ФИО цветом, разделительной линией. указали разделителем «запятая». несколько ячеек. создание такого типау меня всё: В Excel - каждым блоком имеетсяКлавиша «DELETE» удаляет символ отличие – это
нем нет. Alt+Enter, т.е. перенос WorksheetFunction.Max(UBound(arrTmp1, 1) - соотносился между ними. раз спасибо! можно узнать программно Василий Петрович Лукьяненко по столбцам с
Подробнее, смотрите вВ этом окне, в
Например, предложение из макросов либо ссылку импортировалось без проблем Найти — n 3 пустых строки. справа, а «Backspace» разбиение текста на
Редактировать содержимое ячеек можно на др.строку……..как его 1, UBound(arrTmp2, 1) Пример в файле.irakli78 )) мл.) будет получен помощью формул. Перед статье «Разделительная линия разделе «Образец разбора
первой ячейки разнести на будущее для (по вашему описанию).Заменить на -ДержитеНужно перенести все слева. строки. двумя способами:
записать в формулу? — 1) ReDimJayBhagavan: Хотел бы узнать,Юрий М неудовлетворительный результат. использованием формул исходную строк в таблице
excel-office.ru
Разнесение в MS EXCEL текстовых строк по столбцам
данных» сразу видно, по словам в самост. выполнения. ЗаранееА… кажется догнал…
Alt и набираете это в excelCTRL+ «стрелка влево» переходВнимание!1 Из строки формул.Приведенную Вами формулу, Preserve arrTmp1(0 To: mts2050, и Вам а как данный
: irakli78, зачем Вамirakli78 строку нужно пропустить Excel» тут. какие столбцы у несколько других ячеек, благодаренА где гарантия на цифровой панели файл. Но так,
на начало слова,Чтобы разбить текст Щелкните по ячейке,
я уже видела n2) ReDim Preserve здравия. макрос использовать уже объединённые ячейки? Настрадаетесь: Добрый день! Буду
через функцию СЖПРОБЕЛЫ().Можно разделить ячейку
нас получатся. Нажимаем
ФИО, дату, т.д.kasan что ваш текстовой 0010
чтобы 1 строка
а CTRL+ «стрелка
на строки в в которой необходимо здесь в других arrTmp2(0 To n2)
Кол-во разделителей в в другом файле?
потом… очень благодарен, еслиОпределяем Имя (см. файл по диагонали и,
кнопку «Далее».Например, у нас: блок по объёмуЗаменить все в файле excel
вправо» – в
одной ячейке Excel
отредактировать данные. В вопросах, но я For j = соседних по горизонталиHugoВсе_просто
кто-нибудь посоветует как примера) в каждой частиЗдесь, в разделе есть список с77Роман777 поместится в ячейке?Не можете оригинальный содержала 1 текстовый конец слова. нужно нажать комбинацию строке формул отобразиться
excel2.ru
Помогите текст разбить на ячейки по строкам
не знаю, как 0 To n2 ячейках всегда одинаковое?: Описка, исправьте в: Человек по сути можно разбить текст=ЛЕВСИМВ(B5;ПОИСК(» «;B5;1)-1) написать текст. Читайте, «Поместить в:» указываем
фамилиями, именами в
, что значит расписать?
ps и я файл, нарисуйте свой блок.«HOME» смещает курсор клавиатуры клавиш Alt+Enter. Тогда содержимое, которое доступно обозначить мой разделитель lCnt = lCntmts2050 irakli78.xls (45.5 КБ) просит написать макрос, который в одной
Формула ищет первый пробел как это сделать, диапазон столбцов, в одном столбце. НамSub Roman777() Dim
бы это реализовал пример, наиболее приближенныйПодскажите пожалуйста, как в начало строки, вы сможете перейти для редактирования. Сделайте ))) + 1 With
: Да количество разделителей F на G: а вы на ячейке на несколько и все, что
в статье «Как
которые поместятся новые нужно написать фамилии arr As Variant макросомОн помещается, если
к реальному. реализовать эту задачу? а «END» – на новую строку
необходимые изменения, после…..надеюсь понятно написала wshResult .Cells(lCnt, 1) совпадает.Range(«G» & lngI
него взъелись. строк с соблюдением левее его относит разделить ячейку в данные.
в одном столбце, ‘ массив типа вручную копировать.Так в ExcelЗаранее спасибо! в конец. в ячейке. В
чего нажмите Enter )) = arrDataIn(i, 1)JayBhagavan
& «:G» &Я, к сожалению, некоторых параметров… к имени. Excel» здесь.Внимание!
а имена в Variant Dim DataCount,А как это или в LibreOfficeCyber FreakЕсли в тексте более
том месте текста, или кликните поVlad999 .Cells(lCnt, 2) =: В примере - lngI + UBound(strA)).Merge не так силенПример прилагаюОпределяем Отчество:Удобнее работать в
Столбцы этого диапазона другом столбце. Например, i, j, count реализовать макросом? И надо сделать?
: Перенос строки заменить одной строки то где находится курсор кнопке «Ввод», которая
: СИМВОЛ(10) и есть arrTmp1(j) .Cells(lCnt, 3) не совпадает:4 и
Пытливый в макросах. ХотяЗаранее благодарю!!!=ЕСЛИ(ЕОШИБКА(ПОИСК(» «; таблице, где в должны быть пустыми, чтобы определить пол As Integer ‘ LibreOffice поддерживает макросы?НаCyber Freak на что-нибудь незначащее. комбинации CTRL+HOME и клавиатуры, появится перенос размещена в начале этот разделитель. = arrTmp2(j) End 3. Учту.: Если структура таблицы сейчас все равно
wowik7ПРАВСИМВ(B5; ДЛСТР(B5) - ячейках не видны иначе информация в людей в списке.
переменные типа Integer сколько я знаю
: Если примерно, тоПеренести CTRL+END перемещают курсор
строки и соответственно строки формул. Дляне совсем понял With ‘ wshResultJayBhagavan такая же (столбцы стараюсь написать.: Скажите, а известно,
ПОИСК(» «; B5; нули. Как их них сотрется и
Подробнее об этом DataCount = Sheets(«Sheet1»).Cells(Rows.count, — ДА
каждый текстовый блокЗаменить «незначащее» на в начало или
начало новой. отмены изменений можно вопрос. Приложите файл Next j Next
: запускать когда целевой и шапка расположеныЮрий М сколько будет слов 1)); 1)) = убрать, скрыть, заменить, заменится на новую. читайте в статье «A»).End(xlUp).Row ‘ считаемНо либры у имеет 15 строк. пробел в конец целогоВ обычных редакторах текст нажать клавишу «Esc» пример, так есть, i End Sub лист активный Option так, как в: Кто «взъелся»? )) в строке? Вот ИСТИНА; «»; читайте в статье Если нет пустых «В Excel по количество строк в меня нет. А Между ними такжеCyber Freak текста. делится на строки или кнопку «Отмена» так хотелось быmts2050 Explicit Sub jjj_split() примере), а также Я только предупредил в приложенной книгеЛЕВСИМВ(ПРАВСИМВ(B5;ДЛСТР(B5) — ПОИСК(« «Как убрать нули столбцов, можно предварительно имени определить пол». таблице, которую надо файл вы выложить есть пустые строки,: Что-то не получаетсяПримечание. Точно так же нажатием клавиши Enter, (возле кнопки «Ввод»). получить сделанный вручную.: Спасибо.
Dim awsh As нет ячеек в
про объединение )) 4 слова и «; B5; 1)); в Excel». вставить столбцы. КакВыделяем ячейки, текст
разделять arr = не можете. но не больше так редактируются: формулы, функции,
planetaexcel.ru
Разбить текст ячейки (строки), содержащий разделитель, на строки
но в Excel2 Из самой ячейки.ФишкаJack Famous Worksheet Dim wshResult
столбце D с А макрос там все разделены запятойПОИСК(» «; ПРАВСИМВ(B5;Разнесем Фамилию, Имя и это сделать, смотрите в которых нужно
Sheets(«sheet1»).Range(«A2:B» & DataCount)Поэтому ни чем одной.Cyber Freak числа, даты и данное действие выполняет Перейдите на ячейку: Ну как-то так
: irakli78, mts2050, доброго As Worksheet Dim одним словом - не очень и и пробелом. Известно, ДЛСТР(B5) — ПОИСК(« Отчество (ФИО), содержащихся
в статье «Как разделить или весь
‘ записываем в помочь не могуПриблизительно выглядит это
: Без файла только логические значения. функцию подтверждения вода и нажмите клавишу ))
времени суток! Недавно arrDataIn Dim i то переносите код
сложный… что разделение будет «; B5; 1));
в одной ячейке, добавить строку, столбец столбец. массив таблицу For77Роман777 так:
CyberForum.ru
Редактирование ячейки в Excel и разбиение текста на несколько строк
рассужденияСтоит еще отметить, что данных и переход F2 или сделайтеФишка мне помогли с As Long Dim в файл и
wowik7 таким же и 1) — 1)) по разным столбцам. в Excel» тут.Заходим на закладке «Данные» i = 1: Нужно разделить excelЗатем идет 3
Редактирование строки текста в ячейках
Cyber Freak простой режим редактирования
- на следующую ячейку. по ней двойной: ой, забыла написать, такой же проблемой. n As Long просто запускайте макрос.: Изменил своё первое слов обязательно 4Формула определяет, есть лиИнструмент Текст-по-столбцам (вкладкаМожно указать формат в раздел «Работа To UBound(arr, 1) таблицу по строчно, пустых строки и: Файл к сожалению позволяет задавать тексту
- Поэтому как написать щелчок мышкой. Тогда как надо ))Универсальное решение. Dim arrTmp1$(), arrTmp2$() Или просто - сообщение. Прикрепил там ? Отчество, и еслиДанные Ячеек столбцов. Например, с данными» и ‘ цикл по пример дальше следующий похожий не могу предоставить. свой стиль оформления:
несколько строк в в ячейке появитсяVlad999А как заполнить Dim n2 As откройте файл моего файл
Как вариант, метод
Как сделать несколько строк в ячейке Excel?
находит, то отображает, группа если вы делите выбираем функцию «Текст всем строкам массиваСтолбец1 Столбец2
текстовый блок, состоящий
В общем, как полужирный, курсив, подчеркнутый ячейке Excel жмите курсор клавиатуры, а: Решение макросом в пустые ячейки значениями Long Dim j примера и свойПытливый с использованием «Данные» его. Фактически онаРабота с данными столбец на дни
по столбцам». В For j =Артикул Количество из такого же то разделил каждый и цвет. Alt+Enter. ее размер изменится теме: Разбить текст из верхних, узнаете As Long Dim — и запускайте
: В файле на —> «Работа с определяет наличие второго, пункт и месяцы, год, появившемся окне «Мастер 1 To arr(i,ААААА 3 количества строк. блок текста наОбратите внимание, что стильОбратите внимание, что после на время редактирования.
Режим редактирования
ячейки (строки), содержащий (готовый макрос в lCnt As Long макрос через Alt+F8/ копии листа1 давите данными» —> «Текст
- пробела.Текст-по-столбцам то можно указать
- текстов», в строке 2) ‘ циклНужно перевести вЖелательно в LibreOffice. строки, но теперь
- текста не отображается разделения одной строки После всех изменений разделитель, на строки
- комментариях) Set awsh = Макрос-то делался под кнопку с побудительной по столбцам»Определяем Фамилию:) используется для разнесения
«Формат данных столбца» «Формат исходных данных» по количеству каждого формат
Alex Dark у меня все в строке формул, в ячейке на нажмите Enter или макросом
Фишка ActiveSheet With awsh данные из примера. надписью и проверяйтеВыделяете две нужных=ПРАВСИМВ(B5;ДЛСТР(B5)-ДЛСТР(C5)-ДЛСТР(D5)-ЕСЛИ(D5=»»;1;2))
элементов текстовой строки — «дата». указываем – «С артикула Range(«D» &
exceltable.com
Как разделить данные по строкам?
ААААА 1: А должно стать
переносы строк заменены поэтому его удобнее две и более Tab или кликните
Если ячейка содержит большой: Необходимо разбить текст arrDataIn = .Range(«A2:C»А если там результат.
ячейки, кликаетеФормула основывается на результатах по различным столбцам.Нажимаем кнопку «Готово». разделителями». Нажимаем кнопку Sheets(«Sheet1»).Cells(Rows.count, «D»).End(xlUp).Row +ААААА 1
как? на лишний ненужный
задавать, редактируя непосредственно
с помощью клавиш мышкой на любую текст или сложную
в ячейке (с
& .Cells(.Rows.CountLarge, 1).End(xlUp).Row).Value отличия какие -
Voditel_CDROMaТекст по столбцам вычисления двух предыдущих
Однако, если исходные текстовые Получилось так. «Далее».
1) = arr(i,ААААА 1Должно стать так,
символ. в самой ячейке. Alt+Enter, то автоматически другую ячейку. Для формулу, но с разделителями «Alt+Enter») на .Parent.Sheets.Add , awsh, надо смотреть и
: Как вариант си указываете в формул и выводит строки имеют разныйТак можно разделить текстЗдесь указываем в строке 1) ‘ вkasan чтобы все эти
В LibreOffice 4.4Читайте так же: как активируется опция «формат
отмены редактирования нажмите ошибками, то нет отдельные строки
1, xlWorksheet End макрос корректировать, быть помощью функции SubStr(ссылка качестве разделителей Запятую
всю исходную строку
формат, например, если из одной ячейки «Символом – разделителем ячейку записываем артикул
: Вариант с макросом. данные поместились в делаю замену на
перевести число и ячеек»-«выравнивание»-«перенос по словам». клавишу «Esc». смысла удалять ихGenbor With ‘ awsh может. на строку, номер
и пробел. Ячейку за исключением Имени
в некоторых ФИО на большее количество является» — «пробел». Range(«E» & Sheets(«Sheet1»).Cells(Rows.count,AlexM excel файл, где
«n», используя регулярные
сумму прописью в Притом что самаПримечание. При редактировании не
вводить все данные: Код =ПОДСТАВИТЬ(A1;»»;СИМВОЛ(10)) - Set wshResult =AVKL фрагмента, разделитель). См. вывода я указал и Отчества. отсутствует отчество, то столбцов. Например, здесь Поставили «пробел», потому «E»).End(xlUp).Row + 1): Вариант формулой массива
каждый текстовой блок выражения, но ничего
Excel. эта функция не забывайте о кнопках
заново. Рациональнее их
это символ, на ActiveSheet n =: Добрый день Пытливый! в приложении.
B6 (Лист2)Этот подход не является у инструмента Текст-по-столбцам могут разделили дату отдельно
что в нашем = 1 ‘ Код =ЕСЛИ(СУММ(B$2:B$99) будет в одной не выходит. Вернее,
Cyber Freak разбивает строку на отмены / повтора просто отредактировать.
основании которого будет UBound(arrDataIn, 1) lCnt
CyberForum.ru
Разделение по строкам в Excel
Спасибо большое заirakli78А в итоговой универсальным для разделения
сложности с корректным
по столбцам –
списке имя и
в ячейку записываемAlexM
ячейке, построчно. То
делается не замена
: Здравствуйте!
слова, а оптимизирует действий на панели
Для редактирования значений в переноситься строка (запятая, = 0 For
решение! Очень помогло: Просто не хватает таблице я записал
строк по столбцам. отнесением значений в число, месяц, год. фамилия написаны через 1 Next ‘: Еще много вариантов есть, ячейка А1 на перенос строки,Есть файл в ее отображение.
быстрого доступа. Или Excel предусмотрен специальный точка с запятой, i = 1
в работе! слов благодарности!! Честно в ячейках ссылки Он работает, если столбцы. Можно наблюдатьДля большей наглядности пробел. Если бы Next i ‘ решения — текст. блок а на обычные формате txt, вВ режиме редактирования работают о комбинациях клавиш режим. Он максимально точка и т.д.) To n arrTmp1mts2050 говоря пока не на ти самые строка содержит только такую картину: в таблице Excel имя и фамилия End Sub77Роман777 №1, ячейка А2 символы «n». котором очень много все стандартные комбинации CTRL+Z и CTRL+Y. прост, но гармоничноФишка = Split(arrDataIn(i, 2): Подскажите как сделать
CyberForum.ru
проверял, зашел с
Большинство опытных пользователей Excel умеют пользоваться встроенным интерфейсным средством для разбивки текстовой строки на составляющие с использованием символа разделителя. В некоторых ситуациях может оказаться удобнее разобрать текст не с помощью интерфейса, а с использованием формул. Как ни странно, но Excel не имеет встроенной стандартной функции рабочего листа для проведения таких действий. Это тем более непонятно, так как VBA поддерживает стандартную функцию Split, облегчающую решение подобных задач.
В примере созданы 2 сложные формулы для разбивки текста по столбцам и строкам. Их также можно использовать для выборки текстовой составляющей по порядковому номеру.
Напомним, что интерфейсное средство “Текст по столбцам” доступно через меню и ленту Excel Данные Текст по столбцам.
В файле-примере показано два типа формулы для разделения текста на составляющие:
- текст по столбцам (диапазон B5:K6)
- текст по строкам (диапазон A10:B19)
В качестве разделителя текста используется символ “,” (запятая). В служебных целях задействованы еще два символа ” ” (математические знаки “меньше” и “больше”). Эти символы не могут находится в исходном тексте, в противном случае формула будет работать неверно. И разделитель, и служебные символы можно заменить на любые другие, главное, чтобы они не могли быть задействованы в исходном тексте. Для замены исправьте константы во всех местах формулы.
Формула в ячейке B5 и далее по столбцам обрабатывает исходный текст из ячейки A5:
Формула в ячейке A10 и далее по строкам обрабатывает исходный текст из ячейки A9:
Формулы ссылаются только на исходный текст и не требуют наличия других предварительно вычисленных составляющих. Варианты отличаются только автоматическим определением порядкового номера текстовой составляющей, в первом случае – это подформула для вычисления номера от количества столбцов: COLUMNS($B:B); во втором – от количества строк: ROWS($10:10). При копировании диапазон столбцов и строк автоматически расширяется, вычисляя таким образом нужное значение. Вместо этой подформулы можно задать константу или переменную, определяющую требуемый номер. Из результатирующих текстовых значений убираются лишние пробелы при помощи функции TRIM().
Наверняка можно сделать формулу покороче, используя другие методы поиска. Это просто наш вариант – оригинальный, нигде не подсмотренный
Делим слипшийся текст на части
Итак, имеем столбец с данными, которые надо разделить на несколько отдельных столбцов. Самые распространенные жизненные примеры:
- ФИО в одном столбце (а надо – в трех отдельных, чтобы удобнее было сортировать и фильтровать)
- полное описание товара в одном столбце (а надо – отдельный столбец под фирму-изготовителя, отдельный – под модель для построения, например, сводной таблицы)
- весь адрес в одном столбце (а надо – отдельно индекс, отдельно – город, отдельно – улица и дом)
- и т.д.
Способ 1. Текст по столбцам
Выделите ячейки, которые будем делить и выберите в меню Данные – Текст по столбцам (Data – Text to columns) . Появится окно Мастера разбора текстов:
На первом шаге Мастера выбираем формат нашего текста. Или это текст, в котором какой-либо символ отделяет друг от друга содержимое наших будущих отдельных столбцов (с разделителями) или в тексте с помощью пробелов имитируются столбцы одинаковой ширины (фиксированная ширина).
На втором шаге Мастера, если мы выбрали формат с разделителями (как в нашем примере) – необходимо указать какой именно символ является разделителем:
Если в тексте есть строки, где зачем-то подряд идут несколько разделителей (несколько пробелов, например), то флажок Считать последовательные разделители одним (Treat consecutive delimiters as one) заставит Excel воспринимать их как один.
Выпадающий список Ограничитель строк (Text Qualifier) нужен, чтобы текст заключенный в кавычки (например, название компании “Иванов, Манн и Фарбер”) не делился по запятой
внутри названия.
И, наконец, на третьем шаге для каждого из получившихся столбцов, выделяя их предварительно в окне Мастера, необходимо выбрать формат:
- общий – оставит данные как есть – подходит в большинстве случаев
- дата – необходимо выбирать для столбцов с датами, причем формат даты (день-месяц-год, месяц-день-год и т.д.) уточняется в выпадающем списке
- текстовый – этот формат нужен, по большому счету, не для столбцов с ФИО, названием города или компании, а для столбцов с числовыми данными, которые Excel обязательно должен воспринять как текст. Например, для столбца с номерами банковских счетов клиентов, где в противном случае произойдет округление до 15 знаков, т.к. Excel будет обрабатывать номер счета как число:
Кнопка Подробнее (Advanced) позволяет помочь Excel правильно распознать символы-разделители в тексте, если они отличаются от стандартных, заданных в региональных настройках.
Способ 2. Как выдернуть отдельные слова из текста
Если хочется, чтобы такое деление производилось автоматически без участия пользователя, то придется использовать небольшую функцию на VBA, вставленную в книгу. Для этого открываем редактор Visual Basic:
- в Excel 2003 и старше – меню Сервис – Макрос – Редактор Visual Basic(Tools – Macro – Visual Basic Editor)
- в Excel 2007 и новее – вкладка Разработчик – Редактор Visual Basic (Developer – Visual Basic Editor) или сочетание клавиш Alt+F11
Вставляем новый модуль (меню Insert – Module) и копируем туда текст вот этой пользовательской функции:
Теперь можно найти ее в списке функций в категории Определенные пользователем (User Defined) и использовать со следующим синтаксисом:
=SUBSTRING(Txt; Delimeter; n)
- Txt – адрес ячейки с текстом, который делим
- Delimeter – символ-разделитель (пробел, запятая и т.д.)
- n – порядковый номер извлекаемого фрагмента
Способ 3. Разделение слипшегося текста без пробелов
Тяжелый случай, но тоже бывает. Имеем текст совсем без пробелов, слипшийся в одну длинную фразу (например ФИО “ИвановИванИванович”), который надо разделить пробелами на отдельные слова. Здесь может помочь небольшая макрофункция, которая будет автоматически добавлять пробел перед заглавными буквами. Откройте редактор Visual Basic как в предыдущем способе, вставьте туда новый модуль и скопируйте в него код этой функции:
Теперь можно использовать эту функцию на листе и привести слипшийся текст в нормальный вид:
Разбить по строкам/столбцам
Данная функция является частью надстройки MulTEx
- Описание, установка, удаление и обновление
- Полный список команд и функций MulTEx
- Часто задаваемые вопросы по MulTEx
- Скачать MulTEx
Вызов команды:
MulTEx -группа Ячейки/Диапазоны –Диапазоны –Разбить по строкам/столбцам
Эта команда разбивает данные во всех выделенных ячейках на части, используя в качестве разделителя указанные символ/символы. Главная особенность – в отличие от стандартной команды Excel “Разбить по столбцам”, данная команда заносит результат разбиения данных в строки либо столбцы в одну строку/столбец, а не каждую часть в свой столбец. К тому же в стандартной команде Excel нет возможности указать несколько символов – только один.
Диапазон значений – указывается диапазон ячеек, данные которых необходимо разбить. Может быть как одним столбцом/строкой, так и диапазоном, состоящим из нескольких строк и нескольких столбцов.
Разделитель – указывается символ (или группа символов), который будет применен в качестве разделителя. Если разделитель не указан, то появится сообщение, информирующее об этом. В сообщении будет предложено использовать разделитель по умолчанию (Пробел). В случае отказа Вы сможете указать необходимый разделитель. Данные, внесенные ранее не будут утеряны.
- Специальный – можно добавить в поле Разделитель один из специальных символов: неразрывный пробел или перенос на строки. Стандартно такие символы невозможно ввести с клавиатуры, но они могут часто встречаться в ячейках. Например, эти символы часто применяется в выгрузках из различных программ(вроде 1С): неразрывный пробел для разделения цифр или слов, которые не надо переносить на строки, а перенос на строки – для разделения основания платежей и иной информации.
Если в поле Разделитель уже указан какой-либо символ, то при выборе дополнительно специального символа будет показано сообщение:
Поместить результат:
- Начиная с ячейки – одна ячейка, начиная с которой будет выводиться результат. Не может находиться в Диапазоне значений. В случае, если Диапазон значений состоит из нескольких строк и столбцов, данные будут разбиты в соответствии с расположением данных:
- В одну ячейку – результирующие значения будут помещены в одну ячейку, разделенные между собой указанным разделителем:
Разделитель результата:
Доступно только если в качестве вывода результата указана одна ячейка. По умолчанию разделителем является перенос на строки. В качестве разделителя можно указать любой символ или группу символов.
- Перенос на строки – каждое новое результирующее значение в ячейке будет записано с новой строки:
- Произвольный – любой символ, буква, цифра или группа символов(словосочетания, цифры и т.п.).
Транспонировать – если Диапазон значений представляет собой столбец, то данные после обработки будут помещены в одну строку. Если Диапазон значений – строка, то данные будут помещены в столбец. Недоступно при выводе результата в одну ячейку.
Как разделить текст в ячейке 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: разделяем слипшийся текст
Случается, что содержание одного столбца нужно разбить на несколько. Например:
- слишком обширное описание товара (а нужно, чтоб наименование, характеристики и актуальное наличие были разбиты);
- полный адрес в одном столбце (а нужно, чтоб индекс, область, район и прочие данные были разбиты);
- ФИО в одном столбце (а нужно – в отдельных).
Какая бы ситуация ни сложилась у вас, есть несколько способов разделить слипшийся текст.
Задача №1: Разбить текст по столбцам
Решение: Выделите нужные ячейки, перейдите в меню Данные → Текст по столбцам.
В появившемся окне Мастер текстов (разбора) укажите формат данных:
- с разделителями – в случае, когда содержимое будущих отдельных столбцов разделяется каким-либо символом (укажите, каким именно).
В случае, если в строках есть нагромождения пробелов, стоит поставить галочку «Считать последовательные разделители одним». Ограничитель строк пригодится вам, если в ячейках есть сочетания, которые не нужно делить (например, название завода изготовителя, заключенное в кавычки, и т.д.).
- фиксированной ширины – если вы хотите задать произвольную ширину столбца:
Перейдя к третьему шагу, вы должны назначить столбцам подходящий формат:
- Общий – самый универсальный, сохранит данные в исходном виде.
- Дата – для столбцов, где указан день-месяц-год (порядок значений вы также выберете самостоятельно).
- Текстовый – незаменим для ячеек с числовыми данными, которые Excel должен воспринимать как текст. Пример: если столбцу с номерами банковских счетов не назначить текстовый формат, цифры округлятся до 15-ти символов – офис распознает их как числа.
Задача №2: Выборочно выдернуть слова из текста
Для того чтобы сделать это автоматически, воспользуйтесь редактором 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
Substring = x(n – 1)
Else
Substring = “”
End If
End Function
Далее идем в меню Формулы → Вставить функцию , выбираем категорию «Определенные пользователем» , применяем синтаксис =SUBSTRING и указываем значения:
- Txt – адрес ячейки с нужным текстом.
- Delimeter – разделяющий знак (запятая, тире, пробел и т.д.).
- N – порядковый номер фрагмента, который нужно «выдернуть».
Задача №3: Разделить текст без пробелов
Если о знаках-разделителях речи даже не идет – то есть текст абсолютно слипшийся (например, ФИО «ПетровскийАндрейИванович»), используйте следующую макрофункцию:
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 “[a-zа-я]” And Mid(Txt, i + 1, 1) Like “[A-ZА-Я]” Then
Out = Out & Mid(Txt, i, 1) & ” ”
Else
Out = Out & Mid(Txt, i, 1)
End If
Next i
CutWords = Out
End Function
CutWords аналогично добавляется в редактор Visual Basic , потом выбирается среди функций, определенных пользователем, и автоматически расставляет пробелы перед заглавными буквами.
Читайте нас дальше, чтобы работа с Excel давалась ещё легче.
Как разделить текст по ячейкам формула в Excel
Часто приходится оптимизировать структуру данных после импорта в Excel. Некоторые разные значения попадают в одну и туже ячейку образуя целую строку как одно значение. Возникает вопрос: как разбить строку на ячейки в Excel. Программа располагает разными поисковыми функциями: одни ищут по ячейках другие ищут по содержимому ячеек. Ведь выполнять поиск по текстовой строке, которая содержится в ячейке ¬– это также распространенная потребность пользователей Excel. Их мы и будем использовать для разделения строк.
Как разделить текст на две ячейки Excel
Допустим на лист Excel были импортированные данные из другой программы. Из-за несовместимости структуры данных при импорте некоторые значение из разных категорий были внесены в одну ячейку. Необходимо из этой ячейки отделить целые числовые значения. Пример таких неправильно импортированных данных отображен ниже на рисунке:
Сначала определим закономерность, по которой можно определить, что данные из разных категорий, несмотря на то, что они находятся в одной и той же строке. В нашем случае нас интересуют только числа, которые находятся вне квадратных скобок. Каким способом можно быстро выбрать из строк целые числа и поместить их в отдельные ячейки? Эффективным решением является гибкая формула основана на текстовых функциях.
В ячейку B3 введите следующую формулу:
Теперь скопируйте эту формулу вдоль целого столбца:
Выборка чисел из строк в отдельные ячейки.
Описание формулы для разделения текста по ячейкам:
Функция ПСТР возвращает текстовое значение содержащие определенное количество символов в строке. Аргументы функции:
- Первый аргумент – это ссылка на ячейку с исходным текстом.
- Второй аргумент – это позиция первого символа, с которого должна начинаться разделенная строка.
- Последний аргумент – это количество символов, которое должна содержать разделенная строка.
С первым аргументом ПСТР все понятно – это ссылка на ячейку A3. Второй аргумент мы вычисляем с помощью функции НАЙТИ(“]”;A3)+2. Она возвращает очередной номер символа первой закрывающейся квадратной скобки в строке. И к этому номеру мы добавляем еще число 2, так как нам нужен номер символа после пробела за квадратной скобкой. В последнем аргументе функция вычисляет какое количество символов будет содержать разделенная строка после разделения, учитывая положение квадратной скобки.
Обратите внимание! Что в нашем примере все исходные и разделенные строки имеют разную длину и разное количество символов. Именно поэтому мы называли такую формулу – гибкой, в начале статьи. Она подходит для любых условий при решении подобного рода задач. Гибкость придает ей сложная комбинация из функций НАЙТИ. Пользователю формулы достаточно определить закономерность и указать их в параметрах функций: будут это квадратные скобки либо другие разделительные знаки. Например, это могут быть пробелы если нужно разделить строку на слова и т.п.
В данном примере функция НАЙТИ во втором аргументе определяет положение относительно первой закрывающейся скобки. А в третьем аргументе эта же функция вычисляет положение нужного нам текста в строке относительно второй открывающийся квадратной скобки. Вычисление в третьем аргументе более сложное и оно подразумевает вычитание одной большей длинны текста от меньшей. А чтобы учитывать еще 2 пробела следует вычитать число 3. В результате чего получаем правильное количество символов в разделенной строке. С помощью такой гибкой формулы можно делать выборку разной длинны разделенного текста из разных длинны исходных строк.
Как сделать несколько строк в одной ячейке Excel
Microsoft Excel входит в стандартный пакет программ Microsoft Office. Это привычное приложение для с.
Как разделить данные в ячейке Excel
Если Вам во время работы с электронной таблицей в офисном пакете от Microsoft возникает необходимость разнести содержимое одной ячейки по разным колонкам для большей наглядности, то нет ничего проще. Для того, чтобы разделить данные в ячейке 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» и переносим в него нижеприведенный код:
Разбить по строкам/столбцам
Данная функция является частью надстройки MulTEx
- Описание, установка, удаление и обновление
- Полный список команд и функций MulTEx
- Часто задаваемые вопросы по MulTEx
- Скачать MulTEx
Вызов команды:
MulTEx -группа Ячейки/Диапазоны —Диапазоны —Разбить по строкам/столбцам
Эта команда разбивает данные во всех выделенных ячейках на части, используя в качестве разделителя указанные символ/символы. Главная особенность — в отличие от стандартной команды Excel «Разбить по столбцам», данная команда заносит результат разбиения данных в строки либо столбцы в одну строку/столбец, а не каждую часть в свой столбец. К тому же в стандартной команде Excel нет возможности указать несколько символов — только один.
Диапазон значений — указывается диапазон ячеек, данные которых необходимо разбить. Может быть как одним столбцом/строкой, так и диапазоном, состоящим из нескольких строк и нескольких столбцов.
Разделитель — указывается символ (или группа символов), который будет применен в качестве разделителя. Если разделитель не указан, то появится сообщение, информирующее об этом. В сообщении будет предложено использовать разделитель по умолчанию (Пробел). В случае отказа Вы сможете указать необходимый разделитель. Данные, внесенные ранее не будут утеряны.
-
Специальный — можно добавить в поле Разделитель один из специальных символов: неразрывный пробел или перенос на строки. Стандартно такие символы невозможно ввести с клавиатуры, но они могут часто встречаться в ячейках. Например, эти символы часто применяется в выгрузках из различных программ(вроде 1С): неразрывный пробел для разделения цифр или слов, которые не надо переносить на строки, а перенос на строки — для разделения основания платежей и иной информации.
Если в поле Разделитель уже указан какой-либо символ, то при выборе дополнительно специального символа будет показано сообщение:
Поместить результат:
Разделитель результата:
Доступно только если в качестве вывода результата указана одна ячейка. По умолчанию разделителем является перенос на строки. В качестве разделителя можно указать любой символ или группу символов.
- Перенос на строки — каждое новое результирующее значение в ячейке будет записано с новой строки:
- Произвольный — любой символ, буква, цифра или группа символов(словосочетания, цифры и т.п.).
Транспонировать — если Диапазон значений представляет собой столбец, то данные после обработки будут помещены в одну строку. Если Диапазон значений — строка, то данные будут помещены в столбец. Недоступно при выводе результата в одну ячейку.
Финансы в 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 шага разделяем текст:
- Для начала нужно выделить данные, которые необходимо разделить, следующим шагом на вкладке «Данные» в разделе «Работа с данными» нажимаете иконку «Текст по столбцам» и в вызванном диалоговом окне мастера указываем формат рабочего текста. Выбираем 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 позволяет разбивать текст в ячейках столбца на несколько подстрок и располагать их в отдельных колонках. При этом для разбивки используется специальный разделитель, который выбирается пользователем для каждого конкретного случая.
Для примера рассмотрим данные CSV файла. Каждая подстрока в нем разделена символом «точка с запятой» и помещена в двойные кавычки. Вставьте их в любое место Вашей рабочей книги:
Перед разбивкой данных требуется выделить нужный диапазон, а затем кликнуть по пиктограмме «Текст по столбцам» в области «Работа с данными» на ленте вкладки «Данные».
На экране будет отображено окно мастера распределения текста:
Весь процесс состоит из трех шагов.
На первом этапе требуется выбрать формат данных для разделения, а именно указать, содержит ли текст разделители, или каждый будущий столбец имеет свою фиксированною ширину, т.е. длину текста. Последний вариант рассматриваться не будет, так как он ничем не отличается от первого кроме следующего шага, где требуется самостоятельно выбрать на линейке ширину поля.
Выберите пункт «С разделителями» и нажмите кнопку «Далее».
Следующим действием выбирается символ-разделитель. Им может быть любой из знаков, включая буквы и цифры.
Обратите внимание на то, что если разделители идут подряд, то каждый из них образует новый столбец, т.е. 2 таких символа создают 1 пустой столбец, 3 – 2 и т.д. Чтобы избавиться от этого часто нужного действия достаточно поставить галочку на поле «Считать последовательные разделители одним».
Может возникнуть ситуация, когда подстрока для создания столбца содержит символ-разделитель, который таковым не является. В подобных случаях строки должны быть заключены в одинарные либо двойные кавычки (в нашем примере исходных данных это присутствует), а в окне мастера нужно выбрать, какой ограничитель строк применить.
Имейте в виду то, что символы-разделители и ограничители удаляются из содержимого разделенных данных.
На любом описанным выше этапе можно нажать кнопку «Готово» для предоставления возможности приложению Excel самостоятельно завершить разделение текста в ячейках столбца. Но если Вы хотите контролировать весь процесс, то продолжайте нажимать «Далее».
Завершающим шагом является назначение форматирования новым колонкам и указания места для их расположения.
Из возможных настроек предоставлено только несколько форматов (типов данных), а поместить распределенный текст можно только на текущем листе.
У Вас недостаточно прав для комментирования.
Текст по столбцам и строкам
- Подробности
- Создано 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.
- Start with selecting your data. You can use more than one cell in a column.
- Click Data > Text to Columns in the Ribbon.
- 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.
- Click Next to continue
- Select the delimiters suitable to your data or choose a character length and click Next.
- 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.
- Click Finish to see the outcome.
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.
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.
- Select the cells containing the text.
- Click Data > From Sheet. If the data is not in an Excel Table, Excel converts it into an Excel Table first.
- Once the Power Query window is open, find the Split Column under the Transform tab and click to see the options.
- Select the approach that fits your data layout. The data in our example is using By Delimiter since the data is separated by “|”.
- Power Query will show the delimiter character. If you are not seeing the expected delimiter, choose from the list or enter it yourself.
- Click OK to split text.
- 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.
- 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:
- By calling the Text to Columns feature using VBA,
- 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
Как разбить текст в ячейке по строкам? |
||||||||
Ответить |
||||||||
Ответить |
||||||||
Ответить |
||||||||
Ответить |
||||||||
Ответить |
||||||||
Ответить |
irakli78 Пользователь Сообщений: 5 |
Добрый день! Буду очень благодарен, если кто-нибудь посоветует как можно разбить текст который в одной ячейке на несколько строк с соблюдением некоторых параметров… Прикрепленные файлы
|
wowik7 Пользователь Сообщений: 12 |
Скажите, а известно, сколько будет слов в строке? Вот в приложенной книге 4 слова и все разделены запятой и пробелом. Известно, что разделение будет таким же и слов обязательно 4 ? Как вариант, метод с использованием «Данные» —> «Работа с данными» —> «Текст по столбцам» Выделяете две нужных ячейки, кликаете Текст по столбцам и указываете в качестве разделителей Запятую и пробел. Ячейку вывода я указал B6 (Лист2) А в итоговой таблице я записал в ячейках ссылки на ти самые B6 и т.д. Подойдёт так, Ираклий? Изменено: wowik7 — 13.06.2013 20:31:11 |
Юрий М Модератор Сообщений: 60588 Контакты см. в профиле |
wowik7, количество переносов можно узнать программно )) |
Юрий М Модератор Сообщений: 60588 Контакты см. в профиле |
irakli78, зачем Вам объединённые ячейки? Настрадаетесь потом… |
Человек по сути просит написать макрос, а вы на него взъелись. С уважением, |
|
Юрий М Модератор Сообщений: 60588 Контакты см. в профиле |
Кто «взъелся»? )) Я только предупредил про объединение )) А макрос там не очень и сложный… |
wowik7 Пользователь Сообщений: 12 |
Изменил своё первое сообщение. Прикрепил там файл |
Пытливый Пользователь Сообщений: 4587 |
В файле на копии листа1 давите кнопку с побудительной надписью и проверяйте результат. Кому решение нужно — тот пример и рисует. |
Как вариант с помощью функции SubStr(ссылка на строку, номер фрагмента, разделитель). См. в приложении. Прикрепленные файлы
|
|
irakli78 Пользователь Сообщений: 5 |
Просто не хватает слов благодарности!! Честно говоря пока не проверял, зашел с телефона… но все равно спасибо!!) завтра посмотрю и обязательно сообщу! Еще раз спасибо! |
irakli78 Пользователь Сообщений: 5 |
#11 14.06.2013 10:48:15
Хотел бы узнать, а как данный макрос использовать уже в другом файле? |
||
Hugo Пользователь Сообщений: 23257 |
#12 14.06.2013 10:58:37 Описка, исправьте в irakli78.xls (45.5 КБ) F на G:
|
||
Пытливый Пользователь Сообщений: 4587 |
#13 14.06.2013 20:18:59
Если структура таблицы такая же (столбцы и шапка расположены так, как в примере), а также нет ячеек в столбце D с одним словом — то переносите код в файл и просто запускайте макрос. Или просто — откройте файл моего примера и свой — и запускайте макрос через Alt+F8/ Макрос-то делался под данные из примера. Кому решение нужно — тот пример и рисует. |
||
AVKL Пользователь Сообщений: 1 |
#14 14.01.2016 16:18:08
Добрый день Пытливый! |
||
mts2050 Пользователь Сообщений: 12 |
Подскажите как сделать что бы текст разбивался не в одной ячейке, а в нескольких и соотносился между ними. Пример в файле. Изменено: mts2050 — 30.07.2016 13:50:45 |
JayBhagavan Пользователь Сообщений: 11833 ПОЛ: МУЖСКОЙ | Win10x64, MSO2019x64 |
mts2050, и Вам здравия. <#0> |
mts2050 Пользователь Сообщений: 12 |
Да количество разделителей совпадает. |
JayBhagavan Пользователь Сообщений: 11833 ПОЛ: МУЖСКОЙ | Win10x64, MSO2019x64 |
#18 30.07.2016 15:05:50 В примере — не совпадает:
4 и 3. Учту. <#0> |
||
JayBhagavan Пользователь Сообщений: 11833 ПОЛ: МУЖСКОЙ | Win10x64, MSO2019x64 |
#19 30.07.2016 15:12:50
<#0> |
|
mts2050 Пользователь Сообщений: 12 |
|
Jack Famous Пользователь Сообщений: 10852 OS: Win 8.1 Корп. x64 | Excel 2016 x64: | Browser: Chrome |
#21 30.07.2016 16:49:53 irakli78, mts2050, доброго времени суток! Недавно тут мне помогли с такой же проблемой. Универсальное решение. Во всех делах очень полезно периодически ставить знак вопроса к тому, что вы с давних пор считали не требующим доказательств (Бертран Рассел) ►Благодарности сюда◄ |
В этом курсе:
С помощью мастера распределения текста по столбцам текст, содержащийся в одной ячейке, можно разделить на несколько.
Выделите ячейку или столбец с текстом, который вы хотите разделить.
На вкладке Данные нажмите кнопку Текст по столбцам.
В мастере распределения текста по столбцам установите переключатель с разделителями и нажмите кнопку Далее.
Выберите разделители для своих данных. Например, запятую и пробел. Данные можно предварительно просмотреть в окне Образец разбора данных.
Нажмите кнопку Далее.
Выберите значение в разделе Формат данных столбца или используйте то, которое Excel выберет автоматически.
В поле Поместить в выберите место на листе, где должны отображаться разделенные данные.
Нажмите кнопку Готово.
Дополнительные сведения
Вы всегда можете задать вопрос специалисту Excel Tech Community, попросить помощи в сообществе Answers community, а также предложить новую функцию или улучшение на веб-сайте Excel User Voice.
См. также
Get expert help now
Don’t have time to figure this out? Our expert partners at Excelchat can do it for you, 24/7.
Разделение текста на столбцы с помощью мастера распределения текста по столбцам
Смотрите также без цитирования обойтись. : Отлично, спасибо большое.Юрий М перевести число и
ее отображение. обладают функционалом простейшего1 Из строки формул.
обозначить мой разделитель arrTmp1(j) .Cells(lCnt, 3) Explicit Sub jjj_split() в файл и: В файле на
ячейки, кликаете, чтобы указать способ распределения текста по листе, где должныС помощью мастера распределенияmer1k А теперь последний: В примере была
сумму прописью вВ режиме редактирования работают текстового редактора. Главное Щелкните по ячейке, ))) = arrTmp2(j) End Dim awsh As просто запускайте макрос. копии листа1 давитеТекст по столбцам разбиения текста на
столбцам см. в отображаться разделенные данные. текста по столбцам
: Ну да, цитаты вопросик думаю. Как одна строка и Excel. все стандартные комбинации
отличие – это в которой необходимо. надеюсь понятно написала With ‘ wshResult Worksheet Dim wshResult
Или просто - кнопку с побудительнойи указываете в
Распределение содержимого ячейки на соседние столбцы
разных столбцах. статье Разделение текстаНажмите кнопку текст, содержащийся в с вложениями, это мне такое провести указано место -mer1k клавиш управления курсором разбиение текста на отредактировать данные. В )) Next j Next As Worksheet Dim откройте файл моего надписью и проверяйте качестве разделителей ЗапятуюПримечание: по столбцам сГотово одной ячейке, можно беспорядочно конечно. Будем знать)
с 12000 строками? куда выгружать результат.: Добрый день. Скажите, клавиатуры, как и строки. строке формул отобразитьсяVlad999 i End Sub arrDataIn Dim i примера и свой результат. и пробел. Ячейку Для получения справки по
разделить на несколько. В любом случае Мне ж получается Если исходных строк каким образом можно в других программах
Внимание! содержимое, которое доступно: СИМВОЛ(10) и есть
As Long Dim – и запускайтеVoditel_CDROMa вывода я указал заполнению все действияМожно объединить ячейки, содержащиеПримечание:Выделите ячейку или столбец Спасибо Вам) нужно изменить макрос? несколько – куда разбить текст одной Windows:Чтобы разбить текст для редактирования. Сделайте этот разделитель.: Спасибо. n As Long макрос через Alt+F8/: Как вариант с B6 (Лист2)
мастера читайте статью функцию СЦЕП илиМы стараемся как с текстом, который
vikttur Только как правильно? выгружать результат? Может ячейки, на строки?Клавиша «DELETE» удаляет символ на строки в необходимые изменения, после
не совсем понялJack Famous Dim arrTmp1$(), arrTmp2$() Макрос-то делался под помощью функции SubStr(ссылка
А в итоговой Разделение текста по функцию СЦЕПИТЬ. можно оперативнее обеспечивать вы хотите разделить.: Знайте. И желательноЮрий М в соседний столбец? Поиск юзал, но справа, а «Backspace» одной ячейке Excel
Помогите текст разбить на ячейки по строкам
чего нажмите 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. Текст по Сейчас сделал, и как потом сСергей
Разбить текст ячейки (строки), содержащий разделитель, на строки
комбинации CTRL+HOME и нажатием клавиши Enter, по ней двойной ячейки (строки), содержащий разделителями «Alt+Enter») на
UBound(arrDataIn, 1) lCnt что бы текстirakli78Все_просто строк с соблюдением перезапись по данные, вам, с помощью
Выберите столбцам. все хорошо. Огромное этих столбцов разместить: можно так CTRL+END перемещают курсор но в Excel щелчок мышкой. Тогда
разделитель, на строки отдельные строки = 0 For разбивался не в: Хотел бы узнать,: Человек по сути некоторых параметров.
которые распространяться данные кнопок внизу страницы.
разделителиalexleoix спасибо, оочень упростили
номера в строки,Юрий М в начало или данное действие выполняет в ячейке появится
макросомGenbor i = 1
одной ячейке, а а как данный просит написать макрос,
Пример прилагаю в любой смежных Для удобства такжедля своих данных.: 4. Power Query задачу.
причем за раз?: Или так. в конец целого функцию подтверждения вода курсор клавиатуры, аЕсли ячейка содержит большой: Код =ПОДСТАВИТЬ(A1;»»;СИМВОЛ(10)) - To n arrTmp1
в нескольких и макрос использовать уже а вы наЗаранее благодарю. столбцах. При необходимости приводим ссылку на Например,БМВПо поводу цитирования.
Редактирование строки текста в ячейках
Можно конечно взятьmer1k
- текста. данных и переход ее размер изменится текст или сложную это символ, на = Split(arrDataIn(i, 2) соотносился между ними. в другом файле? него взъелись.wowik7 вставьте количество пустые оригинал (на английскомзапятую: 5. Word ( А что тут и скопировать строку: Спасибо. Как этим
- Примечание. Точно так же на следующую ячейку. на время редактирования. формулу, но с основании которого будет & «|», «|») Пример в файле.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
- стараюсь написать. 4 слова иВыделите ячейку, диапазон или
- ячеек. Например, еслиОбразец разбора данных )Юрий М с несколькими никак.
- текст он кидает простой режим редактированияОбратите внимание, что после другую ячейку. Для
- просто отредактировать.: а как в 1, UBound(arrTmp2, 1) соседних по горизонтали & «:G» &Юрий М все разделены запятой
весь столбец, где лист содержит.vikttur
: Цитировать нужно не Они раскидывается на только с первой позволяет задавать тексту разделения одной строки отмены редактирования нажмите
Для редактирования значений в формуле обозначить знак – 1) ReDim ячейках всегда одинаковое? lngI + UBound(strA)).Merge: Кто «взъелся»? ))
и пробелом. Известно, содержатся текстовые значения,Полное имяНажмите кнопку
Разделение текста в ячейке, на строки.
: 6. Ручка + бездумно, а с столбцы. строки. А как свой стиль оформления: в ячейке на клавишу «Esc». Excel предусмотрен специальный «разделение», которое ставится Preserve arrTmp1(0 Tomts2050Пытливый
Я только предупредил что разделение будет которые требуется разделить.столбца, можно разделить столбецДалее лист бумаги в
умом. И толькоВот снова скинул
с остальными быть? полужирный, курсив, подчеркнутый
две и болееПримечание. При редактировании не режим. Он максимально при помощи клавиш
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 КБ)»? Что это: Вариант.
Разделение текста по строкам
по 20 номеров в самой ячейке. разбивает строку наРедактировать содержимое ячеек можно
вопросах, но я = arrDataIn(i, 1)
: запускать когда целевой
одним словом -
файл по столбцам»
Следуйте инструкциям в
Поместить в: Именно. Без ячеек даёт? Да иmer1k через запятую.Читайте так же: как слова, а оптимизирует
В режиме редактирования, ячейки двумя способами: не знаю, как .Cells(lCnt, 2) =
лист активный Option то переносите кодПытливыйВыделяете две нужныхСтолбцах мастера
Сведения об альтернативном способевыберите место на никак
Данная функция является частью надстройки MulTEx
|
Вызов команды:
MulTEx -группа Ячейки/Диапазоны –Диапазоны –Разбить по строкам/столбцам
Эта команда разбивает данные во всех выделенных ячейках на части, используя в качестве разделителя указанные символ/символы. Главная особенность – в отличие от стандартной команды Excel «Разбить по столбцам», данная команда заносит результат разбиения данных в строки либо столбцы в одну строку/столбец, а не каждую часть в свой столбец. К тому же в стандартной команде Excel нет возможности указать несколько символов – только один.
Диапазон значений – указывается диапазон ячеек, данные которых необходимо разбить. Может быть как одним столбцом/строкой, так и диапазоном, состоящим из нескольких строк и нескольких столбцов.
Разделитель – указывается символ (или группа символов), который будет применен в качестве разделителя. Если разделитель не указан, то появится сообщение, информирующее об этом. В сообщении будет предложено использовать разделитель по умолчанию (Пробел). В случае отказа Вы сможете указать необходимый разделитель. Данные, внесенные ранее не будут утеряны.
-
Специальный – можно добавить в поле Разделитель один из специальных символов: неразрывный пробел или перенос на строки. Стандартно такие символы невозможно ввести с клавиатуры, но они могут часто встречаться в ячейках. Например, эти символы часто применяется в выгрузках из различных программ(вроде 1С): неразрывный пробел для разделения цифр или слов, которые не надо переносить на строки, а перенос на строки – для разделения основания платежей и иной информации.
Если в поле Разделитель уже указан какой-либо символ, то при выборе дополнительно специального символа будет показано сообщение:
Поместить результат:
Разделитель результата:
Доступно только если в качестве вывода результата указана одна ячейка. По умолчанию разделителем является перенос на строки. В качестве разделителя можно указать любой символ или группу символов.
- Перенос на строки – каждое новое результирующее значение в ячейке будет записано с новой строки:
- Произвольный – любой символ, буква, цифра или группа символов(словосочетания, цифры и т.п.).
Транспонировать – если Диапазон значений представляет собой столбец, то данные после обработки будут помещены в одну строку. Если Диапазон значений – строка, то данные будут помещены в столбец. Недоступно при выводе результата в одну ячейку.