Excel текст по столбцам alt enter

Переносы строк внутри одной ячейки, добавляемые с помощью сочетания клавиш Alt+Enter — дело весьма частое и привычное. Иногда их делают сами пользователи, чтобы добавить красоты длинному тексту. Иногда такие переносы добавляются автоматически при выгрузке данных из каких-либо рабочих программ (привет 1С, SAP и т.д.) Проблема в том, что на такие таблицы приходится потом не просто любоваться, а с ними работать — и вот тогда эти невидимые символы переноса могут стать проблемой. А могут и не стать — если уметь правильно с ними обращаться.

Давайте-ка мы разберёмся в этом вопросе поподробнее.

Удаление переносов строк заменой

Если нам нужно избавиться от переносов, то первое, что обычно приходит в голову — это классическая техника «найти и заменить». Выделяем текст и затем вызываем окно замены сочетанием клавиш Ctrl+H или через Главная — Найти и выделить — Заменить (Home — Find&Select — Replace). Одна неувязочка — не очень понятно, как ввести в верхнее поле Найти (Find what) наш невидимый символ переноса строки. Alt+Enter тут, к сожалению, уже не работает, скопировать этот символ непосредственно из ячейки и вставить его сюда тоже не получается.

Поможет сочетание Ctrl+J — именно оно является альтернативой Alt+Enter в диалоговых окнах или полях ввода Excel:

Замена переносов строк на пробел

Обратите внимание, что после того, как вы поставите мигающий курсор в верхнее поле и нажмёте Ctrl+J — в самом поле ничего не появится. Не пугайтесь — это нормально, символ-то невидимый :)

В нижнее поле Заменить (Replace with) либо ничего не вводим, либо вводим пробел (если хотим не просто удалить переносы, а заменить их на пробел, чтобы строки не склеились в единое целое). Останется нажать на кнопку Заменить всё (Replace All) и наши переносы исчезнут:

Исправленный текст

Нюанс: после выполнения замены введённый с помощью Ctrl+J невидимый символ остаётся в поле Найти и может помешать в дальнейшем — не забудьте его удалить, установив курсор в это поле и несколько раз (для надёжности) нажав на клавиши Delete и Backspace.

Удаление переносов строк формулой

Если нужно решить задачу именно формулами, то можно использовать встроенную функцию ПЕЧСИМВ (CLEAN), которая умеет очищать текст от всех непечатаемых символов, включая и наши злополучные переносы строк:

Удаление переносов строк формулой

Такой вариант, однако, не всегда бывает удобен, т.к. строки после этой операции могут склеиваться между собой. Чтобы этого не происходило, нужно не просто удалять символ переноса, а заменять его на пробел (см. следующий пункт).

Замена переносов строк формулой

А если хочется не просто удалить, а именно заменить Alt+Enter на, например, пробел, то потребуется уже другая, чуть более сложная конструкция:

Замена переноса строки на пробел формулой

Чтобы задать невидимый символ переноса мы используем функцию СИМВОЛ (CHAR), которая выводит символ по его коду (10). А потом функция ПОДСТАВИТЬ (SUBSTITUTE) ищет в исходных данных наши переносы и заменяет их на любой другой текст, например, на пробел.

Деление на столбцы по переносу строки

Знакомый многим и очень удобный инструмент Текст по столбцам с вкладки Данные (Data — Text to Columns) тоже может замечательно работать с переносами строк и разделить текст из одной ячейки на несколько, разбив его по Alt+Enter. Для этого на втором шаге мастера нужно выбрать вариант пользовательского символа-разделителя Другой (Custom) и использовать уже знакомое нам сочетание клавиш Ctrl+J как альтернативу Alt+Enter:

Деление на столбцы по Alt+Enter

Если в ваших данных может встречаться несколько переносов строк подряд, то можно их «схлопнуть», включив флажок Считать последовательные разделители одним (Treat consecutive delimiters as one).

После нажатия на Далее (Next) и прохождения всех трёх шагов мастера мы получим желаемый результат:

Результат деления

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

Деление на строки по Alt+Enter через Power Query

Ещё одной любопытной задачей является деление многострочного текста из каждой ячейки не на столбцы, а на строки:

Деление на строки по Alt+Enter

Вручную такое делать долго, формулами — сложно, макросом — не каждый напишет. А на практике подобная задача встречается чаще, чем хотелось бы. Самым простым и лёгким решением будет использовать для этой задачи возможности надстройки Power Query, которая встроена в Excel начиная с 2016 года, а для более ранних версий 2010-2013 её можно совершенно бесплатно скачать с сайта Microsoft.

Чтобы загрузить исходные данные в Power Query их нужно сначала преобразовать в «умную таблицу» сочетанием клавиш Ctrl+T или кнопкой Форматировать как таблицу на вкладке Главная (Home — Format as Table). Если по каким-то причинам вы не хотите или не можете использовать «умные таблицы», то можно работать и с «глупыми». В этом случае просто выделите исходный диапазон и дайте ему имя на вкладке Формулы — Диспетчер имен — Создать (Formulas — Name Manager — New).

После этого на вкладке Данные (если у вас Excel 2016 или новее) или на вкладке Power Query (если у вас Excel 2010-2013) можно жать на кнопку Из таблицы / диапазона (From Table/Range), чтобы загрузить нашу таблицу в редактор Power Query:

Грузим нашу таблицу в Power Query

После загрузки выделим столбец с многострочным текстом в ячейках и выберем на Главной вкладке команду Разделить столбец — По разделителю (Home — Split Column — By delimiter):

Деление столбца на строки в Power Query

Скорее всего, Power Query автоматически распознает принцип деления и сам подставит условное обозначение #(lf) невидимого символа переноса строки (lf = line feed = перенос строки) в поле ввода разделителя. Если нужно, то другие символы можно выбрать из выпадающего списка в нижней части окна, если включить предварительно галочку Разделить с помощью специальных символов (Split by special characters).

Чтобы всё разделилось на строки, а не не столбцы — не забудьте переключить селектор Строки (By rows) в группе расширенных параметров.

Останется только нажать на ОК и получить желаемое:

Результаты

Готовую таблицу можно выгрузить обратно на лист с помощью команды Закрыть и загрузить — Закрыть и загрузить в… на вкладке Главная (Home — Close&Load — Close&Load to…).

Важно отметить, что при использовании Power Query необходимо помнить о том, что при изменении исходных данных результаты автоматически не обновляются, т.к. это не формулы. Для обновления нужно обязательно щёлкнуть правой кнопкой мыши по итоговой таблице на листе и выбрать команду Обновить (Refresh) или нажать кнопку Обновить всё на вкладке Данные (Data — Refresh All).

Макрос для деления на строки по Alt+Enter

Для полноты картины давайте упомянем решение предыдущей задачи ещё и с помощью макроса. Откройте редактор Visual Basic с помощью одноимённой кнопки на вкладке Разрабочик (Developer) или сочетания клавиш Alt+F11. В появившемся окне вставьте новый модуль через меню Insert — Module и скопируйте туда нижеприведённый код:

Sub Split_By_Rows()
    Dim cell As Range, n As Integer

    Set cell = ActiveCell

    For i = 1 To Selection.Rows.Count
        ar = Split(cell, Chr(10))         'делим текст по переносам в массив
        n = UBound(ar)                    'определяем кол-во фрагментов
        cell.Offset(1, 0).Resize(n, 1).EntireRow.Insert             'вставляем пустые строки ниже
        cell.Resize(n + 1, 1) = WorksheetFunction.Transpose(ar)     'вводим в них данные из массива
        Set cell = cell.Offset(n + 1, 0)                            'сдвигаемся на следующую ячейку
    Next i
End Sub

Вернитесь в Excel и выделите ячейки с многострочным текстом, который надо разделить. Затем воспользуйтесь кнопкой Макросы на вкладке Разработчик (Developer — Macros) или сочетанием клавиш Alt+F8, чтобы запустить созданный макрос, который и проделает за вас всю работу:

Работа макроса разделения на строки по Alt+Enter

Вуаля! Программисты — это, на самом деле, просто очень ленивые люди, которые лучше один раз как следует напрягутся, чтобы потом ничего не делать :)

Ссылки по теме

  • Зачистка текста от мусора и лишних символов
  • Замена текста и зачистка от неразрывных пробелов функцией ПОДСТАВИТЬ
  • Как разделить слипшийся текст на части в Excel

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

Автор kim k., 07.11.2011, 11:14

« назад — далее »

Печать

Вниз
Страницы1

Действия пользователя


kim k.

  • **
  • Пользователь
  • Сообщения: 47
  • Записан

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




07.11.2011, 11:14


Добрый день!)

в ряде ячеек имеем данные, разделенные с помощью Alt+Enter. Как разложить эти данные из одной ячейки в несколько ячеек по признаку того самого разделителя? Excel не распознает его через встроенный инструмент «Текст по столбцам»  (

Пример прилагаю

* Q.xlsx

10.57 КБ
скачиваний: 19



Serge 007

  • Администратор
  • *****
  • Ветеран
  • Сообщения: 3,119
  • Карма: 960
  • Записан

Re: Вопрос по разделителям значений в ячейке

#1




07.11.2011, 11:56


Для Данные -Текст по столбцам: разделитель устанавливаете «галку» другой, после чего набираете слева на клавиатуре Alt+010 набирается на правой цифровой клавиатуре.

Бесплатная помощь: www.excelworld.ru
Платная помощь: sergeyizotov@excelworld.ru
Ю-money: 41001419691823 | WMR:126292472390



kim k.

  • **
  • Пользователь
  • Сообщения: 47
  • Записан

Re: Вопрос по разделителям значений в ячейке

#2




07.11.2011, 12:01


Аааааааааааааа….. вот оно в чем фокус. Да, очень логично.
Спасибо!


Печать

Вверх
Страницы1

Действия пользователя

  • Профессиональные приемы работы в Microsoft Excel

  • Обмен опытом

  • Microsoft Excel

  • Вопрос по разделителям значений в ячейке

Действия пользователя

Печать

Top.Mail.Ru

Яндекс.Метрика

Как разбить содержимое многострочной ячейки на отдельные строки / столбцы в Excel?

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

Разделить содержимое многострочной ячейки на отдельные столбцы с помощью функции «Текст в столбцы»
Легко разделяйте содержимое многострочных ячеек на отдельные строки или столбцы с Kutools for Excel


Разделить содержимое многострочной ячейки на отдельные столбцы с помощью функции «Текст в столбцы»

С помощью функции «Текст в столбцы» вы можете разделить содержимое многострочной ячейки на отдельные столбцы.

1. Выберите ячейки с многострочным содержимым, которые нужно разделить на отдельные столбцы, затем щелкните Данные > Текст в столбцы. Смотрите скриншот:

2. В первом Мастер преобразования текста в столбцы диалоговое окно, выберите разграниченный вариант, а затем щелкните Download кнопку.

3. В секунду Мастер преобразования текста в столбцы диалоговое окно, только отметьте Другое коробка, держи другой ключ и введите номер 0010 в следующее пустое поле. Затем нажмите кнопку Download кнопка. Смотрите скриншот:

4. В третьем Мастер преобразования текста в столбцы диалоговом окне выберите ячейку для размещения разделенного содержимого в Направление поле и, наконец, щелкните Завершить кнопку.

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


Разделите содержимое многострочной ячейки на отдельные строки или столбцы с помощью Kutools for Excel

Если вы хотите разделить содержимое многострочной ячейки на несколько строк, функция «Текст в столбец» может вам не помочь. Но Разделить клетки полезности Kutools for Excel может помочь вам быстро разделить содержимое многострочной ячейки на отдельные строки или столбцы. Пожалуйста, сделайте следующее.

1. Выберите ячейки с многострочным содержимым, которые нужно разделить на отдельные строки или столбцы, затем щелкните Кутулс > Слияние и разделение > Разделить клетки. Смотрите скриншот:

2. в Разделить клетки диалоговом окне необходимо сделать следующее:

  • (1) Если вы хотите разбить ячейки на строки, выберите Разделить на строки вариант, в противном случае выберите Разделить на столбцы опцию.
  • (2) В Укажите разделитель раздел, выберите Новая линия вариант
  • (3) Наконец, нажмите кнопку OK кнопка

3. В следующем всплывающем диалоговом окне выберите пустую ячейку для размещения разделенного текста, а затем щелкните значок OK кнопку.

Вы можете увидеть результат разделения, как показано на скриншотах ниже.

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


Легко разделяйте содержимое многострочных ячеек на отдельные строки или столбцы с Kutools for Excel


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

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

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

вкладка kte 201905


Вкладка Office: интерфейс с вкладками в Office и упрощение работы

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

офисный дно

Комментарии (23)


Оценок пока нет. Оцените первым!

На чтение 19 мин Просмотров 1.2к. Опубликовано 07.05.2019

Содержание

  1. В этом курсе:
  2. Дополнительные сведения
  3. См. также
  4. Get expert help now
  5. Разделение текста на столбцы с помощью мастера распределения текста по столбцам
  6. Распределение содержимого ячейки на соседние столбцы
  7. Помогите текст разбить на ячейки по строкам
  8. Разбить текст ячейки (строки), содержащий разделитель, на строки
  9. Редактирование ячейки в Excel и разбиение текста на несколько строк
  10. Редактирование строки текста в ячейках
  11. Как сделать несколько строк в ячейке Excel?
  12. Режим редактирования
  13. Разделение текста в ячейке, на строки.
  14. Разделение текста по строкам

В этом курсе:

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

Выделите ячейку или столбец с текстом, который вы хотите разделить.

На вкладке Данные нажмите кнопку Текст по столбцам.

В мастере распределения текста по столбцам установите переключатель с разделителями и нажмите кнопку Далее.

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

Нажмите кнопку Далее.

Выберите значение в разделе Формат данных столбца или используйте то, которое 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.

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

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

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

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

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

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

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

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

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

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

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

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

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

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

Если материалы office-menu.ru Вам помогли, то поддержите, пожалуйста, проект, чтобы я мог развивать его дальше.

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

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

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

​ ее отображение.​ обладают функционалом простейшего​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​ задачу.​

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

Skip to content

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

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

Разделение текста из одной ячейки на несколько — это задача, с которой время от времени сталкиваются все пользователи Excel. В одной из наших предыдущих статей мы обсуждали, как разделить ячейки в Excel с помощью функции «Текст по столбцам» и «Мгновенное заполнение».  Сегодня мы подробно рассмотрим, как можно разделить текст по ячейкам с помощью формул.

Чтобы разбить текст в Excel, вы обычно используете функции ЛЕВСИМВ (LEFT), ПРАВСИМВ (RIGHT) или ПСТР (MID) в сочетании с НАЙТИ (FIND) или ПОИСК (SEARCH). На первый взгляд, некоторые рассмотренные ниже приёмы могут показаться сложными. Но на самом деле логика довольно проста, и следующие примеры помогут вам разобраться.

Для преобразования текста в ячейках в Excel ключевым моментом является определение положения разделителя в нем. Что может быть таким разделителем? Это запятая, точка с запятой, наклонная черта, двоеточие, тире, восклицательный знак и т.п. И, как мы далее увидим, даже целое слово.

  • Как распределить ФИО по столбцам
  • Как использовать разделители в тексте
  • Разделяем текст по переносам строки
  • Как разделить длинный текст на множество столбцов
  • Как разбить «текст + число» по разным ячейкам
  • Как разбить ячейку вида «число + текст»
  • Разделение ячейки по маске (шаблону)
  • Использование инструмента Split Text

 В зависимости от вашей задачи эту проблему можно решить с помощью функции ПОИСК (без учета регистра букв) или НАЙТИ (с учетом регистра). 

Как только вы определите позицию разделителя, используйте функцию ЛЕВСИМВ, ПРАВСИМВ и ПСТР, чтобы извлечь соответствующую часть содержимого. 

Для лучшего понимания пошагово рассмотрим несколько примеров.

Делим текст вида ФИО по столбцам.

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

 В столбце A нашей таблицы записаны Фамилии, имена и отчества сотрудников. Необходимо разделить их на 3 столбца.

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

Кратко напомним:

На ленте «Данные» выбираем «Текст по столбцам» — с разделителями.

Далее в качестве разделителя выбираем пробел.

Обращаем внимание на то, как разделены наши данные в окне образца.

В следующем окне определяем формат данных. По умолчанию там будет «Общий». Он нас вполне устраивает, поэтому оставляем как есть. Выбираем левую верхнюю ячейку диапазона, в который будет помещен наш разделенный текст. Если нужно оставить в неприкосновенности исходные данные, лучше выбрать B1, к примеру.

В итоге имеем следующую картину:

При желании можно дать заголовки новым столбцам B,C,D.

А теперь давайте тот же результат получим при помощи формул.

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

Итак, чтобы выделить из нашего ФИО фамилию, будем использовать выражение

=ЛЕВСИМВ(A2; ПОИСК(» «;A2;1)-1)

В качестве разделителя мы используем пробел. Функция ПОИСК указывает нам, в какой позиции находится первый пробел. А затем именно это количество букв (за минусом 1, чтобы не извлекать сам пробел) мы «отрезаем» слева от нашего ФИО при помощи ЛЕВСИМВ.

Далее будет чуть сложнее.

Нужно извлечь второе слово, то есть имя. Чтобы вырезать кусочек из середины, используем функцию ПСТР.

=ПСТР(A2; ПОИСК(» «;A2) + 1; ПОИСК(» «;A2;ПОИСК(» «;A2)+1) — ПОИСК(» «;A2) — 1)

Как вы, наверное, знаете, функция Excel ПСТР имеет следующий синтаксис:

ПСТР (текст; начальная_позиция; количество_знаков)

Текст извлекается из ячейки A2, а два других аргумента вычисляются с использованием 4 различных функций ПОИСК:

  • Начальная позиция — это позиция первого пробела  плюс 1:

ПОИСК(» «;A2) + 1

  • Количество знаков для извлечения: разница между положением 2- го и 1- го пробелов, минус 1:

ПОИСК(» «;A2;ПОИСК(» «;A2)+1) — ПОИСК(» «;A2) – 1

В итоге имя у нас теперь находится в C.

Осталось отчество. Для него используем выражение:

=ПРАВСИМВ(A2;ДЛСТР(A2) — ПОИСК(» «; A2; ПОИСК(» «; A2) + 1))

В этой формуле функция ДЛСТР (LEN) возвращает общую длину строки, из которой вы вычитаете позицию 2- го пробела. Получаем количество символов после 2- го пробела, и функция ПРАВСИМВ их и извлекает.

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

Распределение текста с разделителями на 3 столбца.

Предположим, у вас есть список одежды вида Наименование-Цвет-Размер, и вы хотите разделить его на 3 отдельных части. Здесь разделитель слов – дефис. С ним и будем работать.

  1. Чтобы извлечь Наименование товара (все символы до 1-го дефиса), вставьте следующее выражение в B2, а затем скопируйте его вниз по столбцу:

=ЛЕВСИМВ(A2; ПОИСК(«-«;A2;1)-1)

Здесь функция мы сначала определяем позицию первого дефиса («-«) в строке, а ЛЕВСИМВ извлекает все нужные символы начиная с этой позиции. Вы вычитаете 1 из позиции дефиса, потому что вы не хотите извлекать сам дефис.

  1. Чтобы извлечь цвет (это все буквы между 1-м и 2-м дефисами), запишите в C2, а затем скопируйте ниже:

=ПСТР(A2; ПОИСК(«-«;A2) + 1; ПОИСК(«-«;A2;ПОИСК(«-«;A2)+1) — ПОИСК(«-«;A2) — 1)

Логику работы ПСТР мы рассмотрели чуть выше.

  1. Чтобы извлечь размер (все символы после 3-го дефиса), введите следующее выражение в D2:

=ПРАВСИМВ(A2;ДЛСТР(A2) — ПОИСК(«-«; A2; ПОИСК(«-«; A2) + 1))

Аналогичным образом вы можете в Excel разделить содержимое ячейки в разные ячейки любым другим разделителем. Все, что вам нужно сделать, это заменить «-» на требуемый символ, например пробел (« »), косую черту («/»), двоеточие («:»), точку с запятой («;») и т. д.

Примечание. В приведенных выше формулах +1 и -1 соответствуют количеству знаков в разделителе. В нашем примере это дефис (то есть, 1 знак). Если ваш разделитель состоит из двух знаков, например, запятой и пробела, тогда укажите только запятую («,») в ваших выражениях и используйте +2 и -2 вместо +1 и -1.

Как разбить текст по переносам строки.

Чтобы разделить слова в ячейке по переносам строки, используйте подходы, аналогичные тем, которые были продемонстрированы в предыдущем примере. Единственное отличие состоит в том, что вам понадобится функция СИМВОЛ (CHAR) для передачи символа разрыва строки, поскольку вы не можете ввести его непосредственно в формулу с клавиатуры.

Предположим, ячейки, которые вы хотите разделить, выглядят примерно так:

Напомню, что перенести таким вот образом текст внутри ячейки можно при помощи комбинации клавиш ALT + ENTER.

Возьмите инструкции из предыдущего примера и замените дефис («-») на СИМВОЛ(10), где 10 — это код ASCII для перевода строки.

Чтобы извлечь наименование товара:

=ЛЕВСИМВ(A2; ПОИСК(СИМВОЛ(10);A2;1)-1)

Цвет:

=ПСТР(A2; ПОИСК(СИМВОЛ(10);A2) + 1; ПОИСК(СИМВОЛ(10);A2; ПОИСК(СИМВОЛ(10);A2)+1) — ПОИСК(СИМВОЛ(10);A2) — 1)

Размер:

=ПРАВСИМВ(A2;ДЛСТР(A2) — ПОИСК(СИМВОЛ(10); A2; ПОИСК(СИМВОЛ(10); A2) + 1))

Результат вы видите на скриншоте выше.

Таким же образом можно работать и с любым другим символом-разделителем. Достаточно знать его код.

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

Изучив представленные выше примеры, у многих из вас, думаю, возник вопрос: «А что, если у меня не 3 слова, а больше? Если нужно разбить текст в ячейке на 5 столбцов?»

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

Имеем список наименований одежды с различными признаками, перечисленными через дефис. Как видите, таких признаков у нас может быть от 2 до 6. Делим текст в наших ячейках на 6 столбцов так, чтобы лишние столбцы в отдельных строках просто остались пустыми.

Для первого слова (наименования одежды) используем:

=ЛЕВСИМВ(A2; ПОИСК(«-«;A2;1)-1)

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

Для второго столбца и далее понадобится более сложное выражение:

=ЕСЛИОШИБКА(ЛЕВСИМВ(ПОДСТАВИТЬ($A2&»-«; ОБЪЕДИНИТЬ(«-«;ИСТИНА;$B2:B2)&»-«;»»;1); ПОИСК(«-«;ПОДСТАВИТЬ($A2&»-«;ОБЪЕДИНИТЬ(«-«;ИСТИНА;$B2:B2)&»-«;»»;1);1)-1);»»)

Замысел здесь состоит в том, что при помощи функции ПОДСТАВИТЬ мы удаляем из исходного содержимого наименование, которое уже ранее извлекли (то есть, «Юбка»). Вместо него подставляем пустое значение «» и в результате имеем «Синий-M-39-42-50». В нём мы снова ищем позицию первого дефиса, как это делали ранее. И при помощи ЛЕВСИМВ вновь выделяем первое слово (то есть, «Синий»).

А далее можно просто «протянуть» формулу из C2 по строке, то есть скопировать ее в остальные ячейки. В результате в D2 получим

=ЕСЛИОШИБКА(ЛЕВСИМВ(ПОДСТАВИТЬ($A2&»-«; ОБЪЕДИНИТЬ(«-«;ИСТИНА;$B2:C2)&»-«;»»;1); ПОИСК(«-«;ПОДСТАВИТЬ($A2&»-«;ОБЪЕДИНИТЬ(«-«;ИСТИНА;$B2:C2)&»-«;»»;1);1)-1);»»)

Обратите внимание, жирным шрифтом выделены произошедшие при копировании изменения. То есть, теперь из исходного текста мы удаляем все, что было уже ранее найдено и извлечено – содержимое B2 и C2. И вновь в получившейся фразе берём первое слово — до дефиса.

Если же брать больше нечего, то функция ЕСЛИОШИБКА обработает это событие и вставит в виде результата пустое значение «».

Скопируйте формулы по строкам и столбцам, на сколько это необходимо. Результат вы видите на скриншоте.

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

Как разделить ячейку вида ‘текст + число’.

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

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

Метод 1. Подсчитайте цифры и извлеките это количество символов

Самый простой способ разбить выражение, в котором число идет после текста:

Чтобы извлечь числа, вы ищите в строке все возможные числа от 0 до 9, получаете общее их количество и отсекаете такое же количество символов от конца строки.

Если мы работаем с ячейкой ​​A2:

=ПРАВСИМВ(A2;СУММ(ДЛСТР(A2) — ДЛСТР(ПОДСТАВИТЬ(A2; {«0″;»1″;»2″;»3″;»4″;»5″;»6″;»7″;»8″;»9″};»»))))

Чтобы извлечь буквы, вы вычисляете, сколько их у нас имеется. Для этого вычитаем количество извлеченных цифр (C2) из ​​общей длины исходной ячейки A2. После этого при помощи ЛЕВСИМВ отрезаем это количество символов от начала ячейки.

=ЛЕВСИМВ(A2;ДЛСТР(A2)-ДЛСТР(C2))

здесь  A2 – исходная ячейка, а C2 — извлеченное число, как показано на скриншоте:

Метод 2: узнать позицию 1- й цифры в строке

Альтернативное решение — использовать эту формулу массива для определения позиции первой цифры:

{=МИН(ПОИСК({0;1;2;3;4;5;6;7;8;9};A2&»0123456789″))}

Как видите, мы последовательно ищем каждое число из массива {0,1,2,3,4,5,6,7,8,9}. Чтобы избежать появления ошибки если цифра не найдена, мы после содержимого ячейки A2 добавляем эти 10 цифр. Excel последовательно перебирает все символы в поисках этих десяти цифр. В итоге получаем опять же массив из 10 цифр — номеров позиций, в которых они нашлись. И из них функция МИН выбирает наименьшее число. Это и будет та позиция, с которой начинается группа чисел, которую нужно отделить от основного содержимого.

Также обратите внимание, что это формула массива и ввод её нужно заканчивать не как обычно, а комбинацией клавиш CTRL + SHIFT + ENTER.

Как только позиция первой цифры найдена, вы можете разделить буквы и числа, используя очень простые формулы ЛЕВСИМВ и ПРАВСИМВ.

Чтобы получить текст:

=ЛЕВСИМВ(A2; B2-1)

Чтобы получить числа:

=ПРАВСИМВ(A2; ДЛСТР(A2)-B2+1)

Где A2 — исходная строка, а B2 — позиция первого числа.

Чтобы избавиться от вспомогательного столбца, в котором мы вычисляли позицию первой цифры, вы можете встроить МИН в функции ЛЕВСИМВ и ПРАВСИМВ:

Для вытаскивания текста:

=ЛЕВСИМВ(A2; МИН(ПОИСК({0;1;2;3;4;5;6;7;8;9};A2&»0123456789″))-1)

Для чисел:

=ПРАВСИМВ(A2; ДЛСТР(A2)-МИН(ПОИСК({0;1;2;3;4;5;6;7;8;9};A2&»0123456789″))+1)

Этого же результата можно достичь и чуть иначе.

Сначала мы извлекаем из ячейки числа при помощи вот такого выражения:

=ПРАВСИМВ(A2;СУММ(ДЛСТР(A2) -ДЛСТР(ПОДСТАВИТЬ(A2; {«0″;»1″;»2″;»3″;»4″;»5″;»6″;»7″;»8″;»9″};»»))))

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

А затем уже берём оставшееся:

=ЛЕВСИМВ(A2;ДЛСТР(A2)-ДЛСТР(C2))

Как видите, результат тот же. Можете воспользоваться любым способом.

Как разделить ячейку вида ‘число + текст’.

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

=ЛЕВСИМВ(A2;СУММ(ДЛСТР(A2) — ДЛСТР(ПОДСТАВИТЬ(A2; {«0″;»1″;»2″;»3″;»4″;»5″;»6″;»7″;»8″;»9″};»»))))

Она аналогична рассмотренной в предыдущем примере, за исключением того, что вы используете функцию ЛЕВСИМВ вместо ПРАВСИМВ, чтобы получить число теперь уже из левой части выражения.

Теперь, когда у вас есть числа, отделите буквы, вычитая количество цифр из общей длины исходной строки:

=ПРАВСИМВ(A2;ДЛСТР(A2)-ДЛСТР(B2))

Где A2 — исходная строка, а B2 — искомое число, как показано на снимке экрана ниже:

Как разбить текст по ячейкам по маске (шаблону).

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

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

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

Решением является разбиение строки по следующей маске: * ERROR: * Exception: *

Здесь звездочка (*) представляет любое количество символов.

Двоеточия (:) включены в разделители, потому что мы не хотим, чтобы они появлялись в результирующих ячейках.

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

Итак, в начале ищем позицию первого разделителя.

=ПОИСК(«ERROR:»;A2;1)

Затем аналогичным образом находим позицию, в которой начинается второй разделитель:

=ПОИСК(«Exception:»;A2;1)

Итак, для ячейки A2 шаблон выглядит следующим образом:

С 1 по 20 символ – дата и время. С 21 по 26 символ – разделитель “ERROR:”. Далее – код ошибки. С 31 по 40 символ – второй разделитель “Exception:”. Затем следует описание ошибки.

Таким образом, в первый столбец мы поместим первые 20 знаков:

=—ЛЕВСИМВ(A2;ПОИСК(«ERROR:»;A2;1)-1)

Обратите внимание, что мы взяли на 1 позицию меньше, чем начало первого разделителя. Кроме того, чтобы сразу конвертировать всё это в дату, ставим перед формулой два знака минус. Это автоматически преобразует цифры в число, а дата как раз и хранится в виде числа. Остается только установить нужный формат даты и времени стандартными средствами Excel.

Далее нужно получить код:

=ПСТР(A2;ПОИСК(«ERROR:»;A2;1)+6;ПОИСК(«Exception:»;A2;1)-(ПОИСК(«ERROR:»;A2;1)+6))

Думаю, вы понимаете, что 6 – это количество знаков в нашем слове-разделителе «ERROR:».

Ну и, наконец, выделяем из этой фразы пояснение:

=ПРАВСИМВ(A2;ДЛСТР(A2)-(ПОИСК(«Exception:»;A2;1)+10))

Аналогично добавляем 10 к найденной позиции второго разделителя «Exception:», чтобы выйти на координаты первого символа сразу после разделителя. Ведь функция говорит нам только то, где разделитель начинается, а не заканчивается.

Таким образом, ячейку мы распределили по 3 столбцам, исключив при этом слова-разделители.

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

Как разделить ячейки в Excel с помощью функции разделения текста Split Text.

Альтернативный способ разбить столбец в Excel — использовать функцию разделения текста, включенную в надстройку Ultimate Suite for Excel. Она предоставляет следующие возможности:

  • Разделить ячейку по символу-разделителю.
  • Разделить ячейку по нескольким разделителям.
  • Разделить ячейку по маске (шаблону).

Чтобы было понятнее, давайте более подробно рассмотрим каждый вариант по очереди.

Разделить ячейку по символу-разделителю.

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

Для этого примера возьмем строки шаблона Товар-Цвет-Размер , который мы использовали в первой части этого руководства. Как вы помните, мы разделили их на 3 разных столбца, используя 3 разные формулы . А вот как добиться того же результата за 2 быстрых шага:

  1. Предполагая, что у вас установлен Ultimate Suite , выберите ячейки, которые нужно разделить, и щелкните значок «Разделить текст (Split Text)» на вкладке «Ablebits Data».

  1. Панель Разделить текст откроется в правой части окна Excel, и вы выполните следующие действия:
    • Разверните группу «Разбить по символам (Split by Characters и выберите один из предопределенных разделителей или введите любой другой символ в поле «Пользовательский (Custom .
    • Выберите, как именно разбивать ячейки: по столбцам или строкам.
    • Нажмите кнопку «Разделить (Split)» .

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

Готово! Задача, которая требовала 3 формул и 5 различных функций, теперь занимает всего пару секунд и одно нажатие кнопки.

Разделить ячейку по нескольким разделителям.

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

Например, чтобы разделить предложение на части, используя запятые и союзы, активируйте инструмент «Разбить по строкам (Split by Strings)» и введите разделители, по одному в каждой строке:

В данном случае в качестве разделителей мы используем запятую и союз “или”.

В результате исходная фраза разделяется при появлении любого разделителя:

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

А вот еще один пример. Предположим, вы импортировали столбец дат из внешнего источника, и выглядит он следующим образом:

5.1.2021 12:20

9.8.2021 14:50

Этот формат не является обычным для Excel, и поэтому ни одна из функций даты не распознает здесь какие-либо элементы даты или времени. Чтобы разделить день, месяц, год, часы и минуты на отдельные ячейки, введите следующие символы в поле Spilt by strings:

  • Точка (.) Для разделения дня, месяца и года
  • Двоеточие (:) для разделения часов и минут
  • Пробел для разграничения даты и времени

Нажмите кнопку Split, и вы сразу получите результат:

Разделить ячейки по маске (шаблону).

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

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

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

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

Решением является разбиение строки по следующей маске: 

* ERROR:* Exception: *

Где звездочка (*) представляет любое количество символов.

Двоеточия (:) включены в разделители, потому что мы не хотим, чтобы они появлялись в результирующих ячейках.

А теперь нажмите кнопку «Разбить по маске (Split by Mask)» на панели «Split Text» , введите маску в соответствующее поле и нажмите «Split».
Результат будет примерно таким:

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

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

* * ERROR:* Exception: *

Проще говоря, маска указывает надстройке разделить исходные строки на 4 части:

  • Все символы перед 1-м пробелом в строке (дата)
  • Символы между 1-м пробелом и словом ERROR: (время)
  • Текст между ERROR: и Exception: (код ошибки)
  • Все, что идет после Exception: (текст описания)

Думаю, вы согласитесь, что использование надстройки Split Text гораздо быстрее и проще, нежели использование формул.

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

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

Читайте также:

Поиск ВПР нескольких значений по нескольким условиям В статье показаны способы поиска (ВПР) нескольких значений в Excel на основе одного или нескольких условий и возврата нескольких результатов в столбце, строке или в отдельной ячейке. При использовании Microsoft…
Формат времени в Excel Вы узнаете об особенностях формата времени Excel, как записать его в часах, минутах или секундах, как перевести в число или текст, а также о том, как добавить время с помощью…
Как сделать диаграмму Ганта Думаю, каждый пользователь Excel знает, что такое диаграмма и как ее создать. Однако один вид графиков остается достаточно сложным для многих — это диаграмма Ганта.  В этом кратком руководстве я постараюсь показать…
Как сделать автозаполнение в Excel В этой статье рассматривается функция автозаполнения Excel. Вы узнаете, как заполнять ряды чисел, дат и других данных, создавать и использовать настраиваемые списки в Excel. Эта статья также позволяет вам убедиться, что вы…
Функция ИНДЕКС в Excel — 6 примеров использования В этом руководстве вы найдете ряд примеров формул, демонстрирующих наиболее эффективное использование ИНДЕКС в Excel. Из всех функций Excel, возможности которых часто недооцениваются и используются недостаточно, ИНДЕКС определенно занимает место…
Быстрое удаление пустых столбцов в Excel В этом руководстве вы узнаете, как можно легко удалить пустые столбцы в Excel с помощью макроса, формулы и даже простым нажатием кнопки. Как бы банально это ни звучало, удаление пустых…

Понравилась статья? Поделить с друзьями:

А вот еще интересные статьи:

  • Excel текст по кругу
  • Excel текст плюс ячейка
  • Excel текст не влезает в ячейку по высоте
  • Excel текст на фоне текста
  • Excel текст на несколько ячеек без объединения

  • 0 0 голоса
    Рейтинг статьи
    Подписаться
    Уведомить о
    guest

    0 комментариев
    Старые
    Новые Популярные
    Межтекстовые Отзывы
    Посмотреть все комментарии