Делим слипшийся текст на части
Итак, имеем столбец с данными, которые надо разделить на несколько отдельных столбцов. Самые распространенные жизненные примеры:
- ФИО в одном столбце (а надо — в трех отдельных, чтобы удобнее было сортировать и фильтровать)
- полное описание товара в одном столбце (а надо — отдельный столбец под фирму-изготовителя, отдельный — под модель для построения, например, сводной таблицы)
- весь адрес в одном столбце (а надо — отдельно индекс, отдельно — город, отдельно — улица и дом)
- и т.д.
Поехали..
Способ 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) и копируем туда текст вот этой пользовательской функции:
Function Substring(Txt, Delimiter, n) As String Dim x As Variant x = Split(Txt, Delimiter) If n > 0 And n - 1 <= UBound(x) Then Substring = x(n - 1) Else Substring = "" End If End Function
Теперь можно найти ее в списке функций в категории Определенные пользователем (User Defined) и использовать со следующим синтаксисом:
=SUBSTRING(Txt; Delimeter; n)
где
- Txt — адрес ячейки с текстом, который делим
- Delimeter — символ-разделитель (пробел, запятая и т.д.)
- n — порядковый номер извлекаемого фрагмента
Например:
Способ 3. Разделение слипшегося текста без пробелов
Тяжелый случай, но тоже бывает. Имеем текст совсем без пробелов, слипшийся в одну длинную фразу (например ФИО «ИвановИванИванович»), который надо разделить пробелами на отдельные слова. Здесь может помочь небольшая макрофункция, которая будет автоматически добавлять пробел перед заглавными буквами. Откройте редактор Visual Basic как в предыдущем способе, вставьте туда новый модуль и скопируйте в него код этой функции:
Function CutWords(Txt As Range) As String Dim Out$ If Len(Txt) = 0 Then Exit Function Out = Mid(Txt, 1, 1) For i = 2 To Len(Txt) If Mid(Txt, i, 1) Like "[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
Теперь можно использовать эту функцию на листе и привести слипшийся текст в нормальный вид:
Ссылки по теме
- Деление текста при помощи готовой функции надстройки PLEX
- Что такое макросы, куда вставлять код макроса, как их использовать
Случается, что содержание одного столбца нужно разбить на несколько. Например:
|
Какая бы ситуация ни сложилась у вас, есть несколько способов разделить слипшийся текст.
Задача №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 <= UBound(x) Then
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 на несколько ячеек.
Смотрите также направлении.Смежные ячейки можно объединитьsmeckoi77«HOME» смещает курсор клавиатуры на строки в двумя способами: очень много слов
Visual Basic как(Tools — Macro - как есть -Мастера разбиения текста наи строк в таблице указали разделителем «запятая».Здесь рассмотрим,Преобразовать ячейки в одинРазбить на две ячейки по горизонтали или: А Текст по в начало строки,
одной ячейке Excel1 Из строки формул. встали каждое в в предыдущем способе,
Visual Basic Editor) подходит в большинствевыбираем формат нашего разных столбцах.Фамилии Excel» тут.В этом окне, вкак разделить текст в размер можно следующим можно только объединенную по вертикали. В
столбцам не пробовали? а «END» – нужно нажать комбинацию Щелкните по ячейке, отдельную строку вставьте туда новыйв Excel 2007 и случаев текста. Или этоПримечание:столбцом.Можно разделить ячейку разделе «Образец разбора
ячейке Excel на образом: ячейку. А самостоятельную, результате получается однаAlexM в конец.
клавиш Alt+Enter. Тогда в которой необходимочто бы получилось: модуль и скопируйте новее — вкладка дата текст, в котором Для получения справки поСоветы: по диагонали и, данных» сразу видно, несколько ячеек.Выделить нужный диапазон, вмещающий которая не была ячейка, занимающая сразу: Код =СЖПРОБЕЛЫ(ПСТР(ПОДСТАВИТЬ(ЗАМЕНИТЬ($A1;ПОИСК(» «;$A1);1;»х»);»х»;ПОВТОР(«Если в тексте более вы сможете перейти
отредактировать данные. В-гол в него кодРазработчик — Редактор Visual- необходимо выбирать какой-либо символ отделяет заполнению все действия
в каждой части какие столбцы у
Например, предложение из определенное количество ячеек. объединена – нельзя. пару столбцов либо «;99));99*СТОЛБЕЦ(A1)-98;99)) одной строки то на новую строку
строке формул отобразиться-мяч этой функции: Basic (Developer - для столбцов с друг от друга мастера читайте статьюСведения об альтернативном способе написать текст. Читайте, нас получатся. Нажимаем
первой ячейки разнести Щелкаем правой кнопкой НО как получить строк. Информация появляетсяChehonte комбинации CTRL+HOME и в ячейке. В содержимое, которое доступно
-воротаFunction CutWords(Txt As Visual Basic Editor) датами, причем формат содержимое наших будущих Разделение текста по распределения текста по как это сделать,
excel-office.ru
Распределение содержимого ячейки на соседние столбцы
кнопку «Далее». по словам в мыши по любой такую таблицу: в центре объединенной: спасибище большое!!! CTRL+END перемещают курсор том месте текста, для редактирования. СделайтеManyasha Range) As Stringили сочетание клавиш даты (день-месяц-год, месяц-день-год отдельных столбцов ( различным столбцам с столбцам см. в в статье «КакЗдесь, в разделе несколько других ячеек, латинской букве вверхуДавайте посмотрим на нее ячейки.
Chehonte в начало или где находится курсор необходимые изменения, после: Dim Out$ IfAlt+F11 и т.д.) уточняетсяс разделителями преобразовать мастера текстов, статье Разделение текста разделить ячейку в «Поместить в:» указываем
ФИО, дату, т.д. столбцов.
-
внимательнее, на листеПорядок объединения ячеек в: Попытался подставить в в конец целого клавиатуры, появится перенос чего нажмите Enter
-
postal398 Len(Txt) = 0Вставляем новый модуль (меню
в выпадающем списке
) или в тексте или нажмите кнопку по столбцам с Excel» здесь. диапазон столбцов, вНапример, у насОткрываем меню «Ширина столбца». Excel. Excel: свою форму, но текста. строки и соответственно или кликните по, вкладка Данные - Then Exit FunctionInsert — Moduleтекстовый с помощью пробеловСправка помощью функций.Удобнее работать в
-
которые поместятся новые есть список сВводим тот показатель ширины,Черта разделяет не одну
-
Возьмем небольшую табличку, где почему то вПримечание. Точно так же начало новой. кнопке «Ввод», которая текст по столбцам, Out = Mid(Txt,
-
) и копируем туда- этот формат имитируются столбцы одинаковойв мастере разделенияМожно объединить ячейки, содержащие
таблице, где в данные. фамилиями, именами в который нам нужен. ячейку, а показывает несколько строк и ячейке пусто. Ни редактируются: формулы, функции,В обычных редакторах текст
размещена в начале потом функция
support.office.com
Делим слипшийся текст на части
1, 1) For текст вот этой нужен, по большому ширины ( текста столбцов.
- функцию СЦЕП или ячейках не видныВнимание! одном столбце. Нам Жмем ОК.
- границы двух ячеек. столбцов. ошибки, ни значения, числа, даты и делится на строки строки формул. Для=ТРАНСП()
- i = 2 пользовательской функции: счету, не дляфиксированная ширинаИтак, имеем столбец с функцию СЦЕПИТЬ.
- нули. Как их
Столбцы этого диапазона
Способ 1. Текст по столбцам
нужно написать фамилииМожно изменить ширину ячеек Ячейки выше «разделенной»Для объединения ячеек используется ни чего. Просто логические значения. нажатием клавиши Enter, отмены изменений можно. Подробнее только с To Len(Txt) IfFunction Substring(Txt, Delimiter,
столбцов с ФИО,). данными, которые надоВыполните следующие действия. убрать, скрыть, заменить, должны быть пустыми, в одном столбце, во всем листе. и ниже объединены инструмент «Выравнивание» на пустоСтоит еще отметить, что но в Excel нажать клавишу «Esc» файлом. Mid(Txt, i, 1)
n) As String названием города илиНа втором шаге разделить на несколькоПримечание: читайте в статье иначе информация в а имена в
Для этого нужно по строкам. Первый главной странице программы.Столбцы P, Q, простой режим редактирования данное действие выполняет или кнопку «Отмена»Serge_007 Like «[a-zа-я]» And Dim x As
компании, а дляМастера отдельных столбцов. Самые Диапазон, содержащий столбец, который «Как убрать нули них сотрется и другом столбце. Например, выделить весь лист.
столбец, третий и
Выделяем ячейки, которые нужно R, S позволяет задавать тексту функцию подтверждения вода (возле кнопки «Ввод»).: Варианты:
- Mid(Txt, i + Variant x = столбцов с числовыми, если мы выбрали распространенные жизненные примеры:
- вы хотите разделить в Excel». заменится на новую. чтобы определить пол Нажмем левой кнопкой четвертый в этой объединить. Нажимаем «Объединить
- AlexM свой стиль оформления: данных и переход2 Из самой ячейки.http://www.excelworld.ru/forum/7-2805-1 1, 1) Like Split(Txt, Delimiter) If данными, которые Excel формат с разделителямиФИО в одном столбце может включать любоеПримечание: Если нет пустых людей в списке. мыши на пересечение таблице состоят из и поместить в: Потому что надо полужирный, курсив, подчеркнутый
на следующую ячейку. Перейдите на ячейкуhttp://www.excelworld.ru/forum/2-890-1 «[A-ZА-Я]» Then Out n > 0 обязательно должен воспринять (как в нашем (а надо -
Способ 2. Как выдернуть отдельные слова из текста
количество строк, ноМы стараемся как столбцов, можно предварительно Подробнее об этом названий строк и одного столбца. Второй центре». строку делить с и цвет.
- Поэтому как написать и нажмите клавишуpostal398 = Out & And n - как текст. Например,
- примере) — необходимо в трех отдельных, он может содержать можно оперативнее обеспечивать вставить столбцы. Как читайте в статье столбцов (или комбинация
столбец – изПри объединении сохраняются только первого фрагмента. УОбратите внимание, что стиль несколько строк в
F2 или сделайте: Mid(Txt, i, 1) 1 для столбца с указать какой именно чтобы удобнее было не более одного
вас актуальными справочными это сделать, смотрите «В Excel по горячих клавиш CTRL+A). двух. те данные, которые
вас деление происходит
текста не отображается
- ячейке Excel жмите по ней двойнойpostal398
- & » «Теперь можно найти ее
- номерами банковских счетов символ является разделителем:
сортировать и фильтровать)
Способ 3. Разделение слипшегося текста без пробелов
столбца. Это важные материалами на вашем в статье «Как имени определить пол».Подведите курсор к названиямТаким образом, чтобы разбить содержатся в верхней на три или в строке формул, Alt+Enter. щелчок мышкой. Тогда: Else Out = в списке функций клиентов, где вЕсли в тексте естьполное описание товара в из них достаточно языке. Эта страница
добавить строку, столбецВыделяем ячейки, текст столбцов и добейтесь нужную ячейку на левой ячейке. Если четыре фрагмента. поэтому его удобнееОбратите внимание, что после в ячейке появитсяSerge_007 Out & Mid(Txt, в категории противном случае произойдет строки, где зачем-то одном столбце (а пустыми столбцами справа переведена автоматически, поэтому в Excel» тут. в которых нужно того, чтобы он две части, необходимо нужно сохранить всеНомер фрагмента в
задавать, редактируя непосредственно разделения одной строки курсор клавиатуры, а, Спасибо. Использовал самый i, 1) End
Ссылки по теме
- Определенные пользователем (User Defined) округление до 15 подряд идут несколько
- надо — отдельный от выбранных столбец, ее текст может
planetaexcel.ru
Как разбить текст в ячейке по строкам? (Формулы/Formulas)
Можно указать формат разделить или весь принял вид крестика. объединить соседние ячейки.
данные, то переносим формуле задан функцией в самой ячейке.
в ячейке на ее размер изменится простой на мой
If Next iи использовать со знаков, т.к. Excel разделителей (несколько пробелов,
столбец под фирму-изготовителя,
который будет предотвратить
содержать неточности и
Ячеек столбцов. Например,
столбец. Нажмите левую кнопку В нашем примере их туда, нам СТОЛБЕЦ(G2) = 7,Читайте так же: как две и более на время редактирования. взгляд вариант. Все
CutWords = Out следующим синтаксисом:
будет обрабатывать номер
например), то флажок
отдельный — под перезапись по данные,
грамматические ошибки. Для если вы делитеЗаходим на закладке «Данные» мыши и протяните – сверху и не нужно: а надо СТОЛБЕЦ(A2) перевести число и с помощью клавиш После всех изменений в word, замена
excelworld.ru
Редактирование ячейки в Excel и разбиение текста на несколько строк
End Function=SUBSTRING(Txt; Delimeter; n) счета как число:Считать последовательные разделители одним модель для построения, которые распространяться данные нас важно, чтобы столбец на дни
в раздел «Работа границу, устанавливая размер снизу. Ту ячейку,Точно таким же образом = 1 сумму прописью в Alt+Enter, то автоматически нажмите Enter или пробела на ^p,
Редактирование строки текста в ячейках
Теперь можно использовать этугде
- Кнопка (Treat consecutive delimiters например, сводной таблицы) в любой смежных эта статья была и месяцы, год, с данными» и столбца. Ячейки во которую нужно разделить, можно объединить несколькоChehonte Excel. активируется опция «формат Tab или кликните затем вставить в функцию на листеTxt — адрес ячейки
- Подробнее (Advanced) as one)весь адрес в одном столбцах. При необходимости вам полезна. Просим то можно указать выбираем функцию «Текст всем листе станут не объединяем. вертикальных ячеек (столбец: Спасибо еще разChehonte ячеек»-«выравнивание»-«перенос по словам». мышкой на любую ячейку, и все и привести слипшийся с текстом, который
позволяет помочь Excelзаставит Excel воспринимать столбце (а надо вставьте количество пустые вас уделить пару «Формат данных столбца» по столбцам». В
одинаковыми.
Как сделать несколько строк в ячейке Excel?
Для решения данной задачи данных). за разъяснение. Все: Привет всем. Притом что сама другую ячейку. Для
само собой растянется.
текст в нормальный делим правильно распознать символы-разделители их как один. — отдельно индекс, столбцы, будет достаточно секунд и сообщить, — «дата». появившемся окне «МастерВ Excel можно сделать следует выполнить следующийМожно объединить сразу группу работает отлично
Пытаюсь разделить текст эта функция не отмены редактирования нажмитеЕсли ячейка содержит большой вид:Delimeter — символ-разделитель (пробел, в тексте, еслиВыпадающий список отдельно — город, для хранения каждого помогла ли онаНажимаем кнопку «Готово».
текстов», в строке несколько строк из порядок действий: смежных ячеек поФорматирование и редактирование ячеек в ячейке «20х20х1,8 разбивает строку на клавишу «Esc». текст или сложнуюДеление текста при помощи запятая и т.д.) они отличаются отОграничитель строк (Text Qualifier)
Режим редактирования
отдельно — улица составные части распределенных вам, с помощью Получилось так. «Формат исходных данных» одной ячейки. Перечислены
- Щелкаем правой кнопкой по горизонтали и по в Excel –
- труба ПРОФ» на слова, а оптимизируетПримечание. При редактировании не формулу, но с готовой функции надстройки
- n — порядковый номер стандартных, заданных внужен, чтобы текст и дом)
- данных. кнопок внизу страницы.Так можно разделить текст указываем – «С улицы в одну ячейке и выбираем вертикали.
удобный инструмент для четыре столбца: «20», ее отображение. забывайте о кнопках
ошибками, то нет PLEX извлекаемого фрагмента региональных настройках. заключенный в кавычкии т.д.
Выделите ячейку, диапазон или Для удобства также из одной ячейки разделителями». Нажимаем кнопку строку. инструмент «Формат» (или
Если нужно объединить только наглядного представления информации. «20», «1,8», «трубаВ режиме редактирования работают
exceltable.com
Разделение текста в ячейке
отмены / повтора смысла удалять их
Что такое макросы, кудаНапример:Если хочется, чтобы такое (например, название компанииПоехали.. весь столбец, где
приводим ссылку на на большее количество «Далее».Нам нужно сделать несколько комбинация горячих клавиш
строки в выделенном Такие возможности программы
ПРОФ» все стандартные комбинации действий на панели вводить все данные вставлять код макроса,
Тяжелый случай, но тоже деление производилось автоматически «Иванов, Манн и
Выделите ячейки, которые будем содержатся текстовые значения, оригинал (на английском
столбцов. Например, здесьЗдесь указываем в строке
строк, чтобы каждая CTRL+1). диапазоне, нажимаем на для работы бесценны.получается не то, клавиш управления курсором быстрого доступа. Или заново. Рациональнее их
как их использовать бывает. Имеем текст
без участия пользователя, Фарбер») не делился делить и выберите которые требуется разделить. языке) . разделили дату отдельно «Символом – разделителем
улица была написанаНа закладке «Граница» выбираем запись «Объединить поЗначимость оптимальной демонстрации данных что хотелось бы.
клавиатуры, как и о комбинациях клавиш просто отредактировать.postal398
CyberForum.ru
Объединение и разбиение данных в ячейках в Excel с форматированием
совсем без пробелов, то придется использовать по запятой в менюНа вкладкеМожно разделить содержимого ячейки
по столбцам – является» — «пробел». в одной строке. диагональ. Ее направление, строкам». объяснять никому не То лишняя х в других программах CTRL+Z и CTRL+Y.Для редактирования значений в: Есть очень много
Как объединить ячейки без потери данных Excel?
слипшийся в одну небольшую функцию навнутри названия.Данные — Текст поДанные и распространение составные число, месяц, год. Поставили «пробел», потомуВыделяем ячейку. На вкладке
тип линии, толщину,В результате получится:
- нужно. Давайте посмотрим, подтягивается, то текст Windows:
- Excel предусмотрен специальный слов в одной
- длинную фразу (например VBA, вставленную вИ, наконец, на третьем столбцам
- в группе части нескольких смежныхДля большей наглядности что в нашем «Выравнивание» нажимаем кнопку цвет.Если хоть одна ячейка что можно сделать
- подтягиваетсяКлавиша «DELETE» удаляет символВ режиме редактирования, ячейки режим. Он максимально
- ячейке ФИО «ИвановИванИванович»), который книгу. Для этого шаге для каждого
- (Data — Text toРабота с данными ячеек. Например, если в таблице Excel списке имя и
«Перенос текста».
Жмем ОК. в выбранном диапазоне с ячейками вЗаранее спасибо за справа, а «Backspace» обладают функционалом простейшего прост, но гармоничноДруг от друга
надо разделить пробелами
Как разбить ячейку в Excel на две?
открываем редактор Visual из получившихся столбцов, columns)нажмите кнопку лист содержит можно выделить некоторые фамилия написаны через
Данные в ячейке автоматическиЕсли нужно провести диагональ еще редактируется, кнопка
Microsoft Excel. Из помощь слева. текстового редактора. Главное объединил в себе они отделяются пробелом на отдельные слова. Basic: выделяя их предварительно.Текст по столбцамПолное имя
строки, столбцы (например, пробел. Если бы распределятся по нескольким в большой ячейке, для объединения может данного урока выChehonteCTRL+ «стрелка влево» переход отличие – это
Как разделить ячейку в Excel по диагонали?
толь самые полезные и знаком - Здесь может помочь
- в Excel 2003 и в окне Мастера,Появится окно.столбца, можно разделить столбец
- итоговые) выделить другим имя и фамилия строкам. воспользуйтесь инструментом «Вставка».
- быть недоступна. Необходимо
узнаете о новых: Кое что получилось, на начало слова,
разбиение текста на функции текстового редактора.
То есть выглядит небольшая макрофункция, которая
Как сделать ячейки одинакового размера?
старше — меню необходимо выбрать формат:Мастера разбора текстов
- Следуйте инструкциям в на двух столбцов цветом, разделительной линией. (др. слова) былиПробуйте, экспериментируйте. Устанавливайте наиболееНа вкладке «Иллюстрации» выбираем
- заверить редактирование и
- возможностях заполнения и но если большой а CTRL+ «стрелка
строки. Ничего лишнего в так: -гол -мяч будет автоматически добавлятьСервис — Макрос -общий:Столбцах мастера —
Подробнее, смотрите в написаны через запятую, удобные для своих «Фигуры». Раздел «Линии». нажать «Ввод» для форматирования данных в текст меняется, то вправо» – вВнимание! нем нет.
Как разбить ячейку на строки?
-ворота пробел перед заглавными Редактор Visual Basic- оставит данныеНа первом шаге
, чтобы указать способимени статье «Разделительная линия то мы бы
читателей форматы.Проводим диагональ в нужном выхода из режима.
рабочих листах. получается какашка))))) конец слова.
Чтобы разбить текстРедактировать содержимое ячеек можноНадо чтобы все
exceltable.com
буквами. Откройте редактор
Содержание
- Способ 1: Использование автоматического инструмента
- Способ 2: Создание формулы разделения текста
- Шаг 1: Разделение первого слова
- Шаг 2: Разделение второго слова
- Шаг 3: Разделение третьего слова
- Вопросы и ответы
Способ 1: Использование автоматического инструмента
В Excel есть автоматический инструмент, предназначенный для разделения текста по столбцам. Он не работает в автоматическом режиме, поэтому все действия придется выполнять вручную, предварительно выбирая диапазон обрабатываемых данных. Однако настройка является максимально простой и быстрой в реализации.
- С зажатой левой кнопкой мыши выделите все ячейки, текст которых хотите разделить на столбцы.
- После этого перейдите на вкладку «Данные» и нажмите кнопку «Текст по столбцам».
- Появится окно «Мастера разделения текста по столбцам», в котором нужно выбрать формат данных «с разделителями». Разделителем чаще всего выступает пробел, но если это другой знак препинания, понадобится указать его в следующем шаге.
- Отметьте галочкой символ разделения или вручную впишите его, а затем ознакомьтесь с предварительным результатом разделения в окне ниже.
- В завершающем шаге можно указать новый формат столбцов и место, куда их необходимо поместить. Как только настройка будет завершена, нажмите «Готово» для применения всех изменения.
- Вернитесь к таблице и убедитесь в том, что разделение прошло успешно.
Из этой инструкции можно сделать вывод, что использование такого инструмента оптимально в тех ситуациях, когда разделение необходимо выполнить всего один раз, обозначив для каждого слова новый столбец. Однако если в таблицу постоянно вносятся новые данные, все время разделять их таким образом будет не совсем удобно, поэтому в таких случаях предлагаем ознакомиться со следующим способом.
Способ 2: Создание формулы разделения текста
В Excel можно самостоятельно создать относительно сложную формулу, которая позволит рассчитать позиции слов в ячейке, найти пробелы и разделить каждое на отдельные столбцы. В качестве примера мы возьмем ячейку, состоящую из трех слов, разделенных пробелами. Для каждого из них понадобится своя формула, поэтому разделим способ на три этапа.
Шаг 1: Разделение первого слова
Формула для первого слова самая простая, поскольку придется отталкиваться только от одного пробела для определения правильной позиции. Рассмотрим каждый шаг ее создания, чтобы сформировалась полная картина того, зачем нужны определенные вычисления.
- Для удобства создадим три новые столбца с подписями, куда будем добавлять разделенный текст. Вы можете сделать так же или пропустить этот момент.
- Выберите ячейку, где хотите расположить первое слово, и запишите формулу
=ЛЕВСИМВ(
. - После этого нажмите кнопку «Аргументы функции», перейдя тем самым в графическое окно редактирования формулы.
- В качестве текста аргумента указывайте ячейку с надписью, кликнув по ней левой кнопкой мыши на таблице.
- Количество знаков до пробела или другого разделителя придется посчитать, но вручную мы это делать не будем, а воспользуемся еще одной формулой —
ПОИСК()
. - Как только вы запишете ее в таком формате, она отобразится в тексте ячейки сверху и будет выделена жирным. Нажмите по ней для быстрого перехода к аргументам этой функции.
- В поле «Искомый_текст» просто поставьте пробел или используемый разделитель, поскольку он поможет понять, где заканчивается слово. В «Текст_для_поиска» укажите ту же обрабатываемую ячейку.
- Нажмите по первой функции, чтобы вернуться к ней, и добавьте в конце второго аргумента
-1
. Это необходимо для того, чтобы формуле «ПОИСК» учитывать не искомый пробел, а символ до него. Как видно на следующем скриншоте, в результате выводится фамилия без каких-либо пробелов, а это значит, что составление формул выполнено правильно. - Закройте редактор функции и убедитесь в том, что слово корректно отображается в новой ячейке.
- Зажмите ячейку в правом нижнем углу и перетащите вниз на необходимое количество рядов, чтобы растянуть ее. Так подставляются значения других выражений, которые необходимо разделить, а выполнение формулы происходит автоматически.
Полностью созданная формула имеет вид =ЛЕВСИМВ(A1;ПОИСК(" ";A1)-1)
, вы же можете создать ее по приведенной выше инструкции или вставить эту, если условия и разделитель подходят. Не забывайте заменить обрабатываемую ячейку.
Шаг 2: Разделение второго слова
Самое трудное — разделить второе слово, которым в нашем случае является имя. Связано это с тем, что оно с двух сторон окружено пробелами, поэтому придется учитывать их оба, создавая массивную формулу для правильного расчета позиции.
- В этом случае основной формулой станет
=ПСТР(
— запишите ее в таком виде, а затем переходите к окну настройки аргументов. - Данная формула будет искать нужную строку в тексте, в качестве которого и выбираем ячейку с надписью для разделения.
- Начальную позицию строки придется определять при помощи уже знакомой вспомогательной формулы
ПОИСК()
. - Создав и перейдя к ней, заполните точно так же, как это было показано в предыдущем шаге. В качестве искомого текста используйте разделитель, а ячейку указывайте как текст для поиска.
- Вернитесь к предыдущей формуле, где добавьте к функции «ПОИСК»
+1
в конце, чтобы начинать счет со следующего символа после найденного пробела. - Сейчас формула уже может начать поиск строки с первого символа имени, но она пока еще не знает, где его закончить, поэтому в поле «Количество_знаков» снова впишите формулу
ПОИСК()
. - Перейдите к ее аргументам и заполните их в уже привычном виде.
- Ранее мы не рассматривали начальную позицию этой функции, но теперь там нужно вписать тоже
ПОИСК()
, поскольку эта формула должна находить не первый пробел, а второй. - Перейдите к созданной функции и заполните ее таким же образом.
- Возвращайтесь к первому
"ПОИСКУ"
и допишите в «Нач_позиция»+1
в конце, ведь для поиска строки нужен не пробел, а следующий символ. - Кликните по корню
=ПСТР
и поставьте курсор в конце строки «Количество_знаков». - Допишите там выражение
-ПОИСК(" ";A1)-1)
для завершения расчетов пробелов. - Вернитесь к таблице, растяните формулу и удостоверьтесь в том, что слова отображаются правильно.
Формула получилась большая, и не все пользователи понимают, как именно она работает. Дело в том, что для поиска строки пришлось использовать сразу несколько функций, определяющих начальные и конечные позиции пробелов, а затем от них отнимался один символ, чтобы в результате эти самые пробелы не отображались. В итоге формула такая: =ПСТР(A1;ПОИСК(" ";A1)+1;ПОИСК(" ";A1;ПОИСК(" ";A1)+1)-ПОИСК(" ";A1)-1)
. Используйте ее в качестве примера, заменяя номер ячейки с текстом.
Шаг 3: Разделение третьего слова
Последний шаг нашей инструкции подразумевает разделение третьего слова, что выглядит примерно так же, как это происходило с первым, но общая формула немного меняется.
- В пустой ячейке для расположения будущего текста напишите
=ПРАВСИМВ(
и перейдите к аргументам этой функции. - В качестве текста указывайте ячейку с надписью для разделения.
- В этот раз вспомогательная функция для поиска слова называется
ДЛСТР(A1)
, где A1 — та же самая ячейка с текстом. Эта функция определяет количество знаков в тексте, а нам останется выделить только подходящие. - Для этого добавьте
-ПОИСК()
и перейдите к редактированию этой формулы. - Введите уже привычную структуру для поиска первого разделителя в строке.
- Добавьте для начальной позиции еще один
ПОИСК()
. - Ему укажите ту же самую структуру.
- Вернитесь к предыдущей формуле «ПОИСК».
- Прибавьте для его начальной позиции
+1
. - Перейдите к корню формулы
ПРАВСИМВ
и убедитесь в том, что результат отображается правильно, а уже потом подтверждайте внесение изменений. Полная формула в этом случае выглядит как=ПРАВСИМВ(A1;ДЛСТР(A1)-ПОИСК(" ";A1;ПОИСК(" ";A1)+1))
. - В итоге на следующем скриншоте вы видите, что все три слова разделены правильно и находятся в своих столбцах. Для этого пришлось использовать самые разные формулы и вспомогательные функции, но это позволяет динамически расширять таблицу и не беспокоиться о том, что каждый раз придется разделять текст заново. По необходимости просто расширяйте формулу путем ее перемещения вниз, чтобы следующие ячейки затрагивались автоматически.
Еще статьи по данной теме:
Помогла ли Вам статья?
Делим слипшийся текст на части
Итак, имеем столбец с данными, которые надо разделить на несколько отдельных столбцов. Самые распространенные жизненные примеры:
- ФИО в одном столбце (а надо — в трех отдельных, чтобы удобнее было сортировать и фильтровать)
- полное описание товара в одном столбце (а надо — отдельный столбец под фирму-изготовителя, отдельный — под модель для построения, например, сводной таблицы)
- весь адрес в одном столбце (а надо — отдельно индекс, отдельно — город, отдельно — улица и дом)
- и т.д.
Способ 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 как в предыдущем способе, вставьте туда новый модуль и скопируйте в него код этой функции:
Теперь можно использовать эту функцию на листе и привести слипшийся текст в нормальный вид:
4 способа заменить точку на запятую в Excel
Точка вместо запятой дробных чисел может привести к существенным последствиям при расчетах в программе Excel. Чаще всего такие ошибки случаются, когда импортируются данные в таблицу из других источников.
Если в дробных числах вместо запятой стоит точка, то программа автоматически воспринимает их как текстовый тип данных. Поэтому перед тем как выполнять математические расчеты и вычисления следует отформатировать и подготовить импортированные данные.
Как в Excel заменить точку, на запятую?
Выделите и скопируйте данные из ниже приведенной таблицы:
№ п/п | Валютная пара | Пересчет | Продажа | Покупка | Спрэд |
1 | EUR/USD | 1 | 1.1347 | 1.1350 | 0.0003 |
2 | GBP/USD | 1 | 1.5438 | 1.5442 | 0.0004 |
3 | USD/CHF | 1 | 0.9543 | 0.9547 | 0.0004 |
4 | USD/JPY | 100 | 1.1948 | 1.1945 | -0.0003 |
Теперь перейдите на рабочий лист и щелкните правой кнопкой мышки по ячейке A1. Из появившегося контекстного меню выберите опцию «Специальная вставка». В диалоговом окне выберите «Текст в кодировке Unicode» и нажмите ОК.
Как видно Excel распознает числа только в колонке C. Значения в этой колонке выровнены по правой стороне. В других колонках по левому краю. Во всех ячейках формат по умолчанию «Общий», а в ячейках D3, D5, E3, E5 вообще отображается формат «Дата». Мы копировали данные через специальную вставку и все форматы исходной таблицы устранены. Причина только одна – вместо запятой стоит точка. Такой тип данных не подготовлен и его нельзя использовать для вычислений.
Примечание. Если копировать данные из других источников без специальной вставки, то вместе с данными копируется и формат. В таком случаи формат ячеек «Общий» (по умолчанию) может быть изменен. Тогда нельзя визуально отличить, где распознано число, а где текст.
Все последующие действия необходимо выполнять с чистого листа. Удалите все, что есть на листе или откройте новый для дальнейшей работы.
Чтобы заменить точку, на запятую в импортированных данных можно использовать 4 способа:
Способ 1 замена точки на запятую в Excel через Блокнот
Программа Блокнот Windows не требует использования сложных настроек и функций, а лишь выступает посредником в копировании и предварительной подготовки данных.
- Скопируйте данные из исходной таблички на этой странице. Откройте программу Блокнот Windows («Пуск»-«Все программы»-«Стандартные»-«Блокнот») и вставьте в него скопированные данные для подготовки.
- Выберите в меню «Правка» опцию «Заменить» (или комбинацию горячих клавиш CTRL+H). В появившимся диалоговом окне, введите в поле: «Что» точку (.), а в поле «Чем» запятую (,). И нажмите кнопку «Заменить все».
Программа Блокнот заменила все точки, на запятые. Теперь данные готовы для копирования и вставки на лист.
Это весьма простой, но очень эффективный способ.
Способ 2 временно меняем настройки Excel
Перед тем как поменять точку на запятую в Excel правильно оцените поставленную задачу. Возможно, лучше заставить программу временно воспринимать точку, как разделитель десятых в дробных числах. Просто в настройках мы указываем, что в дробных числах разделитель точка вместо запятой.
Для этого нужно открыть «Файл»-«Параметры»-«Дополнительно». В разделе «Параметры правки» следует временно убрать галочку «Использовать системные разделители». А в поле «Разделитель целой и дробной части» следует удалить запятую и ввести точку.
После выполнения вычислений настоятельно рекомендуется вернуть настройки по умолчанию.
Внимание! Данный способ сработает, если сделать все изменения до импорта данных, а не после.
Способ 3 временно меняем системные настройки Windows
Принцип этого способа похож на предыдущий. Только здесь мы меняем похожие настройки в Windows. В настройках региональных стандартов операционной системы нужно заменить запятую, на точку. Теперь подробнее о том, как это сделать.
Открываем «Пуск»-«Панель управления»-«Языки и региональные стандарты». Нажимаем на кнопку «Дополнительно». В появившимся окне изменяем в первом поле «Разделитель целой и дробной части» — вводим нужное нам значение. Дальше ОК и ОК.
Внимание! Если вы откроете этот файл на другом компьютере, где установлены другие системные параметры региональных стандартов, то могут возникнуть проблемы с вычислениями.
Способ 4 используем функцию найти и заменить в Excel.
Данный способ похож на первый. Только здесь мы используем ту же функцию из Блокнота, но уже в самом Excel.
В этом способе, в отличие от выше приведенных, мы сначала вставляем скопированную табличку на чистый лист, а потом подготавливаем ее к выполнению вычислений и расчетов.
Важным недостатком данного способа является сложность его реализации, если некоторые дробные числа с точкой после вставки были распознаны как дата, а не как текст. Поэтому мы сначала избавимся от дат, а потом разберемся с текстом и точками.
- Предварительно выделите столбцы где будут находится дробные числа с точкой в качестве разделителя. В данном случаи это 3 столбца D:F.
- Установите для выделенного диапазона текстовый формат ячеек, чтобы заранее избежать автоматического преобразования в формат даты некоторых чисел. Для этого выберите текстовый формат из выпадающего списка на закладке «Главная» в разделе «Число». Или нажмите CTRL+1 , в появившимся окне «Формат ячеек» выберите закладку «Число», а в разделе «Числовые форматы» укажите «Текстовый».
- Скопируйте таблицу и щелкните правой кнопкой мышки по ячейке A1. Из контекстного меню выберите опцию «Специальная вставка». Выберите «Текст в кодировке Unicode» и нажмите ОК. Обратите внимание, как теперь отображаются значения в ячейках: D3, D5, E3, E5, в отличии от самого первого копирования таблицы.
- Нажмите на инструмент «Главная»-«Найти и выделить»-«Заменить» (или нажмите комбинацию CTRL+H).
- В появившемся окне введите в поле «Найти» — точку, а в во второе поле введите запятую. И нажмите «Заменить все».
- Снова выделите 3 столбца D:F и измените формат ячеек на «Числовой» CTRL+SHIFT+1. Не забудьте увеличить разрядность до 4-х, как описано в пункте №2.
Все точки сменились на запятые. А текст автоматически преобразился в число.
Вместо 4-го и 5-го пункта можно использовать в отдельной колонке формулу с функциями:
Например, выделите диапазон ячеек G2:I5, введите эту формулу и нажмите CTRL+Enter. А потом переместите значения ячеек диапазона G2:I5 в диапазон D2:F5.
Эта формула находит в тексте точку с помощью функции НАЙТИ. Потом вторая функция меняет ее на запятую. А функция ЗНАЧЕН преобразует полученный результат в число.
Как разделить текст в ячейке 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» и переносим в него нижеприведенный код:
Замена запятой на точку в Microsoft Excel
Известно, что в русскоязычной версии Excel в качестве разделителя десятичных знаков используется запятая, тогда как в англоязычной – точка. Это связано с существованием различных стандартов в данной области. Кроме того, в англоязычных странах принято в качестве разделителя разряда использовать запятую, а у нас – точку. В свою очередь это вызывает проблему, когда пользователь открывает файл, созданный в программе с другой локализацией. Доходит до того, что Эксель даже не считает формулы, так как неправильно воспринимает знаки. В этом случае нужно либо поменять локализацию программы в настройках, либо заменить знаки в документе. Давайте выясним, как поменять запятую на точку в данном приложении.
Процедура замены
Прежде, чем приступить к замене, нужно для себя в первую очередь уяснить, для чего вы её производите. Одно дело, если вы проводите данную процедуру просто потому, что визуально лучше воспринимаете точку как разделитель и не планируете использовать эти числа в расчетах. Совсем другое дело, если вам нужно сменить знак именно для расчета, так как в будущем документ будет обрабатываться в англоязычной версии Эксель.
Способ 1: инструмент «Найти и заменить»
Наиболее простой способ выполнение трансформации запятой на точку – это применение инструмента «Найти и заменить». Но, сразу нужно отметить, что для вычислений такой способ не подойдет, так как содержимое ячеек будет преобразовано в текстовый формат.
- Производим выделение области на листе, где нужно трансформировать запятые в точки. Выполняем щелчок правой кнопкой мышки. В запустившемся контекстном меню отмечаем пункт «Формат ячеек…». Те пользователи, которые предпочитают пользоваться альтернативными вариантами с применением «горячих клавиш», после выделения могут набрать комбинацию клавиш Ctrl+1.
Производится запуск окна форматирования. Производим передвижение во вкладку «Число». В группе параметров «Числовые форматы» перемещаем выделение в позицию «Текстовый». Для того чтобы сохранить внесенные изменения, щелкаем по кнопке «OK». Формат данных в выбранном диапазоне будет преобразован в текстовый.
Опять выделяем целевой диапазон. Это важный нюанс, ведь без предварительного выделения трансформация будет произведена по всей области листа, а это далеко не всегда нужно. После того, как область выделена, передвигаемся во вкладку «Главная». Щелкаем по кнопке «Найти и выделить», которая размещена в блоке инструментов «Редактирование» на ленте. Затем открывается небольшое меню, в котором следует выбрать пункт «Заменить…».
Программа выполняет процедуру трансформации запятых на точки в выделенном диапазоне. На этом данную задачу можно считать решенной. Но следует помнить, что данные, замененные таким способом будут иметь текстовый формат, а, значит, не смогут быть использованными в вычислениях.
Способ 2: применение функции
Второй способ предполагает применение оператора ПОДСТАВИТЬ. Для начала с помощью этой функции преобразуем данные в отдельном диапазоне, а потом скопируем их на место исходного.
- Выделяем пустую ячейку напротив первой ячейки диапазона с данными, в котором запятые следует трансформировать в точки. Щелкаем по пиктограмме «Вставить функцию», размещенную слева от строки формул.
После этих действий будет запущен Мастер функций. Ищем в категории «Тестовые» или «Полный алфавитный перечень» наименование «ПОДСТАВИТЬ». Выделяем его и щелкаем по кнопке «OK».
Открывается окно аргументов функции. Она имеет три обязательных аргумента «Текст», «Старый текст» и «Новый текст». В поле «Текст» нужно указать адрес ячейки, где размещены данные, которые следует изменить. Для этого устанавливаем курсор в данное поле, а затем щелкаем мышью на листе по первой ячейке изменяемого диапазона. Сразу после этого адрес появится в окне аргументов. В поле «Старый текст» устанавливаем следующий символ – «,». В поле «Новый текст» ставим точку – «.». После того, как данные внесены, щелкаем по кнопке «OK».
Как видим, для первой ячейки преобразование выполнено успешно. Подобную операцию можно провести и для всех других ячеек нужного диапазона. Хорошо, если этот диапазон небольшой. Но что делать, если он состоит из множества ячеек? Ведь на преобразование подобным образом, в таком случае, уйдет огромное количество времени. Но, процедуру можно значительно ускорить, скопировав формулу ПОДСТАВИТЬ с помощью маркера заполнения.
Устанавливаем курсор на правый нижний край ячейки, в которой содержится функция. Появляется маркер заполнения в виде небольшого крестика. Зажимаем левую кнопку мыши и тянем этот крестик параллельно области, в которой нужно трансформировать запятые в точки.
Как видим, все содержимое целевого диапазона было преобразовано в данные с точками вместо запятых. Теперь нужно скопировать результат и вставить в исходную область. Выделяем ячейки с формулой. Находясь во вкладке «Главная», щелкаем по кнопке на ленте «Копировать», которая расположена в группе инструментов «Буфер обмена». Можно сделать и проще, а именно после выделения диапазона набрать комбинацию клавиш на клавиатуре Ctrl+1.
Выделяем исходный диапазон. Щелкаем по выделению правой кнопкой мыши. Появляется контекстное меню. В нем выполняем щелчок по пункту «Значения», который расположен в группе «Параметры вставки». Данный пункт обозначен цифрами «123».
Преобразование данных по смене запятых на точки выполнено, а все ненужные элементы удалены.
Способ 3: Использование макроса
Следующий способ трансформации запятых в точки связан с использованием макросов. Но, дело состоит ещё в том, что по умолчанию макросы в Экселе отключены.
Прежде всего, следует включить макросы, а также активировать вкладку «Разработчик», если в вашей программе они до сих пор не активированы. После этого нужно произвести следующие действия:
- Перемещаемся во вкладку «Разработчик» и щелкаем по кнопке «Visual Basic», которая размещена в блоке инструментов «Код» на ленте.
Открывается редактор макросов. Производим вставку в него следующего кода:
Sub Макрос_трансформации_запятых_в_точки()
Selection.Replace What:=»,», Replacement:=».»
End Sub
Завершаем работу редактора стандартным методом, нажав на кнопку закрытия в верхнем правом углу.
Далее выделяем диапазон, в котором следует произвести трансформацию. Щелкаем по кнопке «Макросы», которая расположена все в той же группе инструментов «Код».
Выполняется преобразование. Запятые будут трансформированы в точки.
Способ 4: настройки Эксель
Следующий способ единственный среди вышеперечисленных, при котором при трансформации запятых в точки выражение будет восприниматься программой как число, а не как текст. Для этого нам нужно будет поменять системный разделитель в настройках с запятой на точку.
- Находясь во вкладке «Файл», щелкаем по наименованию блока «Параметры».
После вышеуказанных действий запятые, которые использовались в качестве разделителей для дробей, будут преобразованы в точки. Но, главное, выражения, в которых они используются, останутся числовыми, а не будут преобразованы в текстовые.
Существует ряд способов преобразования запятых в точки в документах Excel. Большинство из этих вариантов предполагают изменение формата данных с числового на текстовый. Это ведет к тому, что программа не может задействовать эти выражения в вычислениях. Но также существует способ произвести трансформацию запятых в точки с сохранением исходного форматирования. Для этого нужно будет изменить настройки самой программы.
Отблагодарите автора, поделитесь статьей в социальных сетях.
0 / 0 / 0
Регистрация: 28.12.2020
Сообщений: 1
24.02.2021, 15:42
8
Сообщение от Narimanych
ABkeeper,
Попробуйте
Кликните здесь для просмотра всего текста
Visual Basic | ||
|
Всем добра!
помогите, немного доработал код, добавил русские буквы, после русских букв пробел ставится, а вот если цифра идет первая и за ней слипшийся текст, то не разделяет.
исходный текст (1снег, припорошил20 улиц) получается (1снег, припорошил 20 улиц), а вот (1 снег) не получается.
может кто то укоротит функцию.
Visual Basic | ||
|
За ранее спасибо!
0
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
На чтение 7 мин Опубликовано 07.01.2021
Часто перед пользователями табличного редактора встает задача расцепления текста. Существует несколько способов, позволяющих реализовать эту несложную процедуру. В статье мы детально рассмотрим каждый из методов.
Содержание
- Первый метод: применение автоматического инструмента
- Второй метод: применение формулы расцепления текста
- Этап первый: расцепление 1-го слова
- Этап второй: расцепление 2-го слова
- Третий этап: расцепление 3-го слова
- Заключение
Первый метод: применение автоматического инструмента
В табличном редакторе существует специальный инструмент автоматического вида, позволяющий реализовать эту процедуру. Подробная инструкция выглядит так:
- Зажимаем левую клавишу мышки и производим выделение всех ячеек, которые мы планируем расцепить на колонки.
- Передвигаемся в подраздел «Данные» и жмем ЛКМ по элементу «Текст по столбцам».
- Отобразилось окошко, имеющее наименование «Мастер распределения текста по столбцам». Ставим пунктик рядом с надписью «с разделителями». Обычно в качестве разделителя выступает пробел, но на дальнейшем этапе можно отредактировать вид разделения.
- Выставляем отметку около того символа, который мы планируем использовать в качестве разделителя. Внизу окошка находится поле «Образец разбора данных». Здесь можно предварительно посмотреть полученный результат.
- На следующем этапе задаем новый формат колонок, а также ту локацию, в которую будет перемещена новая информация. После проведения всех процедур щелкаем левой клавишей мышки на «Готово», чтобы сохранить внесенные изменения.
- Возвращаемся к исходной табличке и убеждаемся, что процесс расцепления произошел корректно.
Стоит отметить! Данный метод подходит только в тех случаях, когда необходимо произвести только одно расцепление, указав для каждого слова новую колонку. Этот метод не подходит для работы, в которой необходимо постоянно проводить процедуру расцепления, так как будет тратиться много времени. Рассмотрим следующие методы.
Второй метод: применение формулы расцепления текста
Такая формула позволяет подсчитать позиции слов, отыскать пробелы, а затем расцепить все слова на отдельные колонки. Этот способ подразумевает большое количество действий, поэтому нужно внимательно следовать этапам подробной инструкции. Для примера мы возьмем поле, в котором располагается три слова, которые разделены между собой пробелами.
Этап первый: расцепление 1-го слова
Подробная инструкция выглядит так:
- Создаем 3 новых колонки с заголовками.
- Производим выбор той ячейки, в которой мы планируем расположить 1-е слово. Вписываем сюда формулу: =ЛЕВСИМВ(.
- Щелкаем левой клавишей мышки на «Аргументы функции».
- В поле «Текст» при помощи левой клавиши мышки указываем координаты ячейки. В нашем случае это А1.
- В поле «Количество_знаков» вбиваем формулу ПОИСК(), позволяющую автоматически подсчитать число символов до разделителя.
- Формула отобразилась в строчке для ввода формул. Жмем на нее ЛКМ, чтобы попасть в окошко «Аргументы функции».
- В строчку «Искомый_текст» вбиваем необходимый разделитель. Стандартно – это пробел. В строчку «Текст_для_поиска» вбиваем координату А1.
- Жмем ЛКМ на 1-ю функцию, чтобы снова попасть в окошко ее аргументов. Дописываем правее 2-го аргумента значение -1. Это позволит формуле учесть не сам пробел, а знак до него.
- Закрываем окошко аргументов, чтобы убедиться в правильном выводе информации.
- Растягиваем новую ячейку вниз при помощи зажатия ЛКМ. Формула автоматическим образом подставилась в другие ячейки.
Этап второй: расцепление 2-го слова
Расцепление 2-го слова – это самый сложный этап, так как оно с 2-х сторон окружено разделителями. Подробная инструкция выглядит так:
- Для работы нам понадобится формула =ПСТР(. Записываем ее в ячейку, а затем передвигаемся в окошко для ввода аргументов.
- Эта формула позволяет отыскать необходимую строчку в текстовой информации. В строчку «Текст» вводим координату А1.
- В поле «Начальная_позиция» вбиваем формулу ПОИСК(), позволяющую автоматически подсчитать число символов до разделителя.
- Формула отобразилась в строчке для ввода формул. Жмем на нее ЛКМ, чтобы попасть в окошко «Аргументы функции».
- В строчку «Искомый_текст» вбиваем необходимый разделитель. Стандартно – это пробел. В строчку «Текст_для_поиска» вбиваем координату А1.
- Вернувшись в изначальное окошко, добавляем во второй аргумент значение +1 в конец. Это позволит осуществить начало счета со следующего знака после найденного разделителя.
- В строчку «Количество_знаков» снова вводим формулу ПОИСК().
- Аргументы оператора заполняем таким же образом, как и выше.
- Дополнительно здесь же в поле «Нач_позиция» необходимо еще раз прописать ПОИСК(), чтобы отыскать 2-й разделитель.
- Окошко аргументов для оператора ПОИСК() заполняем всем тем же образом, как и ранее.
- Передвигаемся к первому ПОИСКУ и добавляем значение +1 в аргумент «Нач_позиция».
- Жмем ЛКМ на элемент =ПСТР, находящийся в строчке формул. Наводим указатель в конец строчки «Количество_знаков».
- Добавляем в конце значение -ПОИСК(» «;A1)-1), чтобы закончить расчет разделителей.
- Закрываем окошко аргументов, чтобы убедиться в правильном выводе информации.
- Растягиваем новую ячейку вниз при помощи зажатия ЛКМ. Формула автоматическим образом подставилась в другие ячейки.
Третий этап: расцепление 3-го слова
Этот этап схож с первым, но имеет небольшие отличия. Подробная инструкция выглядит так:
- Вбиваем в необходимую ячейку формулу =ПРАВСИМВ( и перемещаемся в окошко аргументов.
- В строчку «Текст» вбиваем координату А1.
- В строчку «Число_знаков» вбиваем формулу ДЛСТР(А1). Она позволяет выявить число символов в данных.
- Добавляем в конец этой строчки знакомое нам значение -ПОИСК(). Передвигаемся в окошко аргументов данной формулы.
- Вбиваем уже знакомые нам данные для поиска пробела в строчке.
- В строчку «Нач_позиция» вбиваем дополнительный ПОИСК().
- Указываем здесь такие же данные.
- Возвращаемся к прошлому «ПОИСКУ».
- В конец строчки «Нач_позиция» добавляем значение +1.
- Подтверждаем все внесенные изменения.
- Готово! Мы реализовали процедуру расцепления 3-х слов. Каждое слово находится в отдельной колонке.
Заключение
Мы рассмотрели два способа расцепления текста в табличном редакторе. Второй способ является наиболее эффективным, но для его реализации необходимо выполнить большое количество действий. Понимание работы процедуры расцепления значительно облегчит пользователям работу в табличном редакторе.
Оцените качество статьи. Нам важно ваше мнение: