Данные через запятую в разные ячейки excel

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

Разделить значения, разделенные запятыми, на столбцы с помощью функции Text to Columns
Разделить значения, разделенные запятыми, на строки с кодом VBA
Быстро разделяйте значения, разделенные запятыми, на строки или столбцы с Kutools for Excel


Разделить значения, разделенные запятыми, на столбцы с помощью функции Text to Columns

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

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

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

3. В секунду Мастер преобразования текста в столбцы диалоговое окно, только отметьте Запятая коробка в Разделители и нажмите Download кнопку.

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

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

Как правило, Текст в столбцы функция только разбивает ячейки на отдельные столбцы, если вы хотите разбить ячейки на строки, как вы можете это сделать?
Здесь Kutools for Excel‘s Разделить клетки Утилита может помочь вам быстро разделить ячейки по пробелу, запятой, новой строке, другим разделителям или определенной ширине не только на отдельные строки, но и на столбцы в Excel. Скачать Kutools for Excel сейчас! (30— дневная бесплатная трасса)


Разделить значения, разделенные запятыми, на строки с кодом VBA

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

1. нажмите другой + F11 клавиши одновременно, чтобы открыть Microsoft Visual Basic для приложений окно.

2. в Microsoft Visual Basic для приложений окна, нажмите Вставить > Модули. Затем скопируйте и вставьте приведенный ниже код VBA в окно модуля.

Код VBA: разделить значения, разделенные запятыми, на строки

Sub SplitAll()
	Dim xRg As Range
	Dim xRg1 As Range
	Dim xCell As Range
	Dim I As Long
	Dim xAddress As String
	Dim xUpdate As Boolean
	Dim xRet As Variant
	On Error Resume Next
	xAddress = Application.ActiveWindow.RangeSelection.Address
	Set xRg  = Application.InputBox("Please select a range", "Kutools for Excel", xAddress, , , , , 8)
	Set xRg  = Application.Intersect(xRg, xRg.Worksheet.UsedRange)
	If xRg Is Nothing Then Exit Sub
		If xRg.Columns.Count > 1 Then
			MsgBox "You can't select multiple columns", , "Kutools for Excel"
			Exit Sub
			End If
			Set xRg1 = Application.InputBox("Split to (single cell):", "Kutools for Excel", , , , , , 8)
			Set xRg1 = xRg1.Range("A1")
			If xRg1 Is Nothing Then Exit Sub
				xUpdate = Application.ScreenUpdating
				Application.ScreenUpdating = False
				For Each xCell In xRg
					xRet = Split(xCell.Value, ",")
					xRg1.Worksheet.Range(xRg1.Offset(I, 0), xRg1.Offset(I + UBound(xRet, 1), 0)) = Application.WorksheetFunction.Transpose(xRet)
					I = I + UBound(xRet, 1) + 1
				Next
				Application.ScreenUpdating = xUpdate
			End Sub

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

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

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


Быстро разделяйте значения, разделенные запятыми, на строки или столбцы с Kutools for Excel

The Разделить клетки полезности Kutools for Excel может помочь вам легко разделить значения, разделенные запятыми, на строки или столбцы.

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

2. в Разделить клетки диалоговое окно, выберите Разделить на строки or Разделить на столбцы в Тип раздел как вам нужно. И в Укажите разделитель выберите Другое вариант, введите символ запятой в текстовое поле, а затем щелкните OK кнопка. Смотрите скриншот:

3. И затем появится другое окно с подсказкой, чтобы напомнить вам выбрать ячейку для вывода результата, см. Снимок экрана:

4. Нажмите 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% и сокращает количество щелчков мышью на сотни каждый день!

офисный дно

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

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

Браузер не поддерживает видео.

Проверьте, как это работает!

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

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

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

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

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

  6. В поле Поместить в выберите место на листе, где должны отображаться разделенные данные.

  7. Нажмите кнопку Готово.

См. также

Разделение текста по столбцам с помощью функций

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

 

New

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

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

1. Выделяете мышкой столбец А (или просто ячейки с вашими данными мышкой выделите)
2. меню Данные — Текст по столбцам
3. в появившемся окне выбираете — с разделителями, Далее, мышкой выбираете разделитель «Запятая» — Готово

P.S. Правда access hash, состоящий у вас из набора цифр больше чем 15 символов (на первый взгляд их 19 чисел) — потеряется, а именно все числа после 15-го числа будут сконвертированы в 0. Если же вам нужны все числа в access hash, то можно придумать другой способ преобразования

Изменено: New14.11.2020 16:38:04

Содержание

  • Способ 1: Использование автоматического инструмента
  • Способ 2: Создание формулы разделения текста
    • Шаг 1: Разделение первого слова
    • Шаг 2: Разделение второго слова
    • Шаг 3: Разделение третьего слова
  • Вопросы и ответы

Как расцепить текст в Excel

Способ 1: Использование автоматического инструмента

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

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

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

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

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

  9. В завершающем шаге можно указать новый формат столбцов и место, куда их необходимо поместить. Как только настройка будет завершена, нажмите «Готово» для применения всех изменения.
  10. Просмотр предварительного результата автоматического расцепления текста в Excel

  11. Вернитесь к таблице и убедитесь в том, что разделение прошло успешно.
  12. Результат автоматического расцепления текста в Excel

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

Способ 2: Создание формулы разделения текста

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

Шаг 1: Разделение первого слова

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

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

  3. Выберите ячейку, где хотите расположить первое слово, и запишите формулу =ЛЕВСИМВ(.
  4. Создание первой формулы для разделения первого слова из текста в Excel

  5. После этого нажмите кнопку «Аргументы функции», перейдя тем самым в графическое окно редактирования формулы.
  6. Переход к редактированию аргументов функции разделения первого слова текста в Excel

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

  9. Количество знаков до пробела или другого разделителя придется посчитать, но вручную мы это делать не будем, а воспользуемся еще одной формулой — ПОИСК().
  10. Создание функции поиска для нахождения пробела в первом слове при его разделении в Excel

    Lumpics.ru

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

  13. В поле «Искомый_текст» просто поставьте пробел или используемый разделитель, поскольку он поможет понять, где заканчивается слово. В «Текст_для_поиска» укажите ту же обрабатываемую ячейку.
  14. Выбор текста для поиска первого пробела при разделении слова в Excel

  15. Нажмите по первой функции, чтобы вернуться к ней, и добавьте в конце второго аргумента -1. Это необходимо для того, чтобы формуле «ПОИСК» учитывать не искомый пробел, а символ до него. Как видно на следующем скриншоте, в результате выводится фамилия без каких-либо пробелов, а это значит, что составление формул выполнено правильно.
  16. Редактирование формулы ЛЕВСИМВ для отображения первого слова при разделении текста в Excel

  17. Закройте редактор функции и убедитесь в том, что слово корректно отображается в новой ячейке.
  18. Возвращение к таблице для проверки отображения первого слова при разделении в Excel

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

Полностью созданная формула имеет вид =ЛЕВСИМВ(A1;ПОИСК(" ";A1)-1), вы же можете создать ее по приведенной выше инструкции или вставить эту, если условия и разделитель подходят. Не забывайте заменить обрабатываемую ячейку.

Шаг 2: Разделение второго слова

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

  1. В этом случае основной формулой станет =ПСТР( — запишите ее в таком виде, а затем переходите к окну настройки аргументов.
  2. Создание формулы для разделения второго слова в Excel

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

  5. Начальную позицию строки придется определять при помощи уже знакомой вспомогательной формулы ПОИСК().
  6. Создание функции ПОИСК для поиска начальной позиции при разделении второго слова в Excel

  7. Создав и перейдя к ней, заполните точно так же, как это было показано в предыдущем шаге. В качестве искомого текста используйте разделитель, а ячейку указывайте как текст для поиска.
  8. Настройка функции ПОИСК для поиска начальной позиции при разделении второго слова в Excel

  9. Вернитесь к предыдущей формуле, где добавьте к функции «ПОИСК» +1 в конце, чтобы начинать счет со следующего символа после найденного пробела.
  10. Редактирование функции для учета пробела при настройке формулы разделения второго слова в Excel

  11. Сейчас формула уже может начать поиск строки с первого символа имени, но она пока еще не знает, где его закончить, поэтому в поле «Количество_знаков» снова впишите формулу ПОИСК().
  12. Переход к настройке функции поиска второго пробела при разделении слова в Excel

  13. Перейдите к ее аргументам и заполните их в уже привычном виде.
  14. Настройка функции поиска второго пробела при разделении слова в Excel

  15. Ранее мы не рассматривали начальную позицию этой функции, но теперь там нужно вписать тоже ПОИСК(), поскольку эта формула должна находить не первый пробел, а второй.
  16. Создание вспомогательной функции для поиска второго пробела в Excel

  17. Перейдите к созданной функции и заполните ее таким же образом.
  18. Настройка вспомогательной функции для поиска второго пробела в Excel

  19. Возвращайтесь к первому "ПОИСКУ" и допишите в «Нач_позиция» +1 в конце, ведь для поиска строки нужен не пробел, а следующий символ.
  20. Редактирование первой функции ПОИСК для второго слова при разделении в Excel

  21. Кликните по корню =ПСТР и поставьте курсор в конце строки «Количество_знаков».
  22. Завершающий этап настройки формулы для разделения второго слова в Excel

  23. Допишите там выражение -ПОИСК(" ";A1)-1) для завершения расчетов пробелов.
  24. Добавление последнего выражения для формулы разделения второго слова Excel

  25. Вернитесь к таблице, растяните формулу и удостоверьтесь в том, что слова отображаются правильно.
  26. Результат работы формулы для разделения второго слова в Excel

Формула получилась большая, и не все пользователи понимают, как именно она работает. Дело в том, что для поиска строки пришлось использовать сразу несколько функций, определяющих начальные и конечные позиции пробелов, а затем от них отнимался один символ, чтобы в результате эти самые пробелы не отображались. В итоге формула такая: =ПСТР(A1;ПОИСК(" ";A1)+1;ПОИСК(" ";A1;ПОИСК(" ";A1)+1)-ПОИСК(" ";A1)-1). Используйте ее в качестве примера, заменяя номер ячейки с текстом.

Шаг 3: Разделение третьего слова

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

  1. В пустой ячейке для расположения будущего текста напишите =ПРАВСИМВ( и перейдите к аргументам этой функции.
  2. Переход к настройке формулы для разделения третьего слова в Excel

  3. В качестве текста указывайте ячейку с надписью для разделения.
  4. Выбор ячейки для разделения третьего слова в Excel

  5. В этот раз вспомогательная функция для поиска слова называется ДЛСТР(A1), где A1 — та же самая ячейка с текстом. Эта функция определяет количество знаков в тексте, а нам останется выделить только подходящие.
  6. Создание функции ДЛСТР для поиска количества символов в строке при разделении слова в Excel

  7. Для этого добавьте -ПОИСК() и перейдите к редактированию этой формулы.
  8. Добавление функции ПОИСК для разделения третьего слова в Excel

  9. Введите уже привычную структуру для поиска первого разделителя в строке.
  10. Стандартная настройка функции ПОИСК для разделения третьего слова

  11. Добавьте для начальной позиции еще один ПОИСК().
  12. Добавление начальной позиции для функции ПОИСК при разделении третьего слова в Excel

  13. Ему укажите ту же самую структуру.
  14. Настройка начальной позиции для функции ПОИСК при разделении третьего слова в Excel

  15. Вернитесь к предыдущей формуле «ПОИСК».
  16. Переход к предыдущей функции ПОИСК для завершения настройки разделения третьего слова в Excel

  17. Прибавьте для его начальной позиции +1.
  18. Настройка начальной позиции для завершения разделения третьего слова в Excel

  19. Перейдите к корню формулы ПРАВСИМВ и убедитесь в том, что результат отображается правильно, а уже потом подтверждайте внесение изменений. Полная формула в этом случае выглядит как =ПРАВСИМВ(A1;ДЛСТР(A1)-ПОИСК(" ";A1;ПОИСК(" ";A1)+1)).
  20. Проверка разделения третьего слова при работе формулы в Excel

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

Еще статьи по данной теме:

Помогла ли Вам статья?

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

​Смотрите также​ As Long Dim​ Или просто -​ сложный…​ в приложенной книге​

  1. ​ в него код​Разработчик — Редактор Visual​дата​

  2. ​ текста. Или это​​ еще 2 пробела​​ после пробела за​​ одной и той​​ Нажмите кнопку​

  3. ​ Кроме того, содержимое​​Можно разделить ячейку​ разделе «Образец разбора​​ ячейке Excel на​​С помощью мастера распределения​​ lCnt As Long​​ откройте файл моего​​wowik7​

  4. ​ 4 слова и​​ этой функции:​​ Basic (Developer -​- необходимо выбирать​​ текст, в котором​​ следует вычитать число​​ квадратной скобкой. В​​ же строке. В​Готово​​ ячейки можно разделить​​ по диагонали и,​

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

  6. ​ Set awsh =​​ примера и свой​​: Изменил своё первое​ все разделены запятой​Function CutWords(Txt As​

  7. ​ Visual Basic Editor)​​ для столбцов с​​ какой-либо символ отделяет​ 3. В результате​ последнем аргументе функция​

  8. ​ нашем случае нас​​.​​ на несколько смежных​

support.office.com

Разделить текст Excel на несколько ячеек.

​ в каждой части​​ какие столбцы у​Например, предложение из​ текст, содержащийся в​​ ActiveSheet With awsh​ — и запускайте​ сообщение. Прикрепил там​ и пробелом. Известно,​ Range) As String​
​или сочетание клавиш​ датами, причем формат​ друг от друга​ чего получаем правильное​ вычисляет какое количество​ интересуют только числа,​Объединение и отмена объединения​ ячеек.​ написать текст. Читайте,​ нас получатся. Нажимаем​ первой ячейки разнести​ одной ячейке, можно​ arrDataIn = .Range(«A2:C»​ макрос через Alt+F8/​
​ файл​ что разделение будет​ Dim Out$ If​Alt+F11​
​ даты (день-месяц-год, месяц-день-год​ содержимое наших будущих​ количество символов в​ символов будет содержать​ которые находятся вне​ ячеек​Пример разделения ячеек:​ как это сделать,​ кнопку «Далее».​ по словам в​ разделить на несколько.​
​ & .Cells(.Rows.CountLarge, 1).End(xlUp).Row).Value​ Макрос-то делался под​Пытливый​ таким же и​ Len(Txt) = 0​Вставляем новый модуль (меню​ и т.д.) уточняется​ отдельных столбцов (​ разделенной строке. С​ разделенная строка после​ квадратных скобок. Каким​Слияние и разделение ячеек​Выделите одну или несколько​разделить текст ячейки на несколько ячеек Excel.​ в статье «Как​Здесь, в разделе​ несколько других ячеек,​Выделите ячейку или столбец​ .Parent.Sheets.Add , awsh,​ данные из примера.​
​: В файле на​ слов обязательно 4​ Then Exit Function​Insert — Module​ в выпадающем списке​ ​с разделителями​​ помощью такой гибкой​ разделения, учитывая положение​ способом можно быстро​ или данных​ ячеек, которые хотите​ разделить ячейку в​ «Поместить в:» указываем​ ФИО, дату, т.д.​ с текстом, который​ 1, xlWorksheet End​А если там​ копии листа1 давите​
​ ?​ Out = Mid(Txt,​) и копируем туда​текстовый​) или в тексте​ формулы можно делать​ квадратной скобки.​ выбрать из строк​
​Часто приходится оптимизировать структуру​ разделить.​
РАЗДЕЛИТЬТЕКСТ ИЗ ОДНОЙ ЯЧЕЙКИ НА НЕСКОЛЬКО В EXCEL.​ Excel» здесь.​ диапазон столбцов, в​Например, у нас​ вы хотите разделить.​ With ‘ awsh​ отличия какие -​ кнопку с побудительной​

ЗАПИМАТЬ ТЕКСТ ИЗ ОДНОЙ ЯЧЕЙКИ В НЕСКОЛЬКОВ EXCEL.

​Как вариант, метод​ 1, 1) For​ текст вот этой​- этот формат​ с помощью пробелов​ выборку разной длинны​Обратите внимание! Что в​ целые числа и​ данных после импорта​Важно:​
​Удобнее работать в​ которые поместятся новые​ есть список с​На вкладке​ Set wshResult =​ надо смотреть и​ надписью и проверяйте​ с использованием «Данные»​
​ i = 2​ пользовательской функции:​ нужен, по большому​ имитируются столбцы одинаковой​ разделенного текста из​ нашем примере все​ поместить их в​ в Excel. Некоторые​

excel-office.ru

Разделение ячейки

​При разделении ячейки​​ таблице, где в​ данные.​ фамилиями, именами в​Данные​ ActiveSheet n =​ макрос корректировать, быть​ результат.​ —> «Работа с​ To Len(Txt) If​Function Substring(Txt, Delimiter,​ счету, не для​ ширины (​ разных длинны исходных​ исходные и разделенные​ отдельные ячейки? Эффективным​ разные значения попадают​ ее содержимое заменит​ ячейках не видны​Внимание!​ одном столбце. Нам​

​нажмите кнопку​

​ UBound(arrDataIn, 1) lCnt​ может.​Voditel_CDROMa​ данными» —> «Текст​ Mid(Txt, i, 1)​ n) As String​ столбцов с ФИО,​фиксированная ширина​ строк.​ строки имеют разную​ решением является гибкая​ в одну и​ данные из следующей​ нули. Как их​Столбцы этого диапазона​ нужно написать фамилии​Текст по столбцам​

​ = 0 For​

Ячейки в Excel Разделенные ячейки

Разделение содержимого ячейки на несколько ячеек

  1. ​AVKL​: Как вариант с​ по столбцам»​

    ​ Like «[a-zа-я]» And​​ Dim x As​ названием города или​).​Итак, имеем столбец с​ длину и разное​ формула основана на​

  2. ​ туже ячейку образуя​​ ячейки, поэтому освободите​​ убрать, скрыть, заменить,​ должны быть пустыми,​​ в одном столбце,​​.​​ i = 1​​: Добрый день Пытливый!​​ помощью функции SubStr(ссылка​​Выделяете две нужных​

    Значок

  3. ​ Mid(Txt, i +​​ Variant x =​​ компании, а для​На втором шаге​ данными, которые надо​​ количество символов. Именно​​ текстовых функциях.​

  4. ​ целую строку как​ достаточное пространство на​ читайте в статье​ иначе информация в​ а имена в​​В​​ To n arrTmp1​Спасибо большое за​ на строку, номер​​ ячейки, кликаете​​ 1, 1) Like​

    Вторая страница мастера распределения текста по столбцам

  5. ​ Split(Txt, Delimiter) If​​ столбцов с числовыми​​Мастера​ разделить на несколько​ поэтому мы называли​В ячейку B3 введите​ одно значение. Возникает​ листе.​ «Как убрать нули​​ них сотрется и​​ другом столбце. Например,​

См. также

​мастере распределения текста по​ = Split(arrDataIn(i, 2)​

​ решение! Очень помогло​ фрагмента, разделитель). См.​

support.office.com

Как разделить текст по ячейкам формула в Excel

​Текст по столбцам​ «[A-ZА-Я]» Then Out​ n > 0​ данными, которые Excel​, если мы выбрали​ отдельных столбцов. Самые​ такую формулу –​ следующую формулу:​ вопрос: как разбить​На вкладке​ в Excel».​ заменится на новую.​ чтобы определить пол​ столбцам​ & «|», «|»)​ в работе!​ в приложении.​и указываете в​ = Out &​ And n -​ обязательно должен воспринять​ формат с разделителями​ распространенные жизненные примеры:​ гибкой, в начале​

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

​Теперь скопируйте эту формулу​ строку на ячейки​данные​Примечание:​ Если нет пустых​ людей в списке.​установите переключатель​ arrTmp2 = Split(arrDataIn(i,​mts2050​irakli78​ качестве разделителей Запятую​ Mid(Txt, i, 1)​ 1​ как текст. Например,​

Строки для разделения на ячейки.

​ (как в нашем​ФИО в одном столбце​ статьи. Она подходит​ вдоль целого столбца:​ в Excel. Программа​в группе Работа​ Мы стараемся как можно​ столбцов, можно предварительно​ Подробнее об этом​с разделителями​ 3) & «|»,​: Подскажите как сделать​: Просто не хватает​ и пробел. Ячейку​ & » «​Теперь можно найти ее​ для столбца с​ примере) — необходимо​ (а надо -​ для любых условий​

​Выборка чисел из строк​ располагает разными поисковыми​

​ с​ оперативнее обеспечивать вас​

Текст разбит на ячейки.

​ вставить столбцы. Как​ читайте в статье​

​и нажмите кнопку​

Описание формулы для разделения текста по ячейкам:

​ «|») n2 =​ что бы текст​ слов благодарности!! Честно​ вывода я указал​

  1. ​ Else Out =​ в списке функций​ номерами банковских счетов​
  2. ​ указать какой именно​ в трех отдельных,​ при решении подобного​ в отдельные ячейки.​
  3. ​ функциями: одни ищут​данными​ актуальными справочными материалами​ это сделать, смотрите​

​ «В Excel по​Далее​ WorksheetFunction.Max(UBound(arrTmp1, 1) -​ разбивался не в​ говоря пока не​ B6 (Лист2)​ Out & Mid(Txt,​ в категории​ клиентов, где в​ символ является разделителем:​ чтобы удобнее было​ рода задач. Гибкость​​ по ячейках другие​нажмите кнопку​ на вашем языке.​ в статье «Как​ имени определить пол».​.​ 1, UBound(arrTmp2, 1)​ одной ячейке, а​ проверял, зашел с​А в итоговой​

​ i, 1) End​Определенные пользователем (User Defined)​ противном случае произойдет​Если в тексте есть​ сортировать и фильтровать)​ придает ей сложная​Функция ПСТР возвращает текстовое​ ищут по содержимому​текст по столбцам​ Эта страница переведена​ добавить строку, столбец​Выделяем ячейки, текст​Выберите​ — 1) ReDim​ в нескольких и​ телефона… но все​ таблице я записал​ If Next i​и использовать со​ округление до 15​ строки, где зачем-то​полное описание товара в​ комбинация из функций​ значение содержащие определенное​ ячеек. Ведь выполнять​. Откроется мастер пересчета​

​ автоматически, поэтому ее​ в Excel» тут.​ в которых нужно​разделители​ Preserve arrTmp1(0 To​ соотносился между ними.​ равно спасибо!!​ в ячейках ссылки​ CutWords = Out​ следующим синтаксисом:​ знаков, т.к. Excel​ подряд идут несколько​ одном столбце (а​ НАЙТИ. Пользователю формулы​ количество символов в​ поиск по текстовой​текста по столбцам​ текст может содержать​Можно указать формат​ разделить или весь​для своих данных.​ n2) ReDim Preserve​ Пример в файле.​) завтра посмотрю и​ на ти самые​ End Function​=SUBSTRING(Txt; Delimeter; n)​ будет обрабатывать номер​ разделителей (несколько пробелов,​

exceltable.com

Делим слипшийся текст на части

​ надо — отдельный​ достаточно определить закономерность​ строке. Аргументы функции:​ строке, которая содержится​.​

  • ​ неточности и грамматические​ Ячеек столбцов. Например,​ столбец.​ Например,​ arrTmp2(0 To n2)​
  • ​JayBhagavan​ обязательно сообщу! Еще​ B6 и т.д.​Теперь можно использовать эту​где​ счета как число:​ например), то флажок​
  • ​ столбец под фирму-изготовителя,​ и указать их​Первый аргумент – это​ в ячейке ¬–​Установите переключатель​ ошибки. Для нас​
  • ​ если вы делите​

​Заходим на закладке «Данные»​

Способ 1. Текст по столбцам

​запятую​ For j =​: mts2050, и Вам​​ раз спасибо!​Подойдёт так, Ираклий?​ ​ функцию на листе​Txt — адрес ячейки​​Кнопка​​Считать последовательные разделители одним​​ отдельный — под​​ в параметрах функций:​

text_to_columns1.png

​ ссылка на ячейку​​ это также распространенная​​С разделителями​ важно, чтобы эта​ столбец на дни​ в раздел «Работа​и​ 0 To n2​ здравия.​​irakli78​​Юрий М​ и привести слипшийся​ с текстом, который​Подробнее (Advanced)​​ (Treat consecutive delimiters​​ модель для построения,​

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

text_to_columns2.png

​ lCnt = lCnt​Кол-во разделителей в​: Хотел бы узнать,​: wowik7, количество переносов​ текст в нормальный​​ делим​позволяет помочь Excel​ as one)​​ например, сводной таблицы)​ скобки либо другие​

​Второй аргумент – это​​ Их мы и​​ вариант, и нажмите​ полезна. Просим вас​ то можно указать​ выбираем функцию «Текст​. Данные можно предварительно​ + 1 With​
​ соседних по горизонтали​

​ а как данный​ можно узнать программно​ вид:​Delimeter — символ-разделитель (пробел,​ правильно распознать символы-разделители​заставит Excel воспринимать​

  • ​весь адрес в одном​​ разделительные знаки. Например,​ позиция первого символа,​ будем использовать для​ кнопку​
  • ​ уделить пару секунд​​ «Формат данных столбца»​ по столбцам». В​ просмотреть в окне​ wshResult .Cells(lCnt, 1)​ ячейках всегда одинаковое?​ макрос использовать уже​
  • ​ ))​​Деление текста при помощи​ запятая и т.д.)​ в тексте, если​ их как один.​ столбце (а надо​ это могут быть​ с которого должна​ разделения строк.​Далее​ и сообщить, помогла​ — «дата».​ появившемся окне «Мастер​Образец разбора данных​ = arrDataIn(i, 1)​mts2050​ в другом файле?​Юрий М​ готовой функции надстройки​

text_to_columns3.png

​n — порядковый номер​​ они отличаются от​​Выпадающий список​ — отдельно индекс,​ пробелы если нужно​ начинаться разделенная строка.​Допустим на лист Excel​.​

Способ 2. Как выдернуть отдельные слова из текста

​ ли она вам,​Нажимаем кнопку «Готово».​ текстов», в строке​.​ .Cells(lCnt, 2) =​: Да количество разделителей​Hugo​: irakli78, зачем Вам​ PLEX​

  • ​ извлекаемого фрагмента​ стандартных, заданных в​​Ограничитель строк (Text Qualifier)​ отдельно — город,​ ​ разделить строку на​Последний аргумент – это​
  • ​ были импортированные данные​Выберите один или несколько​​ с помощью кнопок​ Получилось так.​ «Формат исходных данных»​​Нажмите кнопку​​ arrTmp1(j) .Cells(lCnt, 3)​

​ совпадает.​​: Описка, исправьте в​​ объединённые ячейки? Настрадаетесь​Что такое макросы, куда​Например:​

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

​Так можно разделить текст​ указываем – «С​Далее​​ = arrTmp2(j) End​​JayBhagavan​ irakli78.xls (45.5 КБ)​

​ потом…​

​ вставлять код макроса,​

  • ​Тяжелый случай, но тоже​Если хочется, чтобы такое​ заключенный в кавычки​
  • ​ и дом)​В данном примере функция​
  • ​ должна содержать разделенная​ Из-за несовместимости структуры​

​ места, в которых​

text_to_columns4.png

Способ 3. Разделение слипшегося текста без пробелов

​ удобства также приводим​ из одной ячейки​ разделителями». Нажимаем кнопку​.​ With ‘ wshResult​: В примере -​ F на G:​Все_просто​ как их использовать​ бывает. Имеем текст​ деление производилось автоматически​ (например, название компании​и т.д.​ НАЙТИ во втором​ строка.​ данных при импорте​ произойдет разделение ячейки.​ ссылку на оригинал​ на большее количество​

​ «Далее».​Выберите значение в разделе​ Next j Next​ не совпадает:4 и​Range(«G» & lngI​: Человек по сути​irakli78​ совсем без пробелов,​ без участия пользователя,​ «Иванов, Манн и​Поехали..​ аргументе определяет положение​С первым аргументом ПСТР​ некоторые значение из​ В области​ (на английском языке).​ столбцов. Например, здесь​Здесь указываем в строке​Формат данных столбца​ i End Sub​ 3. Учту.​ & «:G» &​ просит написать макрос,​

​: Добрый день! Буду​ слипшийся в одну​ то придется использовать​ Фарбер») не делился​Выделите ячейки, которые будем​

разделение слипшегося текста без пробелов

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

  • ​ относительно первой закрывающейся​ все понятно –​ разных категорий были​
  • ​Образец разбора данных​Последнее обновление: 12.12.2015​ разделили дату отдельно​

planetaexcel.ru

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

​ «Символом – разделителем​​или используйте то,​mts2050​JayBhagavan​ lngI + UBound(strA)).Merge​ а вы на​ очень благодарен, если​ длинную фразу (например​ небольшую функцию на​
​ по запятой​:)
​ делить и выберите​:)

​ скобки. А в​​ это ссылка на​ внесены в одну​можно посмотреть на​Вам может потребоваться разделить​ по столбцам –​ является» — «пробел».​ которое Excel выберет​: Спасибо.​: запускать когда целевой​Пытливый​ него взъелись.​
​ кто-нибудь посоветует как​ ФИО «ИвановИванИванович»), который​ VBA, вставленную в​внутри названия.​ в меню​
​ третьем аргументе эта​ ячейку A3. Второй​​ ячейку. Необходимо из​​ предполагаемые результаты разделения.​ определенную ячейку на​ число, месяц, год.​ Поставили «пробел», потому​ автоматически.​
​Jack Famous​ лист активный Option​: Если структура таблицы​Я, к сожалению,​ можно разбить текст​
​ надо разделить пробелами​

​ книгу. Для этого​​И, наконец, на третьем​Данные — Текст по​ же функция вычисляет​

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

​Для большей наглядности​​ что в нашем​В поле​: irakli78, mts2050, доброго​ Explicit Sub jjj_split()​
​ такая же (столбцы​ не так силен​ который в одной​ на отдельные слова.​ открываем редактор Visual​

​ шаге для каждого​​ столбцам​ положение нужного нам​ с помощью функции​ целые числовые значения.​Далее​ в одном столбце.​

​ в таблице Excel​​ списке имя и​Поместить в​ времени суток! Недавно​

​ Dim awsh As​​ и шапка расположены​ в макросах. Хотя​ ячейке на несколько​ Здесь может помочь​ Basic:​

​ из получившихся столбцов,​​(Data — Text to​ текста в строке​ НАЙТИ(«]»;A3)+2. Она возвращает​ Пример таких неправильно​.​

​ К сожалению, такая​​ можно выделить некоторые​ фамилия написаны через​выберите место на​ мне помогли с​ Worksheet Dim wshResult​ так, как в​:)​ сейчас все равно​ строк с соблюдением​ небольшая макрофункция, которая​

​в Excel 2003 и​​ выделяя их предварительно​ columns)​ относительно второй открывающийся​ очередной номер символа​

​ импортированных данных отображен​​В области​ возможность в Excel​ строки, столбцы (например,​
​ пробел. Если бы​ листе, где должны​ такой же проблемой.​

​ As Worksheet Dim​​ примере), а также​ стараюсь написать.​ некоторых параметров…​ будет автоматически добавлять​ старше — меню​ в окне Мастера,​.​ квадратной скобки. Вычисление​ первой закрывающейся квадратной​ ниже на рисунке:​Формат данных столбца​ не поддерживается. Вместо​ итоговые) выделить другим​ имя и фамилия​ отображаться разделенные данные.​Универсальное решение.​ arrDataIn Dim i​ нет ячеек в​
​Юрий М​Пример прилагаю​ пробел перед заглавными​Сервис — Макрос -​ необходимо выбрать формат:​

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

​ этого вы можете​​ цветом, разделительной линией.​ (др. слова) были​Нажмите кнопку​А как заполнить​ As Long Dim​ столбце D с​: Кто «взъелся»? ))​

​Заранее благодарю!!!​​ буквами. Откройте редактор​ Редактор Visual Basic​
​общий​Мастера разбора текстов​ более сложное и​

​ И к этому​​ которой можно определить,​ для новых столбцов.​

​ создать новый столбец​​ Подробнее, смотрите в​ написаны через запятую,​Готово​

​ пустые ячейки значениями​​ n As Long​ одним словом -​ Я только предупредил​wowik7​ Visual Basic как​(Tools — Macro -​- оставит данные​:​ оно подразумевает вычитание​ номеру мы добавляем​ что данные из​ По умолчанию столбцы​ рядом с тем,​ статье «Разделительная линия​ то мы бы​.​ из верхних, узнаете​ Dim arrTmp1$(), arrTmp2$()​ то переносите код​ про объединение ))​: Скажите, а известно,​ в предыдущем способе,​ Visual Basic Editor)​ как есть -​На первом шаге​ одной большей длинны​ еще число 2,​ разных категорий, несмотря​ имеют тот же​ в котором расположена​ строк в таблице​ указали разделителем «запятая».​Здесь рассмотрим,​ (готовый макрос в​ Dim n2 As​ в файл и​ А макрос там​ сколько будет слов​ вставьте туда новый​в Excel 2007 и​ подходит в большинстве​Мастера​ текста от меньшей.​ так как нам​ на то, что​ формат данных, что​ необходимая ячейка, а​ Excel» тут.​В этом окне, в​как разделить текст в​

​ комментариях)​​ Long Dim j​

​ просто запускайте макрос.​​ не очень и​ в строке? Вот​ модуль и скопируйте​ новее — вкладка​​ случаев​
​выбираем формат нашего​ А чтобы учитывать​ нужен номер символа​ они находятся в​ и исходная ячейка.​;)

planetaexcel.ru

​ затем разделить ее.​

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 / Text to Columns (Урок 6) [Eugene Avdukhov, Excel Для Всех]

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

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

Содержание

  • 1 Пример 1. Делим текст с ФИО по столбцам с помощью формул
  • 1.1 Приступаем к делению первой части текста — Фамилии
  • 1.2 Приступаем к делению второй части текста — Имя
  • 1.3 Приступаем к делению третьей части текста — Отчество
  • 2 Пример 2. Как разделить текст по столбцам в Excel с помощью формулы

Пример 1. Делим текст с ФИО по столбцам с помощью формул Если рассматривать на примере деления ФИО, то разделить текст можно будет с помощью текстовых формул Excel, используя функцию ПСТР и НАЙТИ, которую мы рассматривали в прошлых статьях.

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

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

Итак, добавим столбцы позиция 1-го и 2-го пробелам. С помощью функции НАЙТИ, как мы уже рассматривали в предыдущей статье найдем позицию первого пробелам. Для этого в ячейке «H2» пропишем формулу

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

Значит на необходимо поменять третий аргумент в функции НАЙТИ — начальная позиция — то есть позиция с которой функция будет искать искомый текст.

Мы видим, что второй пробел находится в любом случае после первого пробела, а позицию первого пробела мы уже нашли, значит прибавив 1 к позиции первого пробелам мы укажем функции НАЙТИ искать пробел начиная с первой буквы после первого пробела.

Функция будет выглядеть следующим образом:

Далее протягиваем формулу и получаем позиции 1-го и 2-го пробела.

Приступаем к делению первой части текста — Фамилии

Для этого мы воспользуемся функцией ПСТР, напомню синтаксис данной функции:

=ПСТР(текст- начальная_позиция- число_знаков), где

  • текст — это ФИО, в нашем примере это ячейка A2;
  • начальная_позиция — в нашем случае это 1, то есть начиная с первой буквы;
  • число_знаков — мы видим, что фамилия состоит из всех знаков, начиная с первой буквы и до 1-го пробела. А позиция первого пробела нам уже известна. Это и будет количество знаков минус 1 знак самого пробела.

Формула будет выглядеть следующим образом:

Приступаем к делению второй части текста — Имя

Снова используем функцию =ПСТР(текст- начальная_позиция- число_знаков), где

  • текст — это тот же текст ФИО, в нашем примере это ячейка A2;
  • начальная_позиция — в нашем случае Имя начинается с первой буква после первого пробела, зная позицию этого пробела получаем H2+1;
  • число_знаков — число знаков, то есть количество букв в имени. Мы видим, что имя у нас находится между двумя пробелами, позиции которых мы знаем. Если из позиции второго пробела отнять позицию первого пробела, то мы получим разницу, которая и будет равна количеству символов в имени, то есть I2-H2

Получаем итоговую формулу:

Приступаем к делению третьей части текста — Отчество

И снова функция =ПСТР(текст- начальная_позиция- число_знаков), где

  • текст — это тот же текст ФИО, в нашем примере это ячейка A2;
  • начальная_позиция — Отчество у нас находится после 2-го пробелам, значит начальная позиция будет равна позиции второго пробела плюс один знак или I2+1;
  • — в нашем случае после Отчества никаких знаков нет, поэтому мы просто может взять любое число, главное, чтобы оно было больше возможного количества символов в Отчестве, я взял цифру с большим запасом — 50

Видео: Формулы в Эксель

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

Это очень просто сделать. Мы видим, что расчет первого пробела находится в ячейке H2 — НАЙТИ(» «-A2-1), а расчет второго пробела в ячейке I2 — НАЙТИ(» «-A2-H2+1) .

Видим, что в формуле ячейки I2 встречается H2 меняем ее на саму формулу и получаем в ячейке I2 вложенную формулу НАЙТИ(» «-A2-НАЙТИ(» «-A2-1)+1)

Смотрим первую формулу выделения Фамилии и смотрим где здесь встречается H2 или I2 и меняем их на формулы в этих ячейках, аналогично с Именем и Фамилией

  • Фамилия =ПСТР(A2-1-H2-1) получаем =ПСТР(A2-1-НАЙТИ(» «-A2-1)-1)
  • Имя =ПСТР(A2-H2+1-I2-H2) получаем =ПСТР(A2-НАЙТИ(» «-A2-1)+1; НАЙТИ(» «-A2-НАЙТИ(» «-A2-1)+1)-НАЙТИ(» «-A2-1))
  • Отчество =ПСТР(A2-I2+1-50) получаем =ПСТР(A2-НАЙТИ(» «-A2-НАЙТИ(» «-A2-1)+1)+1-50)

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

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

Пример 2. Как разделить текст по столбцам в Excel с помощью формулы

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

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


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

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

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

Теперь основная суть приема.

Шаг 1. В вспомогательном столбце находим позицию первого разделителя с помощью функции НАЙТИ. Описывать подробно функцию не буду, так как мы уже рассматривали ее раннее. Пропишем формулу в D1 и протянем ее вниз на все строки

То есть ищем запятую, в тексте, начиная с позиции 1

Шаг 2. Далее в ячейке E1 прописываем формулу для нахождения второго знака (в нашем случае запятой). Формула аналогичная, но с небольшими изменениями.

  1. Во-первых: закрепим столбец искомого значения и текста, чтобы при протягивании формулы вправо ссылки на ячейки не сдвигалась. Для этого нужно написать доллар перед столбцом B и A — либо вручную, либо выделить A1 и B1, нажать три раза клавишу F4, после этого ссылки станут не относительными, а абсолютными.
  2. Во-вторых: третий аргумент — начало позиции мы рассчитаем как позиция предыдущего разделителя (мы его нашли выше) плюс 1 то есть D1+1 так как мы знаем, что второй разделитель точно находится после первого разделителя и нам его не нужно учитывать.

Пропишем формулу и протянем ее вниз.

Шаг 3. Находимо позиции всех остальных разделителей. Для этого формулу нахождения второго разделителя (шаг 2) протянем вправо на то количество ячеек, сколько всего может быть отдельно разбитых значений с небольшим запасом. Получим все позиции разделителей. Там где ошибка #Знач означает что значения закончились и формула больше не находит разделителей. Получаем следующее

Шаг 4. Отделяем первое число от текст с помощью функции ПСТР.

Начальная позиция у нас 1, количество знаков мы рассчитываем как позиция первого разделителя минус 1: D1-1 протягиваем формулу вниз

Шаг 5. Находимо второе слово так же с помощью функции ПСТР в ячейке P1

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

Количество знаков это есть разница между позицией третьего разделителя и второго и минус один знак, то есть E1-D1-1 Закрепим столбец A исходного текста, чтобы он не сдвигался при протягивании формулы право.

Шаг 6. Протянем формулу полученную на шаге 5 вправо и вниз и получим текст в отдельных ячейках.

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

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

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

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

а первого текста как

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

В столбец «A» вставляете данные, в столбце «B» указываете разделитель, протягиваете формулы на нужное количество ячеек и получаете результат.

Внимание! В комментариях заметили, что так как в конце текста у нас нет разделителя, то у нас не считается количество символов от последнего разделителя до конца строки, поэтому последний разделенный текст отсутствует.

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

Либо второе решение — это на шаге 3, когда мы составляем формулу вычисления позиций разделителей дополнить ее. Сделать проверку, если ошибка, то указываем заведомо большое число, например 1000.

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

Оба варианта выложу для скачивания.

  1. Скачать пример: Как разделить текст по столбцам с помощью функции_1.xlsx (исправлено: доп поле)
  2. Скачать пример: Как разделить текст по столбцам с помощью функции_2.xlsx (исправлено: заведомо большое число)

(Пока оценок нет)

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

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

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

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

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

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

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

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

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

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

Для этого способа нам понадобятся возможности сочетаний функций ПОИСК и ПСТР. При помощи функции ПОИСК мы будем искать все пробелы, которые есть между словами (например, между фамилией, именем и отчеством). Потом функцией ПСТР выделяем необходимое количество символов для дальнейшего разделения.

И если с первыми двумя словами понятно, что и как разделять, то разделителя для последнего слова нет, а это значит что нужно указать в качестве аргумента условно большое количество символов, как аргумент «число_знаков» для функции ПСТР, например, 100, 200 или больше.

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

  • Во-первых, нам необходимо найти два пробела, которые разделяют наши слова, для поиска первого пробела нужна формула: =ПОИСК(» «;B2;1), а для второго подойдет: =ПОИСК(» «;B2;C2+1);
  • Во-вторых, определяем, сколько символов нужно выделить в строке. Поскольку позиции разделителя мы уже определили, то символов для разделения у нас будет на один меньше. Значит, будем использовать функцию ПСТР для изъятия слов, с ячейки используя как аргумент «количество_знаков» результат работы предыдущей формулы. Для определения первого слова (Фамилии) нужна формула: =ПСТР(B2;1;ПОИСК(» «;B2;1)), для определения второго значения (Имя): =ПСТР(B2;ПОИСК(» «;B2;1)+1;ПОИСК(» «;B2;ПОИСК(» «;B2;1)+1) -ПОИСК(» «;B2;1)), а теперь определим последнее значение (Отчество): =ПСТР(B2;ПОИСК(» «;B2;ПОИСК(» «;B2;1)+1)+1;100).

В результате мы разделили ФИО на три слова, что позволит с ними эффективно работать.

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

Выдергиваем слова с помощью макросов VBA

Рассмотрим два способа разделить текст в ячейке:

  1. Выдергиваем отдельные слова по разделителю;
  2. Делим текст без пробелов.

Способ №1.

Поскольку вас интересует автоматическое деление текста, значит надо написать хорошую функцию на VBA и внедрить ее в рабочую книгу. Для начала переходим на вкладку «Разработчик» и выбираем «Visual Basic» или вызываем эту возможность с помощью горячего сочетания клавиш Alt+F11. (детальнее в статье «Как создать макрос в Excel»).

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

Как разделить текст по ячейкам формула в Excel

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

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

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

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

В ячейку B3 введите следующую формулу:

Теперь скопируйте эту формулу вдоль целого столбца:

Выборка чисел из строк в отдельные ячейки.

Описание формулы для разделения текста по ячейкам:

Функция ПСТР возвращает текстовое значение содержащие определенное количество символов в строке. Аргументы функции:

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

С первым аргументом ПСТР все понятно – это ссылка на ячейку A3. Второй аргумент мы вычисляем с помощью функции НАЙТИ(«]»;A3)+2. Она возвращает очередной номер символа первой закрывающейся квадратной скобки в строке. И к этому номеру мы добавляем еще число 2, так как нам нужен номер символа после пробела за квадратной скобкой. В последнем аргументе функция вычисляет какое количество символов будет содержать разделенная строка после разделения, учитывая положение квадратной скобки.

Обратите внимание! Что в нашем примере все исходные и разделенные строки имеют разную длину и разное количество символов. Именно поэтому мы называли такую формулу – гибкой, в начале статьи. Она подходит для любых условий при решении подобного рода задач. Гибкость придает ей сложная комбинация из функций НАЙТИ. Пользователю формулы достаточно определить закономерность и указать их в параметрах функций: будут это квадратные скобки либо другие разделительные знаки. Например, это могут быть пробелы если нужно разделить строку на слова и т.п.

В данном примере функция НАЙТИ во втором аргументе определяет положение относительно первой закрывающейся скобки. А в третьем аргументе эта же функция вычисляет положение нужного нам текста в строке относительно второй открывающийся квадратной скобки. Вычисление в третьем аргументе более сложное и оно подразумевает вычитание одной большей длинны текста от меньшей. А чтобы учитывать еще 2 пробела следует вычитать число 3. В результате чего получаем правильное количество символов в разделенной строке. С помощью такой гибкой формулы можно делать выборку разной длинны разделенного текста из разных длинны исходных строк.

Делим слипшийся текст на части

Итак, имеем столбец с данными, которые надо разделить на несколько отдельных столбцов. Самые распространенные жизненные примеры:

  • ФИО в одном столбце (а надо — в трех отдельных, чтобы удобнее было сортировать и фильтровать)
  • полное описание товара в одном столбце (а надо — отдельный столбец под фирму-изготовителя, отдельный — под модель для построения, например, сводной таблицы)
  • весь адрес в одном столбце (а надо — отдельно индекс, отдельно — город, отдельно — улица и дом)
  • и т.д.

Способ 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 как в предыдущем способе, вставьте туда новый модуль и скопируйте в него код этой функции:

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

Как разделить текст в ячейке Excel по столбцам

Здравствуйте. Сегодня расскажу вам, как разделить текст в Эксель в разные ячейки. Это актуально, когда таблица выгружена из СУБД без разбивки, или создавалась «экзотическим способом», все данные записаны в одной строке.

Например, нужно разделить ФИО на фамилию имя и отчество в разных ячейках. Вот исходные данные:

Чтобы добиться желаемого, выполним последовательность:

  1. Выделим всю таблицу с данными
  2. Нажмем на ленте Данные – Работа с данными – Текст по столбцам
  3. В открывшемся Мастере на первом шаге укажем Формат данных – С разделителями
  4. На втором шаге – поставим галку Символ-разделитель – пробел
  5. На третьем шаге, если это необходимо, назначим тип данных для каждого столбца и ячейки, куда поместить результат разделения. Жмём Готово

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

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

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

Понравилась статья? Поделись с другом, ему тоже пригодится!

Раннее мы рассматривали возможность разделить текст по столбцам на примере деления ФИО на составные части. Для этого мы использовали инструмент в Excel «Текст по столбцам».

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

Содержание

  • 1 Пример 1. Делим текст с ФИО по столбцам с помощью формул
    • 1.1 Приступаем к делению первой части текста — Фамилии
    • 1.2 Приступаем к делению второй части текста — Имя
    • 1.3 Приступаем к делению третьей части текста — Отчество
  • 2 Пример 2. Как разделить текст по столбцам в Excel с помощью формулы

Пример 1. Делим текст с ФИО по столбцам с помощью формул

Если рассматривать на примере деления ФИО, то разделить текст можно будет с помощью текстовых формул Excel, используя функцию ПСТР и НАЙТИ, которую мы рассматривали в прошлых статьях. В этом случае вам достаточно вставить данные в определенный столбец, а формулы автоматически разделят текст так как вам необходимо. Давайте приступит к рассмотрению данного примера.

У нас есть столбец со списком ФИО, наша задача разместить фамилию, имя отчество по отдельным столбцам.

Разбить текст с помощью функций Excel - исходные данные

Попробуем очень подробно описать план действия и разобьем решение задачи на несколько этапов.

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

Итак, добавим столбцы позиция 1-го и 2-го пробелам. С помощью функции НАЙТИ, как мы уже рассматривали в предыдущей статье найдем позицию первого пробелам. Для этого в ячейке «H2» пропишем формулу

=НАЙТИ(" ";A2;1)

и протянем вниз. Формулу объяснять не буду — смотрите предыдущую статью

Как разделить текст - находим 1 пробел

Теперь нам необходимо найти порядковый номер второго пробела.  Формула будет такая же, но с небольшим отличием. Если прописать такую же формулу, то функция найдет нам первый пробел, а нам нужен второй пробел. Значит на необходимо поменять третий аргумент в функции НАЙТИ — начальная позиция — то есть позиция с которой функция будет искать искомый текст. Мы видим, что второй пробел находится в любом случае после первого пробела, а позицию первого пробела мы уже нашли, значит прибавив 1 к позиции первого пробелам мы укажем функции НАЙТИ искать пробел начиная с первой буквы после первого пробела. Функция будет выглядеть следующим образом:

=НАЙТИ(" ";A2;H2+1)

Как разделить текст с помощью функции - находим второй пробел

Далее протягиваем формулу и получаем позиции 1-го и 2-го пробела.

Приступаем к делению первой части текста — Фамилии

Для этого мы воспользуемся функцией ПСТР, напомню синтаксис данной функции:

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

  1. текст — это ФИО, в нашем примере это ячейка A2;
  2. начальная_позиция — в нашем случае это 1, то есть начиная с первой буквы;
  3. число_знаков — мы видим, что фамилия состоит из всех знаков, начиная с первой буквы и до 1-го пробела. А позиция первого пробела нам уже известна. Это и будет количество знаков минус 1 знак самого пробела.

Формула будет выглядеть следующим образом:

=ПСТР(A2;1;H2-1)

Как разделить текст - делим 1-ую часть текста

Приступаем к делению второй части текста — Имя

Снова используем функцию =ПСТР(текстначальная_позициячисло_знаков), где

  1. текст — это тот же текст ФИО, в нашем примере это ячейка A2;
  2. начальная_позиция — в нашем случае Имя начинается с первой буква после первого пробела, зная позицию этого пробела получаем H2+1;
  3. число_знаков — число знаков, то есть количество букв в имени. Мы видим, что имя у нас находится между двумя пробелами, позиции которых мы знаем. Если из позиции второго пробела отнять позицию первого пробела, то мы получим разницу, которая и будет равна количеству символов в имени, то есть I2-H2

Получаем итоговую формулу:

=ПСТР(A2;H2+1;I2-H2)

Как разделить текст - делим 2-ую часть текста

Приступаем к делению третьей части текста — Отчество

И снова функция =ПСТР(текстначальная_позициячисло_знаков), где

  1. текст — это тот же текст ФИО, в нашем примере это ячейка A2;
  2. начальная_позиция — Отчество у нас находится после 2-го пробелам, значит начальная позиция будет равна позиции второго пробела плюс один знак или I2+1;
  3. число_знаков — в нашем случае после Отчества никаких знаков нет, поэтому мы просто может взять любое число, главное, чтобы оно было больше возможного количества символов в Отчестве, я взял цифру с большим запасом — 50

Получаем функцию

=ПСТР(A2;I2+1;50)

Как разделить текст - делим 3-ю часть текста

Далее выделяем все три ячейки и протягиваем формулы вниз и получаем нужный нам результат. На этом можно закончить, а можно промежуточные расчеты позиции пробелов прописать в сами формулы деления текста. Это очень просто сделать. Мы видим, что расчет первого пробела находится в ячейке H2 — НАЙТИ(» «;A2;1), а расчет второго пробела в ячейке I2 — НАЙТИ(» «;A2;H2+1) .  Видим, что в формуле ячейки I2 встречается H2 меняем ее на саму формулу и получаем в ячейке I2 вложенную формулу НАЙТИ(» «;A2;НАЙТИ(» «;A2;1)+1)

Смотрим первую формулу выделения Фамилии и смотрим где здесь встречается H2 или I2 и меняем их на формулы в этих ячейках, аналогично с Именем и Фамилией

  • Фамилия =ПСТР(A2;1;H2-1) получаем =ПСТР(A2;1;НАЙТИ(» «;A2;1)-1)
  • Имя  =ПСТР(A2;H2+1;I2H2) получаем  =ПСТР(A2;НАЙТИ(» «;A2;1)+1;
    НАЙТИ(» «;A2;НАЙТИ(» «;A2;1)+1)НАЙТИ(» «;A2;1))
  • Отчество =ПСТР(A2;I2+1;50) получаем =ПСТР(A2;НАЙТИ(» «;A2;НАЙТИ(» «;A2;1)+1)+1;50)

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

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

Пример 2. Как разделить текст по столбцам в Excel с помощью формулы

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

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

Делим текст по ячейкам в Excel

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

Для начала необходимо найти общий разделить, по которому мы будет разбивать текст. В нашем случае это запятая, но например в первой задаче мы делили ФИО и разделитель был пробел. Наш второй пример более универсальный (более удобный при большом количестве данных), так например мы удобно могли бы делить не только ФИО по отдельным ячейкам, а целое предложение — каждое слово в отдельную ячейку. Собственно такой вопрос поступил в комментариях, поэтому было решено дополнить эту статью.

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

делим текст по ячейкам - определяем разделитель

Теперь основная суть приема.

Шаг 1. В вспомогательном столбце находим позицию первого разделителя с помощью функции НАЙТИ. Описывать подробно функцию не буду, так как мы уже рассматривали ее раннее. Пропишем формулу в D1 и протянем ее вниз на все строки

=НАЙТИ(B1;A1;1)

То есть ищем запятую, в тексте, начиная с позиции 1

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

Шаг 2. Далее в ячейке E1 прописываем формулу для нахождения второго знака (в нашем случае запятой). Формула аналогичная, но с небольшими изменениями.

=НАЙТИ($B1;$A1;D1+1)

Во-первых: закрепим столбец искомого значения и текста, чтобы при протягивании формулы вправо ссылки на ячейки не сдвигалась. Для этого нужно написать доллар перед столбцом B и A — либо вручную, либо выделить A1 и B1, нажать три раза клавишу F4, после этого ссылки станут не относительными, а абсолютными.

Во-вторых: третий аргумент — начало позиции мы рассчитаем как позиция предыдущего разделителя (мы его нашли выше) плюс 1 то есть D1+1 так как мы знаем, что второй разделитель точно находится после первого разделителя и нам его не нужно учитывать. 

Пропишем формулу и протянем ее вниз.

Находим второй разделить для деления текста по столбцам

Шаг 3. Находимо позиции всех остальных разделителей. Для этого формулу нахождения второго разделителя (шаг 2) протянем вправо на то количество ячеек, сколько всего может быть отдельно разбитых значений с небольшим запасом. Получим все позиции разделителей. Там где ошибка #Знач означает что значения закончились и формула больше не находит разделителей. Получаем следующее

Находим позиции всех разделителей

Шаг 4. Отделяем первое число от текст с помощью функции ПСТР.

=ПСТР(A1;1;D1-1)

Начальная позиция у нас 1, количество знаков мы рассчитываем как позиция первого разделителя минус 1: D1-1 протягиваем формулу вниз

Делим первое слово

Шаг 5. Находимо второе слово так же с помощью функции ПСТР в ячейке P1

=ПСТР($A1;D1+1;E1-D1-1)

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

Количество знаков это есть разница между позицией третьего разделителя и второго и минус один знак, то есть E1-D1-1

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

Шаг 6. Протянем формулу полученную на шаге 5 вправо и вниз и получим текст в отдельных ячейках.

delim-tekst-po-stolbcam-v-eksel

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

=ЕСЛИОШИБКА(ПСТР($A1;D1+1;E1-D1-1);»»)

kak-razdelit-teks-po-stolbcam

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

=НАЙТИ($B1;$A1;C1+1)

а первого текста как

=ПСТР($A1;C1+1;D1-C1-1)

После этого можно сразу протягивать формулу на остальные значения. Именно этот вариант оставляю как пример для скачивания. В принципе файлом можно пользоваться как шаблоном. В столбец «A» вставляете данные, в столбце «B» указываете разделитель, протягиваете формулы на нужное количество ячеек и получаете результат.

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

Либо второе решение — это на шаге 3, когда мы составляем формулу вычисления позиций разделителей дополнить ее. Сделать проверку, если ошибка, то указываем заведомо большое число, например 1000.

=ЕСЛИОШИБКА(НАЙТИ($B1;$A1;C1+1);1000)

Как разделить текст по столбцам

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

Оба варианта выложу для скачивания.

Скачать пример: Как разделить текст по столбцам с помощью функции_1.xlsx (исправлено: доп поле)
Скачать пример: Как разделить текст по столбцам с помощью функции_2.xlsx (исправлено: заведомо большое число)

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

Эта функция крайне удивительна и может послужить вам в разных ситуациях.

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

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

Итак, начнём!

Содержание

  1. Как использовать функцию «Текст по столбцам»
  2. Деление строки
  3. Делим электронную почту на имя пользователя и домен
  4. Получаем главный адрес сайта из ссылки
  5. Приведение дат к общему формату
  6. Смена формата с текстового на числовой
  7. Убираем несколько первых символов значения каждой ячейки
  8. Преобразуем числа со знаком минус на конце в отрицательные числа

Как использовать функцию «Текст по столбцам»

Все очень просто — щелкните «Данные» -> «Текст по столбцам»

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

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

Деление строки

Допустим, у нас есть такая табличка:

И, например, нам нужно разделить имя + фамилию и поместить их в разные столбцы.

Как это сделать?

Пошаговая инструкция:

  • Выделите диапазон ячеек и откройте окно функции («Данные» -> «Текст по столбцам»);
  • На первом этапе выбираем «с разделителями», так как мы будем делить строку по пробелу;

  • На втором этапе, собственно, указываем что пробел в нашем случае будет разделителем строки;

  • И на третьем этапе указываем куда поместить данные;

  • Подтверждаем.

Результат:

Примечание:

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

Делим электронную почту на имя пользователя и домен

Итак, в этом случае, мы будем использовать другой разделитель.

Допустим, у нас есть следующая табличка:

Я просто придумал эти почты исходя из фильмов по супергероям 🙂

Разделителем, как вы могли догадаться, в этом случае будет знак «@».

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

Как это сделать?

Пошаговая инструкция:

  • Выделите диапазон ячеек и откройте окно функции («Данные» -> «Текст по столбцам»);
  • На первом этапе выбираем «с разделителями», так как мы будем делить строку по знаку «@»;

  • На втором этапе, в опции «другой» укажите наш разделитель;

  • И укажите куда поместить данные после обработки;

  • Подтвердите.

Результат:

Получаем главный адрес сайта из ссылки

Бывает такое, что из множества ссылок вам нужно «вытащить» только главные адреса сайтов.

Например, в случае https://yandex.ru/primer1 главный адрес будет yandex.ru.

Итак, допустим у нас есть следующая табличка:

Давайте разделим строки и получим главные адреса сайтов!

Как это сделать?

Пошаговая инструкция:

  • Выделите диапазон ячеек и откройте окно функции («Данные» -> «Текст по столбцам»);
  • На первом этапе выбираем «с разделителями»;

  • На втором этапе выберите «другой» и укажите «/»;

  • Укажите куда нужно поместить данные;

  • Подтвердите.

Результат:

Далее можно очистить таблицу от ненужных столбцов и дубликатов.

Важная информация: в случае, если ваши ссылки не имеют https:// в начале — все будет еще проще, вы получите главный адрес сайта в первом столбике.

Приведение дат к общему формату

Часто бывает так, что при импорте дат из разных источников они имеют разный формат.

Но что делать если этих данных очень много, а необходимо сделать так, чтобы все даты были в одном, «общем», формате?

Допустим, у нас есть такая табличка:

Давайте приведем все даты к одному формату!

Как это сделать?

Пошаговая инструкция:

  • Выделите диапазон ячеек и откройте окно функции («Данные» -> «Текст по столбцам»);
  • На первом этапе выбираем «с разделителями»;

  • На втором этапе уберите все галочки;

  • На третьем этапе выберите опцию «дата — ДМГ» и укажите куда поместить обработанные данные;

  • Подтвердите.

Готово! Таким образом даты были отформатированы.

Смена формата с текстового на числовой

Бывают случаи, когда вы получаете от кого-то табличку, но не можете быстро произвести расчеты, так как некоторые числа в ней имеют текстовый формат.

Такое может быть по нескольким причинам:

  • Перед числом есть знак “ ‘ “;
  • Эти числа выведны благодаря некоторым функциям, которые присваивают им текстовый формат.

Допустим, у нас есть такая табличка:

Давайте переведем их в формат «Числовой».

Как это сделать?

Пошаговая инструкция:

  • Выделите диапазон ячеек и откройте окно функции («Данные» -> «Текст по столбцам»);
  • На первом этапе выбираем «с разделителями»;

  • На втором этапе уберите все галочки;

  • нужная опция «общий»;

  • Подтвердите.

Итак, теперь все числа автоматически отформатируются как «общий» формат и их можно использовать при вычислениях.

Убираем несколько первых символов значения каждой ячейки

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

Допустим, у нас есть такая табличка:

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

Как это сделать?

Пошаговая инструкция:

  • Выделите диапазон ячеек и откройте окно функции («Данные» -> «Текст по столбцам»);
  • На первом этапе выбираем «фиксированной ширины»;

  • На втором этапе — поставьте указатель на нужное количество символов (в нашем случае пять);

  • Укажите куда нужно поместить данные;

  • Подтвердите.

Результат:

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

Преобразуем числа со знаком минус на конце в отрицательные числа

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

Допустим, у нас есть такая табличка:

Давайте обработаем эти числа.

Как это сделать?

Пошаговая инструкция:

  • Выделите диапазон ячеек и откройте окно функции («Данные» -> «Текст по столбцам»);
  • На первом этапе выбираем «с разделителями»;

  • На втором этапе уберите все галочки;

  • На третьем этапе щелкните на «Подробнее…»;

  • В открывшемся окне поставьте галочку на опции указанной на картинке ниже;

  • Укажите куда поместить обработанные данные;

  • Подтвердите.

Готово, теперь числа будут отрицательными. Можете использовать их в формулах.

Понравилась статья? Поделить с друзьями:
  • Данные хранимые в ячейках электронной таблицы excel
  • Данные фотографии в excel
  • Данные форма в excel пример
  • Данные форма в excel 2007
  • Данные форма excel 2013