In this guide, we’re going to show you how to split text in Excel by a delimiter.
Download Workbook
We have a sample data which contains concatenated values separated by “|” characters. It is important that the data includes a specific delimiter character between each chunk of data to make splitting text easier.
Text to Columns feature for splitting text
When splitting text in Excel, the Text to Columns is one of the most common methods. You can use the Text to Columns feature with all versions of Excel. This feature can split text by a specific character count or delimiter.
- Start with selecting your data. You can use more than one cell in a column.
- Click Data > Text to Columns in the Ribbon.
- On the first step of the wizard, you have 2 options to choose from — these are slicing methods. Since our data in this example is split by delimiters, our choice is going to be Delimited.
- Click Next to continue
- Select the delimiters suitable to your data or choose a character length and click Next.
- Choose corresponding data types for the columns and the destination cell. Please note that if the destination cell is the same cell as where your data is, the original data will be overwritten.
- Click Finish to see the outcome.
Using formulas to split text
Excel has a variety of text formulas that you can use to locate delimiters and parse data. When using formulas to do so, Excel automatically updates the parsed values when the source is updated.
The formula used in this example uses Microsoft 365’s dynamic array feature, which allows you to populate multiple cells without using array formulas. If you can see the SEQUENCE formula, you can use this method.
Syntax
=TRIM(MID(SUBSTITUTE( text, separator, REPT( “ “, LEN( text ))),(SEQUENCE( 1, column count ) — 1 ) * LEN( text ) + 1,LEN( text )))
How it works
The formula replaces each separator character with space characters first. (see SUBSTITUTE) The number of space characters will be equal to the original string’s character count, which is enough number of spaces to separate each string block (see REPT and LEN).
The SEQUENCE function generates an array of numbers starting with 1, up to the number of maximum columns. Multiplying these sequential numbers with the length of the original string returns character numbers indicating the start of each block.
This approach uses the MID function to parse each string block with given start character number and the number of characters to return. Since the separators are replaced with space characters, each parsed block includes these spaces around the actual string. The TRIM function then removes these spaces.
Flash Fill
The Flash Fill is an Excel tool which can detect the pattern when entering data. A common example is to separate or merge first name and last names. Let’s say column A contains the first name — last name combinations. If you type in the corresponding first name in the same row for column B, Excel shows you a preview for the rest of the column.
Please note that the Flash Fill is available for Excel 2013 and newer versions only.
You can see the same behavior with strings using delimiters to separate data. Just select a cell in the adjacent column and start typing. Occasionally Excel will display a preview. If not, press Ctrl + E like below to split your text.
Power Query
Power Query is a powerful feature, not only for splitting text, but for data management in general. Power Query comes with its own text splitting tool which allows you to split text in multiple ways, like by delimiters, number of characters, or case of letters.
If you are using Excel 2016 or newer — including Microsoft 365 — you can find Power Query options under the Data tab’s Get & Transform section. Excel 2010 and 2013 users should download and install the Power Query as an add-in.
- Select the cells containing the text.
- Click Data > From Sheet. If the data is not in an Excel Table, Excel converts it into an Excel Table first.
- Once the Power Query window is open, find the Split Column under the Transform tab and click to see the options.
- Select the approach that fits your data layout. The data in our example is using By Delimiter since the data is separated by “|”.
- Power Query will show the delimiter character. If you are not seeing the expected delimiter, choose from the list or enter it yourself.
- Click OK to split text.
- If your data includes headers in its first row, like our example does, click Transform > Use First Row as Headers to keep them as headers.
- One you satisfied with the result, click the Home > Close & Load button to move the split data into your workbook.
VBA
VBA is the last text splitting option we want to show in this article. You can use VBA in two ways to split text:
- By calling the Text to Columns feature using VBA,
- Using VBA’s Split function to create array of sub-strings and using a loop to distribute the sub-strings into adjacent cells in the same row.
Text to Columns by VBA
The following code can split data from selected cells into the adjacent columns. Note that each supported delimiter is listed as an argument which you can enable or disable by giving them either True or False. Briefly, True means that you want to set that argument as a delimiter and False means ignore that character.
An easy way to generate a VBA code to split text is to record a macro. Start a recording section using the Record Macro button in the Developer tab, and use the Text to Columns feature. Once the recording is stopped, Excel will save the code for what you did during recording.
The code:
Sub VBATextToColumns_Multiple()
Dim MyRange As Range
Set MyRange = Selection ‘To work on a static range replace Selection via Range object, e.g., Range(“B6:B12”)
MyRange.TextToColumns _
Destination:=MyRange(1, 1).Offset(, 1), _
DataType:=xlDelimited, _
TextQualifier:=xlDoubleQuote, _
ConsecutiveDelimiter:=False, _
Tab:=True, _
SemiColon:=False, _
Comma:=False, _
Space:=False, _
Other:=True, _
OtherChar:=»|»
End Sub
Split Function
Split function can be useful if you want to keep the split blocks in an array. You can only use this method for splitting because of the single delimiter constraint. The following code loops through each cell in a selected column, splits and stores text by the delimiter “|”, and uses another loop to populate the values in the array on cells. The final EntireColumn.AutoFit command adjusts the column widths.
The code:
Sub SplitText()
Dim StringArray() As String, Cell As Range, i As Integer
For Each Cell In Selection ‘To work on a static range replace Selection via Range object, e.g., Range(“B6:B12”)
StringArray = Split(Cell, «|») ‘Change the delimiter with a character suits your data
For i = 0 To UBound(StringArray)
Cell.Offset(, i + 1) = StringArray(i)
Cell.Offset(, i + 1).EntireColumn.AutoFit ‘This is for column width and optional.
Next i
Next
End Sub
Большинство опытных пользователей Excel умеют пользоваться встроенным интерфейсным средством для разбивки текстовой строки на составляющие с использованием символа разделителя. В некоторых ситуациях может оказаться удобнее разобрать текст не с помощью интерфейса, а с использованием формул. Как ни странно, но Excel не имеет встроенной стандартной функции рабочего листа для проведения таких действий. Это тем более непонятно, так как VBA поддерживает стандартную функцию Split, облегчающую решение подобных задач.
В примере созданы 2 сложные формулы для разбивки текста по столбцам и строкам. Их также можно использовать для выборки текстовой составляющей по порядковому номеру.
Напомним, что интерфейсное средство “Текст по столбцам” доступно через меню и ленту Excel Данные Текст по столбцам.
В файле-примере показано два типа формулы для разделения текста на составляющие:
- текст по столбцам (диапазон B5:K6)
- текст по строкам (диапазон A10:B19)
В качестве разделителя текста используется символ “,” (запятая). В служебных целях задействованы еще два символа ” ” (математические знаки “меньше” и “больше”). Эти символы не могут находится в исходном тексте, в противном случае формула будет работать неверно. И разделитель, и служебные символы можно заменить на любые другие, главное, чтобы они не могли быть задействованы в исходном тексте. Для замены исправьте константы во всех местах формулы.
Формула в ячейке B5 и далее по столбцам обрабатывает исходный текст из ячейки A5:
Формула в ячейке A10 и далее по строкам обрабатывает исходный текст из ячейки A9:
Формулы ссылаются только на исходный текст и не требуют наличия других предварительно вычисленных составляющих. Варианты отличаются только автоматическим определением порядкового номера текстовой составляющей, в первом случае – это подформула для вычисления номера от количества столбцов: COLUMNS($B:B); во втором – от количества строк: ROWS($10:10). При копировании диапазон столбцов и строк автоматически расширяется, вычисляя таким образом нужное значение. Вместо этой подформулы можно задать константу или переменную, определяющую требуемый номер. Из результатирующих текстовых значений убираются лишние пробелы при помощи функции TRIM().
Наверняка можно сделать формулу покороче, используя другие методы поиска. Это просто наш вариант – оригинальный, нигде не подсмотренный
Делим слипшийся текст на части
Итак, имеем столбец с данными, которые надо разделить на несколько отдельных столбцов. Самые распространенные жизненные примеры:
- ФИО в одном столбце (а надо – в трех отдельных, чтобы удобнее было сортировать и фильтровать)
- полное описание товара в одном столбце (а надо – отдельный столбец под фирму-изготовителя, отдельный – под модель для построения, например, сводной таблицы)
- весь адрес в одном столбце (а надо – отдельно индекс, отдельно – город, отдельно – улица и дом)
- и т.д.
Способ 1. Текст по столбцам
Выделите ячейки, которые будем делить и выберите в меню Данные – Текст по столбцам (Data – Text to columns) . Появится окно Мастера разбора текстов:
На первом шаге Мастера выбираем формат нашего текста. Или это текст, в котором какой-либо символ отделяет друг от друга содержимое наших будущих отдельных столбцов (с разделителями) или в тексте с помощью пробелов имитируются столбцы одинаковой ширины (фиксированная ширина).
На втором шаге Мастера, если мы выбрали формат с разделителями (как в нашем примере) – необходимо указать какой именно символ является разделителем:
Если в тексте есть строки, где зачем-то подряд идут несколько разделителей (несколько пробелов, например), то флажок Считать последовательные разделители одним (Treat consecutive delimiters as one) заставит Excel воспринимать их как один.
Выпадающий список Ограничитель строк (Text Qualifier) нужен, чтобы текст заключенный в кавычки (например, название компании “Иванов, Манн и Фарбер”) не делился по запятой
внутри названия.
И, наконец, на третьем шаге для каждого из получившихся столбцов, выделяя их предварительно в окне Мастера, необходимо выбрать формат:
- общий – оставит данные как есть – подходит в большинстве случаев
- дата – необходимо выбирать для столбцов с датами, причем формат даты (день-месяц-год, месяц-день-год и т.д.) уточняется в выпадающем списке
- текстовый – этот формат нужен, по большому счету, не для столбцов с ФИО, названием города или компании, а для столбцов с числовыми данными, которые Excel обязательно должен воспринять как текст. Например, для столбца с номерами банковских счетов клиентов, где в противном случае произойдет округление до 15 знаков, т.к. Excel будет обрабатывать номер счета как число:
Кнопка Подробнее (Advanced) позволяет помочь Excel правильно распознать символы-разделители в тексте, если они отличаются от стандартных, заданных в региональных настройках.
Способ 2. Как выдернуть отдельные слова из текста
Если хочется, чтобы такое деление производилось автоматически без участия пользователя, то придется использовать небольшую функцию на VBA, вставленную в книгу. Для этого открываем редактор Visual Basic:
- в Excel 2003 и старше – меню Сервис – Макрос – Редактор Visual Basic(Tools – Macro – Visual Basic Editor)
- в Excel 2007 и новее – вкладка Разработчик – Редактор Visual Basic (Developer – Visual Basic Editor) или сочетание клавиш Alt+F11
Вставляем новый модуль (меню Insert – Module) и копируем туда текст вот этой пользовательской функции:
Теперь можно найти ее в списке функций в категории Определенные пользователем (User Defined) и использовать со следующим синтаксисом:
=SUBSTRING(Txt; Delimeter; n)
- Txt – адрес ячейки с текстом, который делим
- Delimeter – символ-разделитель (пробел, запятая и т.д.)
- n – порядковый номер извлекаемого фрагмента
Способ 3. Разделение слипшегося текста без пробелов
Тяжелый случай, но тоже бывает. Имеем текст совсем без пробелов, слипшийся в одну длинную фразу (например ФИО “ИвановИванИванович”), который надо разделить пробелами на отдельные слова. Здесь может помочь небольшая макрофункция, которая будет автоматически добавлять пробел перед заглавными буквами. Откройте редактор Visual Basic как в предыдущем способе, вставьте туда новый модуль и скопируйте в него код этой функции:
Теперь можно использовать эту функцию на листе и привести слипшийся текст в нормальный вид:
Разбить по строкам/столбцам
Данная функция является частью надстройки MulTEx
- Описание, установка, удаление и обновление
- Полный список команд и функций MulTEx
- Часто задаваемые вопросы по MulTEx
- Скачать MulTEx
Вызов команды:
MulTEx -группа Ячейки/Диапазоны –Диапазоны –Разбить по строкам/столбцам
Эта команда разбивает данные во всех выделенных ячейках на части, используя в качестве разделителя указанные символ/символы. Главная особенность – в отличие от стандартной команды Excel “Разбить по столбцам”, данная команда заносит результат разбиения данных в строки либо столбцы в одну строку/столбец, а не каждую часть в свой столбец. К тому же в стандартной команде Excel нет возможности указать несколько символов – только один.
Диапазон значений – указывается диапазон ячеек, данные которых необходимо разбить. Может быть как одним столбцом/строкой, так и диапазоном, состоящим из нескольких строк и нескольких столбцов.
Разделитель – указывается символ (или группа символов), который будет применен в качестве разделителя. Если разделитель не указан, то появится сообщение, информирующее об этом. В сообщении будет предложено использовать разделитель по умолчанию (Пробел). В случае отказа Вы сможете указать необходимый разделитель. Данные, внесенные ранее не будут утеряны.
- Специальный – можно добавить в поле Разделитель один из специальных символов: неразрывный пробел или перенос на строки. Стандартно такие символы невозможно ввести с клавиатуры, но они могут часто встречаться в ячейках. Например, эти символы часто применяется в выгрузках из различных программ(вроде 1С): неразрывный пробел для разделения цифр или слов, которые не надо переносить на строки, а перенос на строки – для разделения основания платежей и иной информации.
Если в поле Разделитель уже указан какой-либо символ, то при выборе дополнительно специального символа будет показано сообщение:
Поместить результат:
- Начиная с ячейки – одна ячейка, начиная с которой будет выводиться результат. Не может находиться в Диапазоне значений. В случае, если Диапазон значений состоит из нескольких строк и столбцов, данные будут разбиты в соответствии с расположением данных:
- В одну ячейку – результирующие значения будут помещены в одну ячейку, разделенные между собой указанным разделителем:
Разделитель результата:
Доступно только если в качестве вывода результата указана одна ячейка. По умолчанию разделителем является перенос на строки. В качестве разделителя можно указать любой символ или группу символов.
- Перенос на строки – каждое новое результирующее значение в ячейке будет записано с новой строки:
- Произвольный – любой символ, буква, цифра или группа символов(словосочетания, цифры и т.п.).
Транспонировать – если Диапазон значений представляет собой столбец, то данные после обработки будут помещены в одну строку. Если Диапазон значений – строка, то данные будут помещены в столбец. Недоступно при выводе результата в одну ячейку.
Как разделить текст в ячейке Excel?
Добрый день уважаемый читатель!
В статье я хочу рассмотреть вопрос о том, как и какими способами, возможно, разделить текст в ячейке, который оказался склеен! Если вы часто работаете с импортированными данными в Excel, то периодически встречаете такие проблемы как выгруженные точки вместо запятых, неправильный формат данных, слепленные слова или значения и многое другое. На этот случай Excel предоставляет несколько возможностей по нормализации данных и у каждого из них есть свои плюсы и минуса.
Разобрать слитый текст на необходимые составляющие возможно произвести с помощью:
Мастер разбора текстов
Рассмотрим самый простой способ разделить текст в ячейке, не по сути, а по исполнению. Для примера, очень наглядно это можно продемонстрировать на ФИО в одной ячейке, которые необходимо разделить на отдельные столбики для удобства сортировки и фильтрации.
Для выполнения задачи вызываем диалоговое окно «Мастер текстов (разбор)» и в 3 шага разделяем текст:
- Для начала нужно выделить данные, которые необходимо разделить, следующим шагом на вкладке «Данные» в разделе «Работа с данными» нажимаете иконку «Текст по столбцам» и в вызванном диалоговом окне мастера указываем формат рабочего текста. Выбираем 2 вида форматов:
- С разделителями – это когда существует текст или символ, который условно будет отделять будущее содержимое отдельных ячеек;
- Фиксированной ширины – это когда при помощи пробелов в тексте имитируется столбики одинаковой ширины.
- Вторым шагом, в нашем примере, указываем символ, выполняющий роль разделителя. В случаях, когда в тексте идут подряд пару разделителей, несколько пробелов, к примеру, то установка флажка для пункта «Считать последовательные разделители одним» укажет для Excel принимать их за один разделитель. Дополнительное условие «Ограничитель строк» поможет указать, что текстовые значения, содержащиеся в кавычках не делить (к примеру, название фирмы «Рудольф, Петер и Саймон»);
- Последним шагом, для уже разделённых столбиков, нужно указать в диалоговом окне мастера, предварительно выделив их, выбрать необходимый формат получаемых данных:
- Общий – не проводит изменения данных, оставляя их в первоначальном виде, будет оптимальным выбором в большинстве случаев;
- Текстовый – данный формат, в основном, необходим для столбиков с числовыми значениями, которые программа в обязательном порядке должна интерпретировать как текст. (К примеру, это числа с разделителем по тысяче или номер пластиковой карточки);
- Дата – этот формат используется для столбиков с датами, кстати, формат самой даты можно выбрать в выпадающем списке.
В случае, когда будете использовать символы, которые не похожи на стандартные, назначенные в региональных настройках, можете использовать кнопку «Подробнее» для правильного их распознавания.
Рассоединяем текст с помощью формул
Для этого способа нам понадобятся возможности сочетаний функций ПОИСК и ПСТР. При помощи функции ПОИСК мы будем искать все пробелы, которые есть между словами (например, между фамилией, именем и отчеством). Потом функцией ПСТР выделяем необходимое количество символов для дальнейшего разделения.
И если с первыми двумя словами понятно, что и как разделять, то разделителя для последнего слова нет, а это значит что нужно указать в качестве аргумента условно большое количество символов, как аргумент «число_знаков» для функции ПСТР, например, 100, 200 или больше.
А теперь поэтапно рассмотрим формирование формулы для разделения текста в ячейке:
- Во-первых, нам необходимо найти два пробела, которые разделяют наши слова, для поиска первого пробела нужна формула: =ПОИСК(” “;B2;1), а для второго подойдет: =ПОИСК(” “;B2;C2+1);
- Во-вторых, определяем, сколько символов нужно выделить в строке. Поскольку позиции разделителя мы уже определили, то символов для разделения у нас будет на один меньше. Значит, будем использовать функцию ПСТР для изъятия слов, с ячейки используя как аргумент «количество_знаков» результат работы предыдущей формулы. Для определения первого слова (Фамилии) нужна формула: =ПСТР(B2;1;ПОИСК(” “;B2;1)), для определения второго значения (Имя): =ПСТР(B2;ПОИСК(” “;B2;1)+1;ПОИСК(” “;B2;ПОИСК(” “;B2;1)+1) -ПОИСК(” “;B2;1)), а теперь определим последнее значение (Отчество): =ПСТР(B2;ПОИСК(” “;B2;ПОИСК(” “;B2;1)+1)+1;100).
В результате мы разделили ФИО на три слова, что позволит с ними эффективно работать.
Если же значение в ячейке будете делить на две части, то ищете только один пробел (или иной разделитель), а вот чтобы разделить более 4 слов, в формулу добавьте поиск необходимых разделителей.
Выдергиваем слова с помощью макросов VBA
Рассмотрим два способа разделить текст в ячейке:
- Выдергиваем отдельные слова по разделителю;
- Делим текст без пробелов.
Способ №1.
Поскольку вас интересует автоматическое деление текста, значит надо написать хорошую функцию на VBA и внедрить ее в рабочую книгу. Для начала переходим на вкладку «Разработчик» и выбираем «Visual Basic» или вызываем эту возможность с помощью горячего сочетания клавиш Alt+F11. (детальнее в статье «Как создать макрос в Excel»).
Создаем новый модуль в меню «Insert» наживаем пункт «Module» и переносим в него нижеприведенный код:
Excel: разделяем слипшийся текст
Случается, что содержание одного столбца нужно разбить на несколько. Например:
- слишком обширное описание товара (а нужно, чтоб наименование, характеристики и актуальное наличие были разбиты);
- полный адрес в одном столбце (а нужно, чтоб индекс, область, район и прочие данные были разбиты);
- ФИО в одном столбце (а нужно – в отдельных).
Какая бы ситуация ни сложилась у вас, есть несколько способов разделить слипшийся текст.
Задача №1: Разбить текст по столбцам
Решение: Выделите нужные ячейки, перейдите в меню Данные → Текст по столбцам.
В появившемся окне Мастер текстов (разбора) укажите формат данных:
- с разделителями – в случае, когда содержимое будущих отдельных столбцов разделяется каким-либо символом (укажите, каким именно).
В случае, если в строках есть нагромождения пробелов, стоит поставить галочку «Считать последовательные разделители одним». Ограничитель строк пригодится вам, если в ячейках есть сочетания, которые не нужно делить (например, название завода изготовителя, заключенное в кавычки, и т.д.).
- фиксированной ширины – если вы хотите задать произвольную ширину столбца:
Перейдя к третьему шагу, вы должны назначить столбцам подходящий формат:
- Общий – самый универсальный, сохранит данные в исходном виде.
- Дата – для столбцов, где указан день-месяц-год (порядок значений вы также выберете самостоятельно).
- Текстовый – незаменим для ячеек с числовыми данными, которые Excel должен воспринимать как текст. Пример: если столбцу с номерами банковских счетов не назначить текстовый формат, цифры округлятся до 15-ти символов – офис распознает их как числа.
Задача №2: Выборочно выдернуть слова из текста
Для того чтобы сделать это автоматически, воспользуйтесь редактором Visual Basic (вызов горячими клавишами Alt+F11 ): откройте новый модуль ( Insert Module ) и вставьте следующий текст функции:
Function Substring(Txt, Delimiter, n) As String
Dim x As Variant
x = Split(Txt, Delimiter)
If n > 0 And n – 1
Substring = x(n – 1)
Else
Substring = “”
End If
End Function
Далее идем в меню Формулы → Вставить функцию , выбираем категорию «Определенные пользователем» , применяем синтаксис =SUBSTRING и указываем значения:
- Txt – адрес ячейки с нужным текстом.
- Delimeter – разделяющий знак (запятая, тире, пробел и т.д.).
- N – порядковый номер фрагмента, который нужно «выдернуть».
Задача №3: Разделить текст без пробелов
Если о знаках-разделителях речи даже не идет – то есть текст абсолютно слипшийся (например, ФИО «ПетровскийАндрейИванович»), используйте следующую макрофункцию:
Function CutWords(Txt As Range) As String
Dim Out$
If Len(Txt) = 0 Then Exit Function
Out = Mid(Txt, 1, 1)
For i = 2 To Len(Txt)
If Mid(Txt, i, 1) Like “[a-zа-я]” And Mid(Txt, i + 1, 1) Like “[A-ZА-Я]” Then
Out = Out & Mid(Txt, i, 1) & ” ”
Else
Out = Out & Mid(Txt, i, 1)
End If
Next i
CutWords = Out
End Function
CutWords аналогично добавляется в редактор Visual Basic , потом выбирается среди функций, определенных пользователем, и автоматически расставляет пробелы перед заглавными буквами.
Читайте нас дальше, чтобы работа с Excel давалась ещё легче.
Как разделить текст по ячейкам формула в Excel
Часто приходится оптимизировать структуру данных после импорта в Excel. Некоторые разные значения попадают в одну и туже ячейку образуя целую строку как одно значение. Возникает вопрос: как разбить строку на ячейки в Excel. Программа располагает разными поисковыми функциями: одни ищут по ячейках другие ищут по содержимому ячеек. Ведь выполнять поиск по текстовой строке, которая содержится в ячейке ¬– это также распространенная потребность пользователей Excel. Их мы и будем использовать для разделения строк.
Как разделить текст на две ячейки Excel
Допустим на лист Excel были импортированные данные из другой программы. Из-за несовместимости структуры данных при импорте некоторые значение из разных категорий были внесены в одну ячейку. Необходимо из этой ячейки отделить целые числовые значения. Пример таких неправильно импортированных данных отображен ниже на рисунке:
Сначала определим закономерность, по которой можно определить, что данные из разных категорий, несмотря на то, что они находятся в одной и той же строке. В нашем случае нас интересуют только числа, которые находятся вне квадратных скобок. Каким способом можно быстро выбрать из строк целые числа и поместить их в отдельные ячейки? Эффективным решением является гибкая формула основана на текстовых функциях.
В ячейку B3 введите следующую формулу:
Теперь скопируйте эту формулу вдоль целого столбца:
Выборка чисел из строк в отдельные ячейки.
Описание формулы для разделения текста по ячейкам:
Функция ПСТР возвращает текстовое значение содержащие определенное количество символов в строке. Аргументы функции:
- Первый аргумент – это ссылка на ячейку с исходным текстом.
- Второй аргумент – это позиция первого символа, с которого должна начинаться разделенная строка.
- Последний аргумент – это количество символов, которое должна содержать разделенная строка.
С первым аргументом ПСТР все понятно – это ссылка на ячейку A3. Второй аргумент мы вычисляем с помощью функции НАЙТИ(“]”;A3)+2. Она возвращает очередной номер символа первой закрывающейся квадратной скобки в строке. И к этому номеру мы добавляем еще число 2, так как нам нужен номер символа после пробела за квадратной скобкой. В последнем аргументе функция вычисляет какое количество символов будет содержать разделенная строка после разделения, учитывая положение квадратной скобки.
Обратите внимание! Что в нашем примере все исходные и разделенные строки имеют разную длину и разное количество символов. Именно поэтому мы называли такую формулу – гибкой, в начале статьи. Она подходит для любых условий при решении подобного рода задач. Гибкость придает ей сложная комбинация из функций НАЙТИ. Пользователю формулы достаточно определить закономерность и указать их в параметрах функций: будут это квадратные скобки либо другие разделительные знаки. Например, это могут быть пробелы если нужно разделить строку на слова и т.п.
В данном примере функция НАЙТИ во втором аргументе определяет положение относительно первой закрывающейся скобки. А в третьем аргументе эта же функция вычисляет положение нужного нам текста в строке относительно второй открывающийся квадратной скобки. Вычисление в третьем аргументе более сложное и оно подразумевает вычитание одной большей длинны текста от меньшей. А чтобы учитывать еще 2 пробела следует вычитать число 3. В результате чего получаем правильное количество символов в разделенной строке. С помощью такой гибкой формулы можно делать выборку разной длинны разделенного текста из разных длинны исходных строк.
Как сделать несколько строк в одной ячейке Excel
Microsoft Excel входит в стандартный пакет программ Microsoft Office. Это привычное приложение для с.
Как разделить данные в ячейке Excel
Если Вам во время работы с электронной таблицей в офисном пакете от Microsoft возникает необходимость разнести содержимое одной ячейки по разным колонкам для большей наглядности, то нет ничего проще. Для того, чтобы разделить данные в ячейке Excel, надо выделить её:
Затем в главном меню программы открываем раздел «Данные» и находим кнопочку «Текст по столбцам». Появится специальный Мастер распределения текста:
На первом шаге ставим флаг на формат данных «с разделителями».
Нажимаем на «Далее»:
На втором шаге надо отметить используемый символ-разделитель. В большинстве случаев это пробел.
Обязательно проверьте чтобы так же стояла галочка «Считать последовательные разделители одним». Переходим далее.
На заключительном этапе ничего не меняем и нажимаем на кнопку «Готово». Проверяем результат:
Как Вы можете заметить,того, разделить содержимое ячейки по столбцам в Экселе очень просто — главное правильно указать разделитель. Всем добра!
Содержание
- Разделение текста в Microsoft Excel
- Способ 1: Использование автоматического инструмента
- Способ 2: Создание формулы разделения текста
- Шаг 1: Разделение первого слова
- Шаг 2: Разделение второго слова
- Шаг 3: Разделение третьего слова
- Функция разделения текста в excel
- Как разделить текст в ячейке Excel?
- Мастер разбора текстов
- Рассоединяем текст с помощью формул
- Выдергиваем слова с помощью макросов VBA
- Как разделить текст в MS Excel
- Первый способ — супер быстрый.
- Второй способ — с использованием формул.
- Делим слипшийся текст на части
- Способ 1. Текст по столбцам
- Способ 2. Как выдернуть отдельные слова из текста
- Способ 3. Разделение слипшегося текста без пробелов
- Как разделить текст по ячейкам формула в Excel
- Как разделить текст на две ячейки Excel
- Описание формулы для разделения текста по ячейкам:
- Как разделить текст в Excel по столбцам?
- Указание формата данных
- Выбор разделителя для данных
- Выбор формата данных для каждого столбца
Разделение текста в Microsoft Excel
Способ 1: Использование автоматического инструмента
В Excel есть автоматический инструмент, предназначенный для разделения текста по столбцам. Он не работает в автоматическом режиме, поэтому все действия придется выполнять вручную, предварительно выбирая диапазон обрабатываемых данных. Однако настройка является максимально простой и быстрой в реализации.
- С зажатой левой кнопкой мыши выделите все ячейки, текст которых хотите разделить на столбцы.
- После этого перейдите на вкладку «Данные» и нажмите кнопку «Текст по столбцам».
- Появится окно «Мастера разделения текста по столбцам», в котором нужно выбрать формат данных «с разделителями». Разделителем чаще всего выступает пробел, но если это другой знак препинания, понадобится указать его в следующем шаге.
Из этой инструкции можно сделать вывод, что использование такого инструмента оптимально в тех ситуациях, когда разделение необходимо выполнить всего один раз, обозначив для каждого слова новый столбец. Однако если в таблицу постоянно вносятся новые данные, все время разделять их таким образом будет не совсем удобно, поэтому в таких случаях предлагаем ознакомиться со следующим способом.
Способ 2: Создание формулы разделения текста
В Excel можно самостоятельно создать относительно сложную формулу, которая позволит рассчитать позиции слов в ячейке, найти пробелы и разделить каждое на отдельные столбцы. В качестве примера мы возьмем ячейку, состоящую из трех слов, разделенных пробелами. Для каждого из них понадобится своя формула, поэтому разделим способ на три этапа.
Шаг 1: Разделение первого слова
Формула для первого слова самая простая, поскольку придется отталкиваться только от одного пробела для определения правильной позиции. Рассмотрим каждый шаг ее создания, чтобы сформировалась полная картина того, зачем нужны определенные вычисления.
- Для удобства создадим три новые столбца с подписями, куда будем добавлять разделенный текст. Вы можете сделать так же или пропустить этот момент.
Полностью созданная формула имеет вид =ЛЕВСИМВ(A1;ПОИСК(» «;A1)-1) , вы же можете создать ее по приведенной выше инструкции или вставить эту, если условия и разделитель подходят. Не забывайте заменить обрабатываемую ячейку.
Шаг 2: Разделение второго слова
Самое трудное — разделить второе слово, которым в нашем случае является имя. Связано это с тем, что оно с двух сторон окружено пробелами, поэтому придется учитывать их оба, создавая массивную формулу для правильного расчета позиции.
- В этом случае основной формулой станет =ПСТР( — запишите ее в таком виде, а затем переходите к окну настройки аргументов.
Формула получилась большая, и не все пользователи понимают, как именно она работает. Дело в том, что для поиска строки пришлось использовать сразу несколько функций, определяющих начальные и конечные позиции пробелов, а затем от них отнимался один символ, чтобы в результате эти самые пробелы не отображались. В итоге формула такая: =ПСТР(A1;ПОИСК(» «;A1)+1;ПОИСК(» «;A1;ПОИСК(» «;A1)+1)-ПОИСК(» «;A1)-1) . Используйте ее в качестве примера, заменяя номер ячейки с текстом.
Шаг 3: Разделение третьего слова
Последний шаг нашей инструкции подразумевает разделение третьего слова, что выглядит примерно так же, как это происходило с первым, но общая формула немного меняется.
- В пустой ячейке для расположения будущего текста напишите =ПРАВСИМВ( и перейдите к аргументам этой функции.
Источник
Функция разделения текста в excel
Как разделить текст в ячейке Excel?
Добрый день уважаемый читатель!
В статье я хочу рассмотреть вопрос о том, как и какими способами, возможно, разделить текст в ячейке, который оказался склеен! Если вы часто работаете с импортированными данными в Excel, то периодически встречаете такие проблемы как выгруженные точки вместо запятых, неправильный формат данных, слепленные слова или значения и многое другое. На этот случай Excel предоставляет несколько возможностей по нормализации данных и у каждого из них есть свои плюсы и минуса.
Разобрать слитый текст на необходимые составляющие возможно произвести с помощью:
Мастер разбора текстов
Рассмотрим самый простой способ разделить текст в ячейке, не по сути, а по исполнению. Для примера, очень наглядно это можно продемонстрировать на ФИО в одной ячейке, которые необходимо разделить на отдельные столбики для удобства сортировки и фильтрации.
Для выполнения задачи вызываем диалоговое окно «Мастер текстов (разбор)» и в 3 шага разделяем текст:
- Для начала нужно выделить данные, которые необходимо разделить, следующим шагом на вкладке «Данные» в разделе «Работа с данными» нажимаете иконку «Текст по столбцам» и в вызванном диалоговом окне мастера указываем формат рабочего текста. Выбираем 2 вида форматов:
- С разделителями – это когда существует текст или символ, который условно будет отделять будущее содержимое отдельных ячеек;
- Фиксированной ширины – это когда при помощи пробелов в тексте имитируется столбики одинаковой ширины.
- Вторым шагом, в нашем примере, указываем символ, выполняющий роль разделителя. В случаях, когда в тексте идут подряд пару разделителей, несколько пробелов, к примеру, то установка флажка для пункта «Считать последовательные разделители одним» укажет для Excel принимать их за один разделитель. Дополнительное условие «Ограничитель строк» поможет указать, что текстовые значения, содержащиеся в кавычках не делить (к примеру, название фирмы «Рудольф, Петер и Саймон»);
- Последним шагом, для уже разделённых столбиков, нужно указать в диалоговом окне мастера, предварительно выделив их, выбрать необходимый формат получаемых данных:
- Общий – не проводит изменения данных, оставляя их в первоначальном виде, будет оптимальным выбором в большинстве случаев;
- Текстовый – данный формат, в основном, необходим для столбиков с числовыми значениями, которые программа в обязательном порядке должна интерпретировать как текст. (К примеру, это числа с разделителем по тысяче или номер пластиковой карточки);
- Дата – этот формат используется для столбиков с датами, кстати, формат самой даты можно выбрать в выпадающем списке.
В случае, когда будете использовать символы, которые не похожи на стандартные, назначенные в региональных настройках, можете использовать кнопку «Подробнее» для правильного их распознавания.
Рассоединяем текст с помощью формул
Для этого способа нам понадобятся возможности сочетаний функций ПОИСК и ПСТР. При помощи функции ПОИСК мы будем искать все пробелы, которые есть между словами (например, между фамилией, именем и отчеством). Потом функцией ПСТР выделяем необходимое количество символов для дальнейшего разделения.
И если с первыми двумя словами понятно, что и как разделять, то разделителя для последнего слова нет, а это значит что нужно указать в качестве аргумента условно большое количество символов, как аргумент «число_знаков» для функции ПСТР, например, 100, 200 или больше.
А теперь поэтапно рассмотрим формирование формулы для разделения текста в ячейке:
- Во-первых, нам необходимо найти два пробела, которые разделяют наши слова, для поиска первого пробела нужна формула: =ПОИСК(» «;B2;1), а для второго подойдет: =ПОИСК(» «;B2;C2+1);
- Во-вторых, определяем, сколько символов нужно выделить в строке. Поскольку позиции разделителя мы уже определили, то символов для разделения у нас будет на один меньше. Значит, будем использовать функцию ПСТР для изъятия слов, с ячейки используя как аргумент «количество_знаков» результат работы предыдущей формулы. Для определения первого слова (Фамилии) нужна формула: =ПСТР(B2;1;ПОИСК(» «;B2;1)), для определения второго значения (Имя): =ПСТР(B2;ПОИСК(» «;B2;1)+1;ПОИСК(» «;B2;ПОИСК(» «;B2;1)+1) -ПОИСК(» «;B2;1)), а теперь определим последнее значение (Отчество): =ПСТР(B2;ПОИСК(» «;B2;ПОИСК(» «;B2;1)+1)+1;100).
В результате мы разделили ФИО на три слова, что позволит с ними эффективно работать.
Если же значение в ячейке будете делить на две части, то ищете только один пробел (или иной разделитель), а вот чтобы разделить более 4 слов, в формулу добавьте поиск необходимых разделителей.
Выдергиваем слова с помощью макросов VBA
Рассмотрим два способа разделить текст в ячейке:
- Выдергиваем отдельные слова по разделителю;
- Делим текст без пробелов.
Способ №1.
Поскольку вас интересует автоматическое деление текста, значит надо написать хорошую функцию на VBA и внедрить ее в рабочую книгу. Для начала переходим на вкладку «Разработчик» и выбираем «Visual Basic» или вызываем эту возможность с помощью горячего сочетания клавиш Alt+F11. (детальнее в статье «Как создать макрос в Excel»).
Создаем новый модуль в меню «Insert» наживаем пункт «Module» и переносим в него нижеприведенный код:
Как разделить текст в MS Excel
Многие знают, что для того, чтобы объединить текст в двух ячейках достаточно воспользоваться функцией СЦЕПИТЬ (CONCATENATE), однако, как быть, если необходимо не объединить, а наоборот разделить текст в ячейке? Если количество символов, которое необходимо отделить известно (не важно справа или слева), тогда можно воспользоваться функциями ЛЕВСИМВ (LEFT) или ПРАВСИМВ (RIGHT), в зависимости с какой стороны необходимо выделить определенное количество символов.
Однако, как быть, если необходимо разделить ячейку в которой заведомо не известно количество символов, которые нужно отделить, а известно лишь сколько частей необходимо получить в результате операции. Самым простым примером такой ситуации может быть необходимость выделить из ячейки в которой занесено ФИО человека, отдельно фамилию, имя и отчество. Фамилии у всех разные, поэтому заранее узнать количество символов, которые необходимо отделить, не получится.
На Ваше обозрение представим два способа разделения текста. Один очень быстрый — для тех кому надо просто разделить текст заменив имеющийся, а второй с использованием формул.
Первый способ — супер быстрый.
На самом деле в MS Excel существует встроенная возможность быстрого разделения текста в ячейке, если там присутствует или присутствуют разделитель/разделители (например, простой пробел или запятая). Причем таких разделителей может быть несколько, т.е. текст будет разделятся если в строке присутствует или пробел, или точка с запятой или запятая и т.д.
Для этого необходимо выделить ячейки с текстом, который необходимо разделить и воспользоваться командой «Текст по столбцам».
В англоязычной версии MS Excel данная команда звучит как «Text to Columns» вкладки «DATA».
После несложных подсказок мастера (на самом деле, в нашем примере после выбора разделителя — пробела можно смело жать «Готово»)
А вот и, собственно, результат.
Второй способ — с использованием формул.
В такой ситуации понадобится сочетание функций: ПОИСК (SEARCH) и ПСТР (MID). Для начала, с помощью первой находим пробел между словами (между фамилией и именем и именем и отчеством), а потом подключаем вторую для того, чтобы выделить необходимое количество символов. Грубо говоря, первой функцией определяем количество символов, а второй — уже разделяем.
Кроме того, поскольку разделительного знака в конце строки нет, то количество символов в последнем слове (нашем случае — отчестве) вычислить не удастся, но это не проблема, достаточно указать заведомо большее количество символов в качестве аргумента «число знаков» функции ПСТР, например, 100.
Рассмотрим вышесказанное на примере. Сначала, для лучшего понимания, разнесем формулы и, таким образом, разделим весь процесс на два этапа.
Для того, чтобы определить количество символов, которые необходимо выделить в строке, необходимо определить позиции разделителей (в нашем случае пробела) их будет на один меньше нежели слов в ячейке.
Поскольку информация о количестве необходимых символах получена, следующим этапом будет использование функции ПСТР (MID).
Здесь, в качестве аргументов, используются промежуточные значения, полученные с помощью функции ПОИСК. Для последней колонки количество символов неизвестно, поэтому было взято заведомо бОльшее количество символов (в нашем случае 100).
Теперь попробуем соединить промежуточные расчеты в одну формулу.
Если текст в ячейке необходимо разделить лишь на две части, то необходимо произвести поиск лишь одного пробела (либо другого разделителя, который находится между словами), а для разделения на 4 и больше частей формулу придется усложнить поиском 3го, 4го и т.д. разделителей.
Делим слипшийся текст на части
Итак, имеем столбец с данными, которые надо разделить на несколько отдельных столбцов. Самые распространенные жизненные примеры:
- ФИО в одном столбце (а надо — в трех отдельных, чтобы удобнее было сортировать и фильтровать)
- полное описание товара в одном столбце (а надо — отдельный столбец под фирму-изготовителя, отдельный — под модель для построения, например, сводной таблицы)
- весь адрес в одном столбце (а надо — отдельно индекс, отдельно — город, отдельно — улица и дом)
- и т.д.
Способ 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
Часто приходится оптимизировать структуру данных после импорта в Excel. Некоторые разные значения попадают в одну и туже ячейку образуя целую строку как одно значение. Возникает вопрос: как разбить строку на ячейки в Excel. Программа располагает разными поисковыми функциями: одни ищут по ячейках другие ищут по содержимому ячеек. Ведь выполнять поиск по текстовой строке, которая содержится в ячейке ¬– это также распространенная потребность пользователей Excel. Их мы и будем использовать для разделения строк.
Как разделить текст на две ячейки Excel
Допустим на лист Excel были импортированные данные из другой программы. Из-за несовместимости структуры данных при импорте некоторые значение из разных категорий были внесены в одну ячейку. Необходимо из этой ячейки отделить целые числовые значения. Пример таких неправильно импортированных данных отображен ниже на рисунке:
Сначала определим закономерность, по которой можно определить, что данные из разных категорий, несмотря на то, что они находятся в одной и той же строке. В нашем случае нас интересуют только числа, которые находятся вне квадратных скобок. Каким способом можно быстро выбрать из строк целые числа и поместить их в отдельные ячейки? Эффективным решением является гибкая формула основана на текстовых функциях.
В ячейку B3 введите следующую формулу:
Теперь скопируйте эту формулу вдоль целого столбца:
Выборка чисел из строк в отдельные ячейки.
Описание формулы для разделения текста по ячейкам:
Функция ПСТР возвращает текстовое значение содержащие определенное количество символов в строке. Аргументы функции:
- Первый аргумент – это ссылка на ячейку с исходным текстом.
- Второй аргумент – это позиция первого символа, с которого должна начинаться разделенная строка.
- Последний аргумент – это количество символов, которое должна содержать разделенная строка.
С первым аргументом ПСТР все понятно – это ссылка на ячейку A3. Второй аргумент мы вычисляем с помощью функции НАЙТИ(«]»;A3)+2. Она возвращает очередной номер символа первой закрывающейся квадратной скобки в строке. И к этому номеру мы добавляем еще число 2, так как нам нужен номер символа после пробела за квадратной скобкой. В последнем аргументе функция вычисляет какое количество символов будет содержать разделенная строка после разделения, учитывая положение квадратной скобки.
Обратите внимание! Что в нашем примере все исходные и разделенные строки имеют разную длину и разное количество символов. Именно поэтому мы называли такую формулу – гибкой, в начале статьи. Она подходит для любых условий при решении подобного рода задач. Гибкость придает ей сложная комбинация из функций НАЙТИ. Пользователю формулы достаточно определить закономерность и указать их в параметрах функций: будут это квадратные скобки либо другие разделительные знаки. Например, это могут быть пробелы если нужно разделить строку на слова и т.п.
В данном примере функция НАЙТИ во втором аргументе определяет положение относительно первой закрывающейся скобки. А в третьем аргументе эта же функция вычисляет положение нужного нам текста в строке относительно второй открывающийся квадратной скобки. Вычисление в третьем аргументе более сложное и оно подразумевает вычитание одной большей длинны текста от меньшей. А чтобы учитывать еще 2 пробела следует вычитать число 3. В результате чего получаем правильное количество символов в разделенной строке. С помощью такой гибкой формулы можно делать выборку разной длинны разделенного текста из разных длинны исходных строк.
Как разделить текст в Excel по столбцам?
Часто мы сталкиваемся с проблемой, когда у нас есть данные только в одном столбце, при этом было бы гораздо удобнее расцепить текст на несколько столбцов.
Например, разделить столбец с полными именами (Фамилия Имя Отчество) на отдельные столбцы с именами (Фамилия, Имя, Отчество).
Давайте разберемся как разбить текст в ячейке по столбцам на конкретном примере.
Предположим у нас имеется таблица с ФИО сотрудников компании:
Исходные данные для разделения
Для того, чтобы разделить текст в Excel по столбцам идем на панель вкладок и выбираем Данные -> Работа с данными -> Текст по столбцам:
Указание формата данных
На первом шаге выбираем формат данных:
Шаг 1. Указание формата данных
На выбор есть 2 варианта формата данных:
- С разделителями — разделение происходит по знаку-разделителю (пробел, запятая, точка и т.д.);
- Фиксированная ширина — разделение происходит по фиксированной ширине столбца.
Выбор разделителя для данных
В случае выбора формата с разделителями, как в нашем примере, на втором шаге выбираем какой конкретно знак-разделитель мы будем использовать:
Шаг 2. Выбор разделителя для данных
Можно выбрать как из стандартных знаков (знак табуляции, точка с запятой, запятая, пробел), так и из любых других (например, точка, символы $, @ и т.п.).
Флажок Считать последовательные разделители одним необходим если в исходных данных разделитель может быть продублирован (например, двойной пробел и т.д.).
Параметр Ограничитель строк позволяет не разделять по столбцам текст заключенный в кавычки.
Выбор формата данных для каждого столбца
На третьем шаге выбираем формат данных для каждого нового сформированного столбца:
Шаг 3. Выбор формата данных для каждого столбца
Источник
Skip to content
В руководстве объясняется, как разделить ячейки в 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-го дефиса), вставьте следующее выражение в B2, а затем скопируйте его вниз по столбцу:
=ЛЕВСИМВ(A2; ПОИСК(«-«;A2;1)-1)
Здесь функция мы сначала определяем позицию первого дефиса («-«) в строке, а ЛЕВСИМВ извлекает все нужные символы начиная с этой позиции. Вы вычитаете 1 из позиции дефиса, потому что вы не хотите извлекать сам дефис.
- Чтобы извлечь цвет (это все буквы между 1-м и 2-м дефисами), запишите в C2, а затем скопируйте ниже:
=ПСТР(A2; ПОИСК(«-«;A2) + 1; ПОИСК(«-«;A2;ПОИСК(«-«;A2)+1) — ПОИСК(«-«;A2) — 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 быстрых шага:
- Предполагая, что у вас установлен Ultimate Suite , выберите ячейки, которые нужно разделить, и щелкните значок «Разделить текст (Split Text)» на вкладке «Ablebits Data».
- Панель Разделить текст откроется в правой части окна 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, используя различные комбинации функций, а также специальные инструменты. Благодарю вас за чтение и надеюсь увидеть вас в нашем блоге на следующей неделе!
Читайте также:
Содержание
- Способ 1: Использование автоматического инструмента
- Способ 2: Создание формулы разделения текста
- Шаг 1: Разделение первого слова
- Шаг 2: Разделение второго слова
- Шаг 3: Разделение третьего слова
- Вопросы и ответы
Способ 1: Использование автоматического инструмента
В Excel есть автоматический инструмент, предназначенный для разделения текста по столбцам. Он не работает в автоматическом режиме, поэтому все действия придется выполнять вручную, предварительно выбирая диапазон обрабатываемых данных. Однако настройка является максимально простой и быстрой в реализации.
- С зажатой левой кнопкой мыши выделите все ячейки, текст которых хотите разделить на столбцы.
- После этого перейдите на вкладку «Данные» и нажмите кнопку «Текст по столбцам».
- Появится окно «Мастера разделения текста по столбцам», в котором нужно выбрать формат данных «с разделителями». Разделителем чаще всего выступает пробел, но если это другой знак препинания, понадобится указать его в следующем шаге.
- Отметьте галочкой символ разделения или вручную впишите его, а затем ознакомьтесь с предварительным результатом разделения в окне ниже.
- В завершающем шаге можно указать новый формат столбцов и место, куда их необходимо поместить. Как только настройка будет завершена, нажмите «Готово» для применения всех изменения.
- Вернитесь к таблице и убедитесь в том, что разделение прошло успешно.
Из этой инструкции можно сделать вывод, что использование такого инструмента оптимально в тех ситуациях, когда разделение необходимо выполнить всего один раз, обозначив для каждого слова новый столбец. Однако если в таблицу постоянно вносятся новые данные, все время разделять их таким образом будет не совсем удобно, поэтому в таких случаях предлагаем ознакомиться со следующим способом.
Способ 2: Создание формулы разделения текста
В Excel можно самостоятельно создать относительно сложную формулу, которая позволит рассчитать позиции слов в ячейке, найти пробелы и разделить каждое на отдельные столбцы. В качестве примера мы возьмем ячейку, состоящую из трех слов, разделенных пробелами. Для каждого из них понадобится своя формула, поэтому разделим способ на три этапа.
Шаг 1: Разделение первого слова
Формула для первого слова самая простая, поскольку придется отталкиваться только от одного пробела для определения правильной позиции. Рассмотрим каждый шаг ее создания, чтобы сформировалась полная картина того, зачем нужны определенные вычисления.
- Для удобства создадим три новые столбца с подписями, куда будем добавлять разделенный текст. Вы можете сделать так же или пропустить этот момент.
- Выберите ячейку, где хотите расположить первое слово, и запишите формулу
=ЛЕВСИМВ(
. - После этого нажмите кнопку «Аргументы функции», перейдя тем самым в графическое окно редактирования формулы.
- В качестве текста аргумента указывайте ячейку с надписью, кликнув по ней левой кнопкой мыши на таблице.
- Количество знаков до пробела или другого разделителя придется посчитать, но вручную мы это делать не будем, а воспользуемся еще одной формулой —
ПОИСК()
. - Как только вы запишете ее в таком формате, она отобразится в тексте ячейки сверху и будет выделена жирным. Нажмите по ней для быстрого перехода к аргументам этой функции.
- В поле «Искомый_текст» просто поставьте пробел или используемый разделитель, поскольку он поможет понять, где заканчивается слово. В «Текст_для_поиска» укажите ту же обрабатываемую ячейку.
- Нажмите по первой функции, чтобы вернуться к ней, и добавьте в конце второго аргумента
-1
. Это необходимо для того, чтобы формуле «ПОИСК» учитывать не искомый пробел, а символ до него. Как видно на следующем скриншоте, в результате выводится фамилия без каких-либо пробелов, а это значит, что составление формул выполнено правильно. - Закройте редактор функции и убедитесь в том, что слово корректно отображается в новой ячейке.
- Зажмите ячейку в правом нижнем углу и перетащите вниз на необходимое количество рядов, чтобы растянуть ее. Так подставляются значения других выражений, которые необходимо разделить, а выполнение формулы происходит автоматически.
Полностью созданная формула имеет вид =ЛЕВСИМВ(A1;ПОИСК(" ";A1)-1)
, вы же можете создать ее по приведенной выше инструкции или вставить эту, если условия и разделитель подходят. Не забывайте заменить обрабатываемую ячейку.
Шаг 2: Разделение второго слова
Самое трудное — разделить второе слово, которым в нашем случае является имя. Связано это с тем, что оно с двух сторон окружено пробелами, поэтому придется учитывать их оба, создавая массивную формулу для правильного расчета позиции.
- В этом случае основной формулой станет
=ПСТР(
— запишите ее в таком виде, а затем переходите к окну настройки аргументов. - Данная формула будет искать нужную строку в тексте, в качестве которого и выбираем ячейку с надписью для разделения.
- Начальную позицию строки придется определять при помощи уже знакомой вспомогательной формулы
ПОИСК()
. - Создав и перейдя к ней, заполните точно так же, как это было показано в предыдущем шаге. В качестве искомого текста используйте разделитель, а ячейку указывайте как текст для поиска.
- Вернитесь к предыдущей формуле, где добавьте к функции «ПОИСК»
+1
в конце, чтобы начинать счет со следующего символа после найденного пробела. - Сейчас формула уже может начать поиск строки с первого символа имени, но она пока еще не знает, где его закончить, поэтому в поле «Количество_знаков» снова впишите формулу
ПОИСК()
. - Перейдите к ее аргументам и заполните их в уже привычном виде.
- Ранее мы не рассматривали начальную позицию этой функции, но теперь там нужно вписать тоже
ПОИСК()
, поскольку эта формула должна находить не первый пробел, а второй. - Перейдите к созданной функции и заполните ее таким же образом.
- Возвращайтесь к первому
"ПОИСКУ"
и допишите в «Нач_позиция»+1
в конце, ведь для поиска строки нужен не пробел, а следующий символ. - Кликните по корню
=ПСТР
и поставьте курсор в конце строки «Количество_знаков». - Допишите там выражение
-ПОИСК(" ";A1)-1)
для завершения расчетов пробелов. - Вернитесь к таблице, растяните формулу и удостоверьтесь в том, что слова отображаются правильно.
Формула получилась большая, и не все пользователи понимают, как именно она работает. Дело в том, что для поиска строки пришлось использовать сразу несколько функций, определяющих начальные и конечные позиции пробелов, а затем от них отнимался один символ, чтобы в результате эти самые пробелы не отображались. В итоге формула такая: =ПСТР(A1;ПОИСК(" ";A1)+1;ПОИСК(" ";A1;ПОИСК(" ";A1)+1)-ПОИСК(" ";A1)-1)
. Используйте ее в качестве примера, заменяя номер ячейки с текстом.
Шаг 3: Разделение третьего слова
Последний шаг нашей инструкции подразумевает разделение третьего слова, что выглядит примерно так же, как это происходило с первым, но общая формула немного меняется.
- В пустой ячейке для расположения будущего текста напишите
=ПРАВСИМВ(
и перейдите к аргументам этой функции. - В качестве текста указывайте ячейку с надписью для разделения.
- В этот раз вспомогательная функция для поиска слова называется
ДЛСТР(A1)
, где A1 — та же самая ячейка с текстом. Эта функция определяет количество знаков в тексте, а нам останется выделить только подходящие. - Для этого добавьте
-ПОИСК()
и перейдите к редактированию этой формулы. - Введите уже привычную структуру для поиска первого разделителя в строке.
- Добавьте для начальной позиции еще один
ПОИСК()
. - Ему укажите ту же самую структуру.
- Вернитесь к предыдущей формуле «ПОИСК».
- Прибавьте для его начальной позиции
+1
. - Перейдите к корню формулы
ПРАВСИМВ
и убедитесь в том, что результат отображается правильно, а уже потом подтверждайте внесение изменений. Полная формула в этом случае выглядит как=ПРАВСИМВ(A1;ДЛСТР(A1)-ПОИСК(" ";A1;ПОИСК(" ";A1)+1))
. - В итоге на следующем скриншоте вы видите, что все три слова разделены правильно и находятся в своих столбцах. Для этого пришлось использовать самые разные формулы и вспомогательные функции, но это позволяет динамически расширять таблицу и не беспокоиться о том, что каждый раз придется разделять текст заново. По необходимости просто расширяйте формулу путем ее перемещения вниз, чтобы следующие ячейки затрагивались автоматически.
Еще статьи по данной теме:
Помогла ли Вам статья?
Разделение текста по столбцам с помощью функций
Excel для Microsoft 365 Excel для Microsoft 365 для Mac Excel для Интернета Excel 2021 Excel 2021 для Mac Excel 2019 Excel 2019 для Mac Excel 2016 Excel 2016 для Mac Excel 2013 Excel Web App Excel 2010 Excel 2007 Excel для Mac 2011 Еще…Меньше
Для управления строками текста в данных можно использовать текстовые функции LEFT, MID, RIGHT, SEARCH и LEN. Например, можно распределить имя, середину и фамилию из одной ячейки в три отдельных столбца.
Для распределения компонентов имен с текстовыми функциями важно положение каждого символа в текстовой строке. Позиции пробелов в текстовой строке также важны, поскольку они указывают на начало или конец компонентов имени в строке.
Например, в ячейке, содержавшей только имя и фамилию, фамилия начинается после первого висячего пробела. Некоторые имена в списке могут содержать от среднее имя, в этом случае фамилия начинается после второго пробела.
В этой статье показано, как извлекать компоненты из различных форматов имен с помощью этих удобных функций. Текст также можно разделить на разные столбцы с помощью мастера преобразования текста в столбцы.
Имя примера |
Описание |
Имя |
От имени |
Фамилия |
Суффикс |
|
1 |
Иван Иванов |
От имени нет |
Евгений |
Климов |
||
2 |
Сергей Куймина |
Один средний начальный |
Эрик |
S. |
Керуаля |
|
3 |
Янина Б. Г. Bueno |
Два средних инициала |
Янина |
B. Г. |
Bueno |
|
4 |
Кана, Венди Йет |
Фамилия с запятой |
Венди |
Бет |
Кан |
|
5 |
Mary Kay D. Andersen |
Имя, в которое входит две части |
Mary Kay |
D. |
Волкова |
|
6 |
ПолуА Бэрето де Матто |
Фамилия из трех части |
Паула |
Ермно-де-Матто |
||
7 |
Г-н Муксон (James van Eaton) |
Фамилия с двумя частьми |
Джеймс |
van Eaton |
||
8 |
Бейон мл., Дэн К. |
Фамилия и суффикс с запятой |
Дэн |
K. |
Бекон |
Младший. |
9 |
Борис Заметьев III |
С суффиксом |
Гэри |
Альтман |
Iii |
|
10 |
Г-н Артем Ихигов |
С префиксом |
Райан |
Ihrig |
||
11 |
Джулия Taft-Rider |
Фамилия с дефисами |
Покровская |
Taft-Rider |
Примечание: На рисунках в следующих примерах выделение в полном имени показывает символ, который ищется в формуле ПОИСК.
В этом примере разделяется два компонента: имя и фамилия. Два имени отделены одним пробелом.
Скопируйте ячейки таблицы и в таблицу Excel ячейку A1. Формула слева будет отображаться для справки, а Excel автоматически преобразует формулу справа в соответствующий результат.
Совет. Перед тем как врезать данные в таблицу, установите для столбцов A и B ширину 250.
Имя примера |
Описание |
Иван Иванов |
От имени нет |
Формула |
Результат (имя) |
‘=ЛЕВЫЙ(A2; ПОИСК(» «;A2;1)) |
=ЛЕВЫЙ(A2; ПОИСК(» «;A2;1)) |
Формула |
Результат (фамилия) |
‘=ПРАВАЯ(A2;LEN(A2)-SEARCH(» «;A2;1)) |
=ПРАВБ(A2;LEN(A2)-SEARCH(» «;A2;1)) |
-
Имя
Имя начинается с первого знака в строке (Ю) и заканчивается пятым знаком (пробелом). Формула возвращает пять знаков в ячейке A2, начиная слева.
Для поиска значения «число_знаков» следует воспользоваться функцией ПОИСК.
Найдите позицию пробела в A2, начиная слева.
-
Фамилия
Фамилия отделена от имени пробелом, начинается с пятого знака справа и заканчивается первым знаком справа (а). Формула извлекает в A2 пять знаков справа.
Для поиска значения «число_знаков» следует воспользоваться функцией ПОИСК и ДЛСТР.
Найдите позицию пробела в A2, начиная слева. (5)
-
Подсчитайте общую длину текстовой строки, а затем вычтите количество знаков слева до первого пробела, найденное в пункте 1.
В этом примере используются имя, отс. инициал и фамилия. Каждый компонент имен разделяется пробелом.
Скопируйте ячейки таблицы и в таблицу Excel ячейку A1. Формула слева будет отображаться для справки, а Excel автоматически преобразует формулу справа в соответствующий результат.
Совет. Перед тем как врезать данные в таблицу, установите для столбцов A и B ширину 250.
Имя примера |
Описание |
Сергей Куймина |
Один средний начальный |
Формула |
Результат (имя) |
‘=ЛЕВЫЙ(A2; ПОИСК(» «;A2;1)) |
=ЛЕВЫЙ(A2; ПОИСК(» «;A2;1)) |
Формула |
Результат (средний начальный) |
‘=MID(A2;ПОИСК(» «;A2;1)+1;ПОИСК(» «;A2;ПОИСК(» «;A2;1)+1)-SEARCH(» «;A2;1)) |
=MID(A2;ПОИСК(» «;A2;1)+1;ПОИСК(» «;A2;ПОИСК(» «;A2;1)+1)-ПОИСК(» «;A2;1)) |
Формула |
Live Result (фамилия) |
‘=ПРАВАЯ(A2;LEN(A2)-SEARCH(» «;A2;ПОИСК(» «;A2;1)+1)) |
=ПРАВАЯ(A2;LEN(A2)-SEARCH(» «;A2;ПОИСК(» «;A2;1)+1)) |
-
Имя
Имя начинается с первого знака слева (E) и заканчивается пятым (первым пробелом). Формула извлекает первые пять знаков в A2, начиная слева.
Для поиска значения «число_знаков» следует воспользоваться функцией ПОИСК.
Найдите позицию пробела в A2, начиная слева. (5)
-
От имени
От второе имя начинается с шестой позиции (S) и заканчивается в 1-й позиции (второй пробел). Эта формула включает вложенные функции ПОИСК для поиска второго экземпляра пробела.
Формула извлекает три знака, начиная с шестой позиции.
Для поиска значения «начальная_позиция» следует воспользоваться функцией ПОИСК:
Поищите позицию первого пробела в A2, начиная с первого знака слева. (5).
-
Чтобы получить позицию знака после первого пробела (S), добавьте 1. Эта позиция является начальной позицией от имени. (5 + 1 = 6)
Для поиска значения «число_знаков» следует воспользоваться вложенной функцией ПОИСК.
Поищите позицию первого пробела в A2, начиная с первого знака слева. (5)
-
Чтобы получить позицию знака после первого пробела (S), добавьте 1. Результат — это номер символа, с которого нужно начать поиск второго пробела. (5 + 1 = 6)
-
Поиск второго пробела в A2, начиная с шестой позиции (S), найденной в шаге 4. Этот номер знака является конечной позицией от имени. (8)
-
Поищите позицию пробела в A2, начиная с первого знака слева. (5)
-
Возьмите номер знака второго пробела, найденного на шаге 5, и вычитайте номер первого пробела, найденного на шаге 6. Результатом является количество символов, извлекаемых СТП из текстовой строки, начиная с шестой позиции, найденной на шаге 2. (8 –5 = 3)
-
Фамилия
Фамилия начинается с шести знаков справа (K) и заканчивается первым знаком справа (n). Эта формула включает вложенные функции ПОИСК для поиска второго и третьего экземпляров пробела (которые находятся на пятой и пятой позициях слева).
Формула извлекает шесть знаков в A2, начиная с правого.
-
Используйте функции LEN и вложенные функции ПОИСК, чтобы найти значение для num_chars:
Поищите позицию пробела в A2, начиная с первого знака слева. (5)
-
Чтобы получить позицию знака после первого пробела (S), добавьте 1. Результат — это номер символа, с которого нужно начать поиск второго пробела. (5 + 1 = 6)
-
Поиск второго пробела в A2, начиная с шестой позиции (S), найденной в шаге 2. Этот номер знака является конечной позицией от имени. (8)
-
Подсчитайте общую длину текстовой строки в A2 и вычитайте количество знаков слева до второго пробела, найденного на шаге 3. Результат — количество символов, извлекаемого справа от полного имени. (14 – 8 = 6).
Вот пример того, как извлечь два средних инициала. Компоненты имен отделяют первый и третий пробелы.
Скопируйте ячейки таблицы и в таблицу Excel ячейку A1. Формула слева будет отображаться для справки, а Excel автоматически преобразует формулу справа в соответствующий результат.
Совет. Перед тем как врезать данные в таблицу, установите для столбцов A и B ширину 250.
Имя примера |
Описание |
Янина Б. Г. Bueno |
Два средних инициала |
Формула |
Результат (имя) |
‘=ЛЕВЫЙ(A2; ПОИСК(» «;A2;1)) |
=ЛЕВЫЙ(A2; ПОИСК(» «;A2;1)) |
Формула |
Результат (средние инициалы) |
‘=MID(A2;ПОИСК(» «;A2;1)+1;ПОИСК(» «;A2;ПОИСК(» «;A2;ПОИСК(» «;A2;1)+1)+1)-ПОИСК(» «;A2;1)) |
=MID(A2;ПОИСК(» «;A2;1)+1;ПОИСК(» «;A2;ПОИСК(» «;A2;ПОИСК(» «;A2;1)+1)-ПОИСК(» «;A2;1))-ПОИСК(» «;A2;1)) |
Формула |
Live Result (фамилия) |
‘=ПРАВАЯ(A2;LEN(A2)-SEARCH(» «;A2;ПОИСК(» «;A2;ПОИСК(» «;A2;1)+1)+1)) |
=ПРАВАЯ(A2;LEN(A2)-SEARCH(» «;A2;ПОИСК(» «;A2;ПОИСК(» «;A2;1)+1)+1)) |
-
Имя
Первое имя начинается с первого знака слева (J) и заканчивается символом слева (первый пробел). Формула извлекает первые восемь знаков в A2, начиная слева.
Для поиска значения «число_знаков» следует воспользоваться функцией ПОИСК.
Наищите позицию первого пробела в A2, начиная слева. (8)
-
От имени
От второе имя начинается с позиций ва (B) и заканчивается 17-й позицией (третий пробел). Эта формула включает вложенную формулу ПОИСК для поиска первого, второго и третьего пробелов в первой, 11-й и 17-й позициях.
Формула извлекает пять знаков, начиная с позиций неавтетной позиции.
Для поиска значения «начальная_позиция» следует воспользоваться функцией ПОИСК:
Поищите позицию первого пробела в A2, начиная с первого знака слева. (8)
-
Чтобы получить позицию знака после первого пробела (B), добавьте 1. Эта позиция является начальной позицией от имени. (8 + 1 = 9)
Для поиска значения «число_знаков» следует воспользоваться вложенной функцией ПОИСК.
Поищите позицию первого пробела в A2, начиная с первого знака слева. (8)
-
Чтобы получить позицию знака после первого пробела (B), добавьте 1. Результат — это номер символа, с которого нужно начать поиск второго пробела. (8 + 1 = 9)
-
Найщите вторую позицию в A2, начиная с позиции в направлении «в» (B), найденной в шаге 4. (11).
-
Чтобы получить позицию знака после второго пробела (G), добавьте 1. Этот номер знака является начальной позицией, с которой нужно начать поиск третьего пробела. (11 + 1 = 12)
-
Поиск третьего пробела в A2, начиная с двенадцатой позиции, найденной в шаге 6. (14)
-
Поищите позицию первого пробела в A2. (8)
-
Возьмите номер третьего пробела, найденного на шаге 7, и вычитайте номер первого пробела, найденного на шаге 6. Результатом является количество символов, извлекаемых СТП из текстовой строки, начиная с позиций, найденной на шаге 2.
-
Фамилия
Фамилия начинается с пяти знаков справа (B) и заканчивается первым знаком справа (o). Эта формула включает вложенную формулу ПОИСК для поиска первого, второго и третьего пробелов.
Формула извлекает пять знаков в A2, начиная справа от полного имени.
Используйте вложенные функции ПОИСК и LEN, чтобы найти значение для num_chars:
Поищите позицию первого пробела в A2, начиная с первого знака слева. (8)
-
Чтобы получить позицию знака после первого пробела (B), добавьте 1. Результат — это номер символа, с которого нужно начать поиск второго пробела. (8 + 1 = 9)
-
Найщите вторую позицию в A2, начиная с позиции в направлении «в» (B), найденной на шаге 2. (11)
-
Чтобы получить позицию знака после второго пробела (G), добавьте 1. Этот номер знака является начальной позицией, с которой нужно начать поиск третьего пробела. (11 + 1 = 12)
-
Поиск третьего пробела в A2, начиная с двенадцатой позиции (G), найденной в шаге 6. (14)
-
Подсчитайте общую длину текстовой строки в A2 и вычитайте количество знаков слева до третьего пробела, найденного на шаге 5. Результат — количество символов, извлекаемого справа от полного имени. (19 – 14 = 5)
В этом примере фамилия стоит перед именем и отчеством. Запятая помегает конец фамилии, а каждый компонент имени отделяется пробелом.
Скопируйте ячейки таблицы и в таблицу Excel ячейку A1. Формула слева будет отображаться для справки, а Excel автоматически преобразует формулу справа в соответствующий результат.
Совет. Перед тем как врезать данные в таблицу, установите для столбцов A и B ширину 250.
Имя примера |
Описание |
Кана, Венди Йет |
Фамилия с запятой |
Формула |
Результат (имя) |
‘=MID(A2;ПОИСК(» «;A2;1)+1;ПОИСК(» «;A2;ПОИСК(» «;A2;1)+1)-SEARCH(» «;A2;1)) |
=MID(A2;ПОИСК(» «;A2;1)+1;ПОИСК(» «;A2;ПОИСК(» «;A2;1)+1)-ПОИСК(» «;A2;1)) |
Формула |
Результат (от имени) |
‘=ПРАВАЯ(A2;LEN(A2)-SEARCH(» «;A2;ПОИСК(» «;A2;1)+1)) |
=ПРАВАЯ(A2;LEN(A2)-SEARCH(» «;A2;ПОИСК(» «;A2;1)+1)) |
Формула |
Live Result (фамилия) |
‘=ЛЕВЫЙ(A2; ПОИСК(» «;A2;1)-2) |
=ЛЕВЫЙ(A2; ПОИСК(» «;A2;1)-2) |
-
Имя
Имя начинается с седьмого знака слева (В) и заканчивается двенадцатым (второй пробел). Поскольку имя оказывается в середине полного имени, для его извлечения необходимо воспользоваться функцией ПСТР.
Формула извлекает шесть знаков, начиная с седьмого знака.
Для поиска значения «начальная_позиция» следует воспользоваться функцией ПОИСК:
Поищите позицию первого пробела в A2, начиная с первого знака слева. (6)
-
Чтобы получить позицию знака после первого пробела (О), добавьте 1. Эта позиция является начальной позицией имени. (6 + 1 = 7)
Для поиска значения «число_знаков» следует воспользоваться вложенной функцией ПОИСК.
Поищите позицию первого пробела в A2, начиная с первого знака слева. (6)
-
Чтобы получить позицию знака после первого пробела (О), добавьте 1. Результатом будет номер знака, с которого нужно начать поиск второго пробела. (6 + 1 = 7)
Поиск второго пробела в A2, начиная с седьмой позиции (W), найденной в шаге 4. (12)
-
Поищите позицию первого пробела в A2, начиная с первого знака слева. (6)
-
Возьмите номер знака второго пробела, найденного на шаге 5, и вычитайте номер первого пробела, найденного на шаге 6. Результатом является количество символов, извлекаемых из текстовой строки, начиная с седьмой позиции, найденной на шаге 2. (12 – 6 = 6)
-
От имени
Отчество начинается с четвертого знака справа (Б) и заканчивается первым знаком справа (т). Для поиска первого и второго пробелов на шестой и двенадцатой позициях слева эта формула включает вложенную функцию ПОИСК.
Формула извлекает четыре знака, начиная справа.
Для поиска значения «начальная_позиция» следует воспользоваться функцией ПОИСК и ДЛСТР:
Поищите позицию первого пробела в A2, начиная с первого знака слева. (6)
-
Чтобы получить позицию знака после первого пробела (О), добавьте 1. Результатом будет номер знака, с которого нужно начать поиск второго пробела. (6 + 1 = 7)
-
Поиск второго пробела в A2, начиная с седьмой позиции (W), найденной на шаге 2. (12)
-
Подсчитайте общую длину текстовой строки в A2 и вычитайте количество знаков слева до второго пробела, найденного на шаге 3. Результат — количество символов, извлекаемого справа от полного имени. (16 – 12 = 4)
-
Фамилия
Фамилия начинается с первого знака слева (К) и заканчивается четвертым знаком (н). Эта формула извлекает четыре знака, начиная слева.
Для поиска значения «число_знаков» следует воспользоваться функцией ПОИСК.
Поищите позицию первого пробела в A2, начиная с первого знака слева. (6)
-
Вычитать 2, чтобы получить позицию последнего знака фамилии (n). Результатом будет количество символов, извлекаемых с левой стороной. (6 – 2 =4)
В этом примере используется имя из двух части — Mary Kay. Каждый компонент имен разделяется вторым и третьим пробелами.
Скопируйте ячейки таблицы и в таблицу Excel ячейку A1. Формула слева будет отображаться для справки, а Excel автоматически преобразует формулу справа в соответствующий результат.
Совет. Перед тем как врезать данные в таблицу, установите для столбцов A и B ширину 250.
Имя примера |
Описание |
Mary Kay D. Andersen |
Имя, в которое входит две части |
Формула |
Результат (имя) |
ЛЕВ ЛЕВЫЙ(A2; ПОИСК(» «;A2;ПОИСК(» «;A2;1)+1)) |
=ЛЕВЫЙ(A2; ПОИСК(» «;A2;ПОИСК(» «;A2;1)+1)) |
Формула |
Результат (средний начальный) |
‘=MID(A2;ПОИСК(» «;A2;ПОИСК(» «;A2;1)+1)+1;ПОИСК(» «;A2;ПОИСК(» «;A2;ПОИСК(» «;A2;1)+1)+1)-(ПОИСК(» «;A2;ПОИСК(» «;A2;1)+1)) |
=MID(A2;ПОИСК(» «;A2;ПОИСК(» «;A2;1)+1)+1;ПОИСК(» «;A2;ПОИСК(» «;A2;ПОИСК(» «;A2;1)+1)+1)-(ПОИСК(» «;A2;ПОИСК(» «;A2;1)+1)) |
Формула |
Live Result (фамилия) |
‘=ПРАВАЯ(A2;LEN(A2)-SEARCH(» «;A2;ПОИСК(» «;A2;ПОИСК(» «;A2;1)+1)+1)) |
=ПРАВАЯ(A2;LEN(A2)-SEARCH(» «;A2;ПОИСК(» «;A2;ПОИСК(» «;A2;1)+1)+1)) |
-
Имя
Первое имя начинается с первого знака слева и заканчивается знаком слева (второй пробел). Эта формула включает вложенный поиск, чтобы найти второй пробел слева.
Формула извлекает девять знаков, начиная слева.
Для поиска значения «число_знаков» следует воспользоваться вложенной функцией ПОИСК.
Поищите позицию первого пробела в A2, начиная с первого знака слева. (5)
-
Чтобы получить позицию знака после первого пробела (К), добавьте 1. Результат — это номер символа, с которого нужно начать поиск второго пробела. (5 + 1 = 6)
-
Поиск второго пробела в A2, начиная с шестой позиции (K), найденной на шаге 2. Результат — количество символов, извлекаемых левеем из текстовой строки. (9)
-
От имени
От второе имя начинается с десятой позиции (D) и заканчивается двенадцатой (третий пробел). Эта формула включает вложенную формулу ПОИСК для поиска первого, второго и третьего пробелов.
Формула извлекает два знака из середины, начиная с десятой позиции.
Используйте вложенные функции ПОИСК, чтобы найти значение для start_num:
Поищите позицию первого пробела в A2, начиная с первого знака слева. (5)
-
Добавьте 1, чтобы получить символ после первого пробела (K). Результатом будет номер знака, с которого нужно начать поиск второго пробела. (5 + 1 = 6)
-
Поищите позицию второго пробела в A2, начиная с шестой позиции (K), найденной на шаге 2. Результат — количество символов, извлекаемых левее. (9)
-
Добавьте 1, чтобы получить символ после второго пробела (D). Результат — начальная позиция от имени. (9 + 1 = 10)
Для поиска значения «число_знаков» следует воспользоваться вложенной функцией ПОИСК.
Поищите позицию знака после второго пробела (D). Результатом будет номер знака, с которого вы хотите начать поиск третьего пробела. (10)
-
Наищите позицию третьего пробела в A2, начиная слева. Результат — конечная позиция от имени. (12)
-
Поищите позицию знака после второго пробела (D). Результат — начальная позиция от имени. (10)
-
Возьмите номер третьего пробела, найденного на шаге 6, и вычитайте номер знака «D», найденный на шаге 7. Результатом является количество символов, извлекаемых СТП из текстовой строки, начиная с десятой позиции, найденной в шаге 4. (12 – 10 = 2)
-
Фамилия
Фамилия начинается с восьми знаков справа. Эта формула включает вложенный поиск для поиска первого, второго и третьего пробелов на пятой, четвертой, четвертой и двенадцатой позициях.
Формула извлекает восемь знаков справа.
Используйте вложенные функции ПОИСК и LEN, чтобы найти значение для num_chars:
Наищите позицию первого пробела в A2, начиная слева. (5)
-
Добавьте 1, чтобы получить символ после первого пробела (K). Результат — это номер символа, с которого нужно начать поиск пробела. (5 + 1 = 6)
-
Поиск второго пробела в A2, начиная с шестой позиции (K), найденной на шаге 2. (9)
-
Чтобы получить позицию знака после второго пробела (D), добавьте 1. Результат — начальная позиция от имени. (9 + 1 = 10)
-
Наищите позицию третьего пробела в A2, начиная слева. Результат — конечная позиция от имени. (12)
-
Подсчитайте общую длину текстовой строки в A2 и вычитайте количество знаков слева до третьего пробела, найденного на шаге 5. Результат — количество символов, извлекаемого справа от полного имени. (20 – 12 =
В этом примере используется фамилия из трех части: Ермолето де Матто. Первый пробел пометит конец имени и начало фамилии.
Скопируйте ячейки таблицы и в таблицу Excel ячейку A1. Формула слева будет отображаться для справки, а Excel автоматически преобразует формулу справа в соответствующий результат.
Совет. Перед тем как врезать данные в таблицу, установите для столбцов A и B ширину 250.
Имя примера |
Описание |
ПолуА Бэрето де Матто |
Фамилия из трех части |
Формула |
Результат (имя) |
‘=ЛЕВЫЙ(A2; ПОИСК(» «;A2;1)) |
=ЛЕВЫЙ(A2; ПОИСК(» «;A2;1)) |
Формула |
Результат (фамилия) |
ПРАВБ(A2;LEN(A2)-ПОИСК(» «;A2;1)) |
=ПРАВБ(A2;LEN(A2)-SEARCH(» «;A2;1)) |
-
Имя
Имя начинается с первого знака слева (P) и заканчивается шестым (первый пробел). Формула извлекает шесть знаков слева.
Чтобы найти значение для num_chars, используйте функцию Num_chars.
Наищите позицию первого пробела в A2, начиная слева. (6)
-
Фамилия
Фамилия начинает символы справа (B) и заканчивается первым знаком справа (s). Формула извлекает символы справа.
Чтобы найти значение для num_chars, используйте функции LEN и NUM_CHARS.
Наищите позицию первого пробела в A2, начиная слева. (6)
-
Подсчитайте общую длину текстовой строки в A2 и вычитайте количество знаков слева до первого пробела, найденного на шаге 1. Результат — количество символов, извлекаемого справа от полного имени. (23 – 6 = 17)
В этом примере используется фамилия из двух видов: van Eaton. Первый пробел пометит конец имени и начало фамилии.
Скопируйте ячейки таблицы и в таблицу Excel ячейку A1. Формула слева будет отображаться для справки, а Excel автоматически преобразует формулу справа в соответствующий результат.
Совет. Перед тем как врезать данные в таблицу, установите для столбцов A и B ширину 250.
Имя примера |
Описание |
Г-н Муксон (James van Eaton) |
Фамилия с двумя частьми |
Формула |
Результат (имя) |
‘=ЛЕВЫЙ(A2; ПОИСК(» «;A2;1)) |
=ЛЕВЫЙ(A2; ПОИСК(» «;A2;1)) |
Формула |
Результат (фамилия) |
‘=ПРАВАЯ(A2;LEN(A2)-SEARCH(» «;A2;1)) |
=ПРАВБ(A2;LEN(A2)-SEARCH(» «;A2;1)) |
-
Имя
Первое имя начинается с первого знака слева (J) и заканчивается символом слева (первый пробел). Формула извлекает шесть знаков слева.
Для поиска значения «число_знаков» следует воспользоваться функцией ПОИСК.
Наищите позицию первого пробела в A2, начиная слева. (6)
-
Фамилия
Фамилия начинается с символа справа (v) и заканчивается первым знаком справа (n). Формула извлекает девять знаков справа от полного имени.
Чтобы найти значение для num_chars, используйте функции LEN и NUM_CHARS.
Наищите позицию первого пробела в A2, начиная слева. (6)
-
Подсчитайте общую длину текстовой строки в A2 и вычитайте количество знаков слева до первого пробела, найденного на шаге 1. Результат — количество символов, извлекаемого справа от полного имени. (15 – 6 = 9)
В этом примере фамилия будет первой, а за ней — суффикс. Запятая отделяет фамилию и суффикс от имени и от среднего инициалов.
Скопируйте ячейки таблицы и в таблицу Excel ячейку A1. Формула слева будет отображаться для справки, а Excel автоматически преобразует формулу справа в соответствующий результат.
Совет. Перед тем как врезать данные в таблицу, установите для столбцов A и B ширину 250.
Имя примера |
Описание |
Бейон мл., Дэн К. |
Фамилия и суффикс с запятой |
Формула |
Результат (имя) |
‘=MID(A2;ПОИСК(» «;A2;ПОИСК(» «;A2;1)+1)+1;ПОИСК(» «;A2;ПОИСК(» «;A2;ПОИСК(» «;A2;1)+1)+1)-SEARCH(» «;A2;ПОИСК(» «;A2;1)+1)) |
=MID(A2;ПОИСК(» «;A2;ПОИСК(» «;A2;1)+1)+1;ПОИСК(» «;A2;ПОИСК(» «;A2;ПОИСК(» «;A2;1)+1)-SEARCH(» «;A2;1)-SEARCH(» «;A2;1))) |
Формула |
Результат (средний начальный) |
‘=ПРАВАЯ(A2;LEN(A2)-SEARCH(» «;A2;ПОИСК(» «;A2;ПОИСК(» «;A2;1)+1)+1)) |
=ПРАВАЯ(A2;LEN(A2)-SEARCH(» «;A2;ПОИСК(» «;A2;ПОИСК(» «;A2;1)+1)+1)) |
Формула |
Результат (фамилия) |
‘=ЛЕВЫЙ(A2; ПОИСК(» «;A2;1)) |
=ЛЕВЫЙ(A2; ПОИСК(» «;A2;1)) |
Формула |
Результат (суффикс) |
‘=MID(A2;ПОИСК(» «; A2;1)+1;(ПОИСК(» «;A2;ПОИСК(» «;A2;1)+1)-2)-SEARCH(» «;A2;1)) |
=MID(A2;ПОИСК(» «; A2;1)+1;(ПОИСК(» «;A2;ПОИСК(» «;A2;1)+1)-2)-SEARCH(» «;A2;1)) |
-
Имя
Имя начинается с двенадцатого знака (D) и заканчивается 15-м (третий пробел). Формула извлекает три знака, начиная с двенадцатой позиции.
Используйте вложенные функции ПОИСК, чтобы найти значение для start_num:
Наищите позицию первого пробела в A2, начиная слева. (6)
-
Добавьте 1, чтобы получить символ после первого пробела (J). Результатом будет номер знака, с которого нужно начать поиск второго пробела. (6 + 1 = 7)
-
Найщите вторую позицию в A2, начиная с седьмой позиции (J), найденной на шаге 2. (11)
-
Добавьте 1, чтобы получить символ после второго пробела (D). Результатом является начальная позиция имени. (11 + 1 = 12)
Для поиска значения «число_знаков» следует воспользоваться вложенной функцией ПОИСК.
Поищите позицию знака после второго пробела (D). Результатом будет номер знака, с которого вы хотите начать поиск третьего пробела. (12)
-
Наищите позицию третьего пробела в A2, начиная слева. Результат — конечная позиция имени. (15)
-
Поищите позицию знака после второго пробела (D). Результат — начальная позиция имени. (12)
-
Возьмите номер третьего пробела, найденного на шаге 6, и вычитайте номер знака «D», найденный на шаге 7. Результатом является количество символов, извлекаемого с позиции, которая начинается с двенадцатой строки, найденной в шаге 4. (15 – 12 = 3)
-
От имени
От второе имя начинается со второго знака справа (K). Формула извлекает два знака справа.
Наищите позицию первого пробела в A2, начиная слева. (6)
-
Добавьте 1, чтобы получить символ после первого пробела (J). Результатом будет номер знака, с которого нужно начать поиск второго пробела. (6 + 1 = 7)
-
Найщите вторую позицию в A2, начиная с седьмой позиции (J), найденной на шаге 2. (11)
-
Добавьте 1, чтобы получить символ после второго пробела (D). Результатом является начальная позиция имени. (11 + 1 = 12)
-
Наищите позицию третьего пробела в A2, начиная слева. Результат — конечная позиция от имени. (15)
-
Подсчитайте общую длину текстовой строки в A2 и вычитайте количество знаков слева до третьего пробела, найденного на шаге 5. Результат — количество символов, извлекаемого справа от полного имени. (17 – 15 = 2)
-
Фамилия
Фамилия начинается с первого знака слева (B) и заканчивается шестым (первый пробел). Поэтому формула извлекает шесть знаков слева.
Для поиска значения «число_знаков» следует воспользоваться функцией ПОИСК.
Наищите позицию первого пробела в A2, начиная слева. (6)
-
Суффикс
Суффикс начинается с седьмого знака слева (J) и заканчивается символом слева (.). Формула извлекает три знака, начиная с седьмого.
Для поиска значения «начальная_позиция» следует воспользоваться функцией ПОИСК:
Наищите позицию первого пробела в A2, начиная слева. (6)
-
Добавьте 1, чтобы получить символ после первого пробела (J). Результат — начальная позиция суффикса. (6 + 1 = 7)
Для поиска значения «число_знаков» следует воспользоваться вложенной функцией ПОИСК.
Наищите позицию первого пробела в A2, начиная слева. (6)
-
Добавьте 1, чтобы получить позицию символа после первого пробела (J). Результатом будет номер знака, с которого нужно начать поиск второго пробела. (7)
-
Поищите позицию второго пробела в A2, начиная с седьмого знака, найденного в шаге 4. (11)
-
Вычитать 1 из номера знака второго пробела, найденного в шаге 4, чтобы получить номер знака «,». Результат — конечная позиция суффикса. (11 — 1 = 10)
-
Поищите позицию первого пробела в числе. (6)
-
Найдя первый пробел, добавьте 1, чтобы найти следующий символ (J), который также находится в шагах 3 и 4. (7)
-
Возьмите номер знака «», найденный на шаге 6, и вычитайте номер символа «J», найденный в шагах 3 и 4. Результатом является количество символов, извлекаемых СТП из текстовой строки, начиная с седьмой позиции, найденной в шаге 2. (10 — 7 = 3)
В этом примере первое имя находится в начале строки, а суффикс — в конце, поэтому можно использовать формулы, похожие на пример 2. Для извлечения имени используйте функцию ЛЕВША, для извлечения фамилии — функцию MID, а для извлечения суффикса — функцию ПРАВБ.
Скопируйте ячейки таблицы и в таблицу Excel ячейку A1. Формула слева будет отображаться для справки, а Excel автоматически преобразует формулу справа в соответствующий результат.
Совет. Перед тем как врезать данные в таблицу, установите для столбцов A и B ширину 250.
Имя примера |
Описание |
Борис Заметьев III |
Имя и фамилия с суффиксом |
Формула |
Результат (имя) |
‘=ЛЕВЫЙ(A2; ПОИСК(» «;A2;1)) |
=ЛЕВЫЙ(A2; ПОИСК(» «;A2;1)) |
Формула |
Результат (фамилия) |
‘=MID(A2;ПОИСК(» «;A2;1)+1;ПОИСК(» «;A2;ПОИСК(» «;A2;1)+1)-(ПОИСК(» «;A2;1)+1)) |
=MID(A2;ПОИСК(» «;A2;1)+1;ПОИСК(» «;A2;ПОИСК(» «;A2;1)+1)-(ПОИСК(» «;A2;1)+1)) |
Формула |
Результат (суффикс) |
‘=ПРАВАЯ(A2;LEN(A2)-SEARCH(» «;A2;ПОИСК(» «;A2;1)+1)) |
=ПРАВАЯ(A2;LEN(A2)-SEARCH(» «;A2;ПОИСК(» «;A2;1)+1)) |
-
Имя
Имя начинается с первого знака слева (G) и заканчивается пятым (первый пробел). Поэтому формула извлекает пять знаков слева от полного имени.
Наищите позицию первого пробела в A2, начиная слева. (5)
-
Фамилия
Фамилия начинается с шестого знака слева (A) и заканчивается одиннадцатым (второй пробел). Эта формула включает вложенный поиск для поиска позиций пробелов.
Формула извлекает шесть знаков из середины начиная с шестого.
Для поиска значения «начальная_позиция» следует воспользоваться функцией ПОИСК:
Наищите позицию первого пробела в A2, начиная слева. (5)
-
Чтобы получить позицию знака после первого пробела (A), добавьте 1. Результат — начальная позиция фамилии. (5 + 1 = 6)
Для поиска значения «число_знаков» следует воспользоваться вложенной функцией ПОИСК.
Наищите позицию первого пробела в A2, начиная слева. (5)
-
Чтобы получить позицию знака после первого пробела (A), добавьте 1. Результатом будет номер знака, с которого нужно начать поиск второго пробела. (5 + 1 = 6)
-
Поищите позицию второго пробела в A2, начиная с шестого знака, найденного в шаге 4. Этот номер знака является конечной позицией фамилии. (12)
-
Поищите позицию первого пробела в числе. (5)
-
Добавьте 1, чтобы найти позицию знака после первого пробела (A), также найденного в шагах 3 и 4. (6)
-
Возьмите номер второго пробела, найденного на шаге 5, и вычитайте номер знака «A», найденный в шагах 6 и 7. Результатом является количество символов, извлекаемых из текстовой строки, начиная с шестой позиции, найденной на шаге 2. (12 – 6 = 6)
-
Суффикс
Суффикс начинается с трех знаков справа. Эта формула включает вложенный поиск для поиска позиций пробелов.
Используйте вложенные функции ПОИСК и LEN, чтобы найти значение для num_chars:
Наищите позицию первого пробела в A2, начиная слева. (5)
-
Добавьте 1, чтобы получить символ после первого пробела (A). Результатом будет номер знака, с которого нужно начать поиск второго пробела. (5 + 1 = 6)
-
Поиск второго пробела в A2, начиная с шестой позиции (A), найденной на шаге 2. (12)
-
Подсчитайте общую длину текстовой строки в A2 и вычитайте количество знаков слева до второго пробела, найденного на шаге 3. Результат — количество символов, извлекаемого справа от полного имени. (15 – 12 = 3)
В этом примере перед полным именем предшествует префикс, и вы используете формулы, аналогичные примеру 2: функция MID для извлечения имени, функция ПРАВБ для извлечения фамилии.
Скопируйте ячейки таблицы и в таблицу Excel ячейку A1. Формула слева будет отображаться для справки, а Excel автоматически преобразует формулу справа в соответствующий результат.
Совет. Перед тем как врезать данные в таблицу, установите для столбцов A и B ширину 250.
Имя примера |
Описание |
Г-н Артем Ихигов |
С префиксом |
Формула |
Результат (имя) |
‘=MID(A2;ПОИСК(» «;A2;1)+1;ПОИСК(» «;A2;ПОИСК(» «;A2;1)+1)-(ПОИСК(» «;A2;1)+1)) |
=MID(A2;ПОИСК(» «;A2;1)+1;ПОИСК(» «;A2;ПОИСК(» «;A2;1)+1)-(ПОИСК(» «;A2;1)+1)) |
Формула |
Результат (фамилия) |
‘=ПРАВАЯ(A2;LEN(A2)-SEARCH(» «;A2;ПОИСК(» «;A2;1)+1)) |
=ПРАВАЯ(A2;LEN(A2)-SEARCH(» «;A2;ПОИСК(» «;A2;1)+1)) |
-
Имя
Первое имя начинается с пятого знака слева (R) и заканчивается символом второго знака (второй пробел). Формула вложена в поиск, чтобы найти позиции пробелов. Он извлекает четыре знака, начиная с пятой позиции.
Чтобы найти значение для запроса, воспользуйтесь функцией START_NUM.
Наищите позицию первого пробела в A2, начиная слева. (4)
-
Чтобы получить позицию знака после первого пробела (R), добавьте 1. Результатом является начальная позиция имени. (4 + 1 = 5)
Используйте вложенную функцию ПОИСК, чтобы найти значение для num_chars:
Наищите позицию первого пробела в A2, начиная слева. (4)
-
Чтобы получить позицию знака после первого пробела (R), добавьте 1. Результатом будет номер знака, с которого нужно начать поиск второго пробела. (4 + 1 = 5)
-
Поищите позицию второго пробела в A2, начиная с пятого знака, найденного в шагах 3 и 4. Этот номер знака является конечной позицией имени. (9)
-
Наймем первый пробел. (4)
-
Добавьте 1, чтобы найти позицию знака после первого пробела (R), также найденного в шагах 3 и 4. (5)
-
Возьмите номер второго пробела, найденного на шаге 5, и вычитайте номер знака «R», найденный в шагах 6 и 7. Результатом является количество символов, извлекаемого из текстовой строки, начиная с пятой позиции, найденной на шаге 2. (9 – 5 = 4)
-
Фамилия
Фамилия начинается с пяти знаков справа. Эта формула включает вложенный поиск для поиска позиций пробелов.
Используйте вложенные функции ПОИСК и LEN, чтобы найти значение для num_chars:
Наищите позицию первого пробела в A2, начиная слева. (4)
-
Чтобы получить позицию знака после первого пробела (R), добавьте 1. Результатом будет номер знака, с которого нужно начать поиск второго пробела. (4 + 1 = 5)
-
Поиск второго пробела в A2, начиная с пятой позиции (R), найденной на шаге 2. (9)
-
Подсчитайте общую длину текстовой строки в A2 и вычитайте количество знаков слева до второго пробела, найденного на шаге 3. Результат — количество символов, извлекаемого справа от полного имени. (14 – 9 = 5)
В этом примере используется фамилия с дефисами. Каждый компонент имен разделяется пробелом.
Скопируйте ячейки таблицы и в таблицу Excel ячейку A1. Формула слева будет отображаться для справки, а Excel автоматически преобразует формулу справа в соответствующий результат.
Совет. Перед тем как врезать данные в таблицу, установите для столбцов A и B ширину 250.
Имя примера |
Описание |
Джулия Taft-Rider |
Фамилия с дефисами |
Формула |
Результат (имя) |
‘=ЛЕВЫЙ(A2; ПОИСК(» «;A2;1)) |
=ЛЕВЫЙ(A2; ПОИСК(» «;A2;1)) |
Формула |
Результат (фамилия) |
‘=ПРАВАЯ(A2;LEN(A2)-SEARCH(» «;A2;1)) |
=ПРАВБ(A2;LEN(A2)-SEARCH(» «;A2;1)) |
-
Имя
Имя начинается с первого знака слева и заканчивается на шестой позиции (первый пробел). Формула извлекает шесть знаков слева.
Функция ПОИСК используется для поиска значения num_chars:
Наищите позицию первого пробела в A2, начиная слева. (6)
-
Фамилия
Вся фамилия начинается с десяти знаков справа (T) и заканчивается первым знаком справа (r).
Чтобы найти значение для num_chars, используйте функции LEN и NUM_CHARS.
Поищите позицию пробела в A2, начиная с первого знака слева. (6)
-
Подсчитайте общую длину извлекаемой текстовой строки и вычитайте количество знаков слева до первого пробела, найденного на шаге 1. (16 – 6 = 10)
Нужна дополнительная помощь?
Разделить текст Excel на несколько ячеек.
Смотрите такжеGuestДля звездочки =ПОДСТАВИТЬ(A1;»*»;»») данных не работает Нажмите левую кнопку можно только объединеннуюНо либры у «n», используя регулярные получите работающий пример.
«Спасибо». A As Stringsulfur и знаком - первой закрывающейся квадратной по ячейках другие чтобы знак слешаМожно указать форматЗдесь рассмотрим,: Побольше бы данных,Про артикулы не — надо мыши и протяните ячейку. А самостоятельную,
меня нет. А выражения, но ничегоDragokasm-ch, ещё раз
A = Range(«b2»):То есть выглядит скобки в строке. ищут по содержимому не писался с Ячеек столбцов. Например,как разделить текст в хочется посмотреть из понял… отделить именно цифры(артикул)
границу, устанавливая размер которая не была файл вы выложить не выходит. Вернее,, подскажите пожалуйста, нужно огромное! l = Len(A)VanDerSar42 так: -гол -мяч И к этому ячеек. Ведь выполнять кодом в столбце если вы делите
ячейке Excel на чего код состоит.kim в начале строки, столбца. Ячейки во объединена – нельзя.
не можете. делается не заменаслова, записанные вSeSeSerrr Range(«A3:Z7»).Clear r = , а зачем тут -ворота номеру мы добавляем поиск по текстовой В. столбец на дни несколько ячеек. ..И формат желательно: А кажись понял. а не просто всем листе станут НО как получитьПоэтому ни чем
на перенос строки, одну строку, перенести: 1 For i массивы? Пройдите поНадо чтобы все еще число 2, строке, которая содержится
Копируем формулу по и месяцы, год,
Например, предложение из *.xls Так? первыймассив символов :( одинаковыми. такую таблицу: помочь не могу
а на обычные в строки поSeSeSerrr = 1 To строке, накапливая слово, очень много слов так как нам в ячейке ¬– столбцу. Получится так. то можно указать
первой ячейки разнестиВладимирsergejkovиначе при отсутствииВ Excel можно сделатьДавайте посмотрим на нееФорматирование и редактирование ячеек символы «n».
8 слов, Данные — Текст 10 A = пока не встретите встали каждое в нужен номер символа это также распространеннаяВ столбце С устанавливаем
excel-office.ru
Разделить текст в ячейке Excel по столбцам.
«Формат данных столбца» по словам в: Это я был. : вот теперь так артикула в строке несколько строк из внимательнее, на листе в Excel –Как обратно вернуть… … … по столбцам… Trim(A) k = пробел. Когда встретите
отдельную строку после пробела за потребность пользователей Excel. формат «Дата». Какими — «дата».
несколько других ячеек,Guest
как нужно :) из наименования пропадает одной ячейки. Перечислены Excel. удобный инструмент для
переносы строк вместо … … …Hugo121
InStr(r, A, «
пробел — запишитечто бы получилось: квадратной скобкой. В Их мы и способами установить формат,Нажимаем кнопку «Готово». ФИО, дату, т.д.
: Пишет ИМЯ? спасибо!
первое слово :( улицы в однуЧерта разделяет не одну наглядного представления информации. этого символа? … … …
: Да, я знаю «) A1 = накопленное слово в
-гол
последнем аргументе функция будем использовать для смотрите в статье Получилось так.Например, у насGuest
куда дэньги слатьможет быть есть строку. ячейку, а показывает Такие возможности программыAlex Dark … … …
про эту функцию, Mid(A, r, k)
очередную ячейку и
-мяч вычисляет какое количество разделения строк. «Число Excel. Формат»Так можно разделить текст
есть список с: Вот пример ;) команда, проверяющая символНам нужно сделать несколько границы двух ячеек.
для работы бесценны.: В Excel - … … … но мне надо r = 1 идите по строке-ворота
символов будет содержатьДопустим на лист Excel здесь. из одной ячейки фамилиями, именами вviktturps вопрос про на буквы и строк, чтобы каждая Ячейки выше «разделенной»Значимость оптимальной демонстрации данных Найти — n
excel-office.ru
Как разделить текст по ячейкам формула в Excel
… … … в авто режиме. + k Cells(8 дальше. Идея понятна?Manyasha разделенная строка после были импортированные данныеВ ячейке С27 на большее количество одном столбце. Нам: Вас давно просят *# , *## цифры? улица была написана и ниже объединены объяснять никому неЗаменить на -Держите … … … Постоянно меняются данные + i, 2) Это самый «простой»: разделения, учитывая положение из другой программы.
Как разделить текст на две ячейки Excel
пишем такую формулу. столбцов. Например, здесь нужно написать фамилии четкие критерии кода. пока открыт.sergejkov в одной строке. по строкам. Первый нужно. Давайте посмотрим, Alt и набираете … … … типа 1001-2233-4455-1002, если = A1 next вариант, но есть
postal398 квадратной скобки. Из-за несовместимости структуры =ДАТАЗНАЧ(ПСТР(A27;НАЙТИ(«/»;A27;1)+1;255)) разделили дату отдельно в одном столбце,Из «Подшипник 180202Смысл в том: пример сложных данных:Выделяем ячейку. На вкладке столбец, третий и что можно сделать на цифровой панели … … … всем раскидывать по i и другие, вкладка Данные -Обратите внимание! Что в данных при импорте
Пояснение в формуле. по столбцам –
а имена в генератора» удалится «генератора»,
, что часто9450/4450 ХИЛЛс ДИЕТА
«Выравнивание» нажимаем кнопку
Описание формулы для разделения текста по ячейкам:
четвертый в этой с ячейками в 0010 … … …
- вашему варианту, тоsplit использовать нельзя,вVanDerSar42
- текст по столбцам, нашем примере все некоторые значение изВ формуле написали
- число, месяц, год. другом столбце. Например, Вам так и в конце строки
кон.д/кошек S/D 156гр*24 «Перенос текста». таблице состоят из Microsoft Excel. ИзЗаменить все … … … это долго и программе вообще ничего: Вот же недавно потом функция исходные и разделенные разных категорий были «+1» — этоДля большей наглядности чтобы определить пол нужно? указано количество еиниц5280 ХИЛЛc НБДанные в ячейке автоматически одного столбца. Второй данного урока выНе можете оригинальный … … …
не совсем удобно. не должно быть куча парсеров было:=ТРАНСП() строки имеют разную внесены в одну значит, чтобы в в таблице Excel людей в списке.Guest в упаковке(*6, *24 Корм сух.д/КОТЯТ Курица/овощи распределятся по нескольким столбец – из узнаете о новых файл, нарисуйте свой … … …А теперь быстро связаного с массивами(( Составить программу для. Подробнее только с длину и разное ячейку. Необходимо из ячейке с датой можно выделить некоторые Подробнее об этом
: Работает. Только мне и т.п.) 300гр*6 строкам. двух. возможностях заполнения и пример, наиболее приближенныйзаписать так: и очень удобно:VanDerSar42 определения, сколько раз файлом. количество символов. Именно этой ячейки отделить не был написан строки, столбцы (например, читайте в статье нужно текст отделить,апод # я2806 12589 BritПробуйте, экспериментируйте. Устанавливайте наиболееТаким образом, чтобы разбить форматирования данных в к реальному.… … … из буфера вставил: for — это в заданном текстеSerge_007
exceltable.com
Как разбить текст в ячейке по строкам? (Формулы/Formulas)
поэтому мы называли целые числовые значения. слеш (косая черточка). итоговые) выделить другим
«В Excel по не коды. подразумевал цифры. еще
Care Cat Light удобные для своих нужную ячейку на
рабочих листах.Так в Excel … … … и оно дальше
цикл с заранее
встречается заданное слово
: Варианты:
такую формулу –
Пример таких неправильно«255» — это цветом, разделительной линией. имени определить пол».Есть мысли? бывают варианты /# д/стареющих кошек, склонных читателей форматы. две части, необходимо
Смежные ячейки можно объединить или в LibreOffice
… …
само по нужным
известным количеством итераций.Option Explicit Sub
http://www.excelworld.ru/forum/7-2805-1 гибкой, в начале импортированных данных отображен количество символов, которые Подробнее, смотрите вВыделяем ячейки, текстGuest и /## к полноте всехsergejkov объединить соседние ячейки.
excelworld.ru
Разделить строку на слова и вписать в ячейки
по горизонтали или надо сделать?… … … ячейкам разбежалось. Вам больше подойдет Words_Delimeter() Dim Lhttp://www.excelworld.ru/forum/2-890-1 статьи. Она подходит ниже на рисунке: могут отобразиться в
статье «Разделительная линия в которых нужно: Это не страшно,вот :( пород 7,5кг
: Имеем столбец с В нашем примере по вертикали. ВCyber Freak … … …Правда с этим While или Until As String *
postal398 для любых условийСначала определим закономерность, по ячейке. По факту, строк в таблице
разделить или весь таких позиций неkimПРО ПАК БИСКВИТ подобным содержаним: – сверху и результате получается одна: Если примерно, то … … кодом последние цифры
примерно так: 1, St$, i%,: при решении подобного которой можно определить, отображается столько символов, Excel» тут. столбец. очень много.: Я так понимаю, Смат Риводс Мини0202 Гантеля резиновая снизу. Ту ячейку, ячейка, занимающая сразу каждый текстовый блок… … …
после тире неDo k = Pos%, LastX% Ifpostal398 рода задач. Гибкость что данные из сколько есть в
Можно разделить ячейкуЗаходим на закладке «Данные»Думаю просто их Вы вообще хотите 200гр 150 мм которую нужно разделить, пару столбцов либо имеет 15 строк. … … … прописываются. Пришлось своими InStr(r, A, « [a1] = Empty: придает ей сложная разных категорий, несмотря дате (после слеша). по диагонали и, в раздел «Работа так4 и оставить от них избавиться?kim020543 Кольцо резиновое не объединяем. строк. Информация появляется Между ними также … … «знаниями» (которых вообще «) if k Then MsgBox «ВыSerge_007 комбинация из функций на то, чтоКопируем формулу по в каждой части с данными» иviktturGuest: =ЕСЛИ(ЕЧИСЛО(—ЛЕВСИМВ(A1;1));ЛЕВСИМВ(A1;МИН(ПОИСК(«/»;A1);ПОИСК(» «;A1))-1);A1) 70 ммДля решения данной задачи в центре объединенной есть пустые строки,Cyber Freak нет) дорисовывать код. > 0 then не ввели предложение
, Спасибо. Использовал самый НАЙТИ. Пользователю формулы
они находятся в столбцу. Получится так. написать текст. Читайте,
выбираем функцию «Текст: Пытать Вас, что: Про звездочки вамДля первого столбца.02064 Кольцо резиновое следует выполнить следующий ячейки. но не больше: Здравствуйте!Спасибо ‘выделяем слово из в ячейку A1 простой на мой достаточно определить закономерность одной и тойВнимание! как это сделать,
по столбцам». В ли? Что предпочитаете ведь давно ответили. По аналогии для
80 мм порядок действий:Порядок объединения ячеек в одной.Есть файл вSeSeSerrr
строки end if
!!!»: Exit Sub взгляд вариант. Все и указать их же строке. ВЕсли числа разделены в статье «Как появившемся окне «Мастер — средневековье или
Ответы читали? второго напишите сами?Подскажите пожалуйста:Щелкаем правой кнопкой по
Excel:Приблизительно выглядит это формате txt, в: Если делать кодом Loop While k St = [a1].Value в word, замена в параметрах функций: нашем случае нас не слешем, а разделить ячейку в текстов», в строке электрический стул? :)GuestkimКак разделить цифровой ячейке и выбираемВозьмем небольшую табличку, где так: котором очень много — то тут > 0 For i = пробела на ^p,
будут это квадратные интересуют только числа, другим знаком, то Excel» здесь. «Формат исходных данных»Вы написали, что: Даже не знаю: Кстати если для код(часто кроме цифр инструмент «Формат» (или несколько строк и
Затем идет 3 блоков текста. оптимально split по
m-ch 1 To Len(St)
затем вставить в скобки либо другие которые находятся вне в формуле указываемУдобнее работать в
указываем – «С формула работает, значит, как Вас отблагодарить! первой строки правильно содержит «/») и комбинация горячих клавиш столбцов. пустых строки иКаждый такой блок тире и выгрузить: Всем спасибо,код я
L = Mid$(St, ячейку, и все разделительные знаки. Например, квадратных скобок. Каким это знак. таблице, где в
разделителями». Нажимаем кнопку кодом является все,Это именно то, так — 9450/4450 текста в разные CTRL+1).
Для объединения ячеек используется
дальше следующий похожий уникален и содержит получившийся массив. Нет исправил)) Осталось только i, 1) If само собой растянется. это могут быть способом можно быстро
Примеры других формул ячейках не видны «Далее».
что после последнего что нужно!то достаточно столбцы?На закладке «Граница» выбираем инструмент «Выравнивание» на текстовый блок, состоящий несколько строк. Между ведь тоже запрета оформить)) L Like «[!A-Za-zА-яҐЁЄЇіґёєї’‘’-]»VanDerSar42
пробелы если нужно выбрать из строк выбора данных с нули. Как ихЗдесь указываем в строке пробела?!Оромнейшая Вам благодарность!=ЕСЛИ(ЕЧИСЛО(—ЛЕВСИМВ(A1;1));ЛЕВСИМВ(A1;ПОИСК(» «;A1)-1);A1)psкакто я виде диагональ. Ее направление, главной странице программы. из такого же каждым блоком имеется на массив?SeSeSerrr Then Mid$(St, i,
: Надо написать программу разделить строку на целые числа и разными условиями смотрите убрать, скрыть, заменить, «Символом – разделителем
»Подшипник 180202 генератора»Максим
Dophin на форуме подобный тип линии, толщину,Выделяем ячейки, которые нужно
количества строк. 3 пустых строки.Или протянуть формулы,: Sub www() Dim 1) = « которая будет из слова и т.п. поместить их в в статье «Как читайте в статье является» — «пробел». — где здесь: Помогите разобраться. Нужно
: давайте пример, а?)
код, но сейчас цвет. объединить. Нажимаем «Объединить
Желательно в LibreOffice.Нужно перенести все или одну массивную
A As String, » Next St ячейки с символами
CyberForum.ru
Как разделить данные по строкам?
В данном примере функция отдельные ячейки? Эффективным
сделать выбор в «Как убрать нули Поставили «пробел», потому текст, где код?
удалить код наименованийkim не могунайти. даЖмем ОК. и поместить в
Alex Dark это в excel UDF i As Integer, = Replace$(St, « выделять по одному НАЙТИ во втором
решением является гибкая ячейке Excel» тут.
в Excel».
что в нашем»Подножки Universal Great товаров который стоит
: Приблизительно так…
и обрабатывал онЕсли нужно провести диагональ
центре».: А должно стать файл. Но так,
Hugo121 k1 As Integer, — «, «
слову и вписывать аргументе определяет положение формула основана на
Как выделить вРассмотрим, списке имя и Wall Hover» - вконце. в exelsergejkov не совсем корректно. в большой ячейке,
При объединении сохраняются только как? чтобы 1 строка: Нет запрета, но k2 As Integer «) St = их в отдельные относительно первой закрывающейся текстовых функциях.
ячейке из большогокак разделить текст в фамилия написаны через
здесь, похоже, без не очень силен,: совсем не
New воспользуйтесь инструментом «Вставка». те данные, которыеДолжно стать так,
в файле excel
с Split кучу A = Range(«b2») Trim(St) Do i ячейки.В строке,слова могут
скобки. А вВ ячейку B3 введите текста число, чтобы
ячейках пробел. Если бы кода? разбираюсь по-тихоньку, поэтому понимаю как это: Я не специалистНа вкладке «Иллюстрации» выбираем содержатся в верхней
чтобы все эти содержала 1 текстовый
всего перечитал и Range(«A3:Z7»).Clear Do k2 = Len(St) St быть отделены большим третьем аргументе эта следующую формулу:
оно считалось, смотрите
Excel по столбцам формулой имя и фамилия»Подрамник двигателя на
лучше готовую формулу. работает :((((( по формулам, но «Фигуры». Раздел «Линии». левой ячейке. Если данные поместились в блок. пока не понял. = InStr(k1 + = Replace$(St, « количеством пробелов… же функция вычисляет
Теперь скопируйте эту формулу в статье «Не
. В Excel есть (др. слова) были BQб» — с
Очень нада. Формат
буду вникать и попробую )Проводим диагональ в нужном нужно сохранить все
excel файл, гдеПодскажите пожалуйста, как точнее, получилось сортировать 1, A, «
«, » «)Фишка в том положение нужного нам вдоль целого столбца: работают формулы в
специальная функция – написаны через запятую, этим что? у всех ячеек
RTFM :(Предположим, что текст
CyberForum.ru
Объединение и разбиение данных в ячейках в Excel с форматированием
направлении. данные, то переносим каждый текстовой блок реализовать эту задачу? цифры от тире «) If k2
Loop Until i что по условию текста в строкеВыборка чисел из строк Excel». «Текст по столбцам». то мы быGuest примерно такойостается вопрос с «0202 Гантеля резиновая
Как объединить ячейки без потери данных Excel?
Преобразовать ячейки в один их туда, нам будет в однойЗаранее спасибо! (-), но пробрасывать = 0 Then = Len(St) ‘Накапливаем задания нельзя использовать относительно второй открывающийся
в отдельные ячейки.В Excel есть
- Где она находится указали разделителем «запятая».: даже если так
- Активатор замка электрический отсутствием артикула в 150 мм» находится
- размер можно следующим не нужно: ячейке, построчно. ТоCyber Freak
- по своим ячейкам Exit Do If слова без массива! массивы,помогите, у меня квадратной скобки. Вычисление несколько разных способов и как с
- В этом окне, в всё будет работать,замечательно. S11-6205360 начале строки ПРО
- в ячейке А1, образом:Точно таким же образом есть, ячейка А1
- : Перенос строки заменить не вышло. Здесь k2 — k1 St = St уже кончились идеи
в третьем аргументе
Функция ПСТР возвращает текстовое сгрупприровать данные в ней работать, смотрите разделе «Образец разборапросто на самомАмортизатор 5-й двери ПАК БИСКВИТ Смат то можно в
Выделить нужный диапазон, вмещающий
Как разбить ячейку в Excel на две?
можно объединить несколько — текст. блок на что-нибудь незначащее. и выручил код > 1 Then + » «m-ch
более сложное и значение содержащие определенное таблице по нашим
в статье «Разделить данных» сразу видно, деле есть и правый 6309020-0000 Риводс Мини 200гр ячейку В1 ввести определенное количество ячеек. вертикальных ячеек (столбец №1, ячейка А2Перенести m-ch. i = i
Pos = 1:: Ну покажите хотя оно подразумевает вычитание количество символов в условиям, например, по текст Excel на какие столбцы у позиции без номеров,Амортизатор задний 271.00.00
Как разделить ячейку в Excel по диагонали?
потому как вся формулу Щелкаем правой кнопкой
- данных). — текст. блокЗаменить «незначащее» наСразу объясню, начал + 1 Cells(8
- LastX = Pos бы одну из одной большей длинны строке. Аргументы функции:
- датам, по определенному
несколько ячеек» тут. нас получатся. Нажимаем есть номера перед
плаза строка ереносится в
=ЛЕВСИМВ(A1;НАЙТИ(» «;A1)) мыши по любой
Как сделать ячейки одинакового размера?
Можно объединить сразу группу №2 и т.д. пробел
- пару месяцев назад + i, 2) Do Pos = своих идей, откуда текста от меньшей.Первый аргумент – это
- периоду, шагу цен,
- Здесь рассмотрим, кнопку «Далее». текстом.
Амортизатор задний BQ2915050-60AO стлбец артикулов :(которая нам вернёт латинской букве вверху смежных ячеек поЧем вас обыкновенныйCyber Freak с формул поиска = Mid$(A, k1
InStr(Pos, St, « берем текст, куда А чтобы учитывать ссылка на ячейку сумм, т. д.как разделить вЗдесь, в разделеНо мне нужноНужно как тоps и еще
Как разбить ячейку на строки?
значение кода «0202» столбцов. горизонтали и по импорт не устраивает?: Что-то не получается
по книге и + 1, k2 «) If Pos его заносим, а
еще 2 пробела с исходным текстом. Как это сделать,
Excel формулой текст числа, «Поместить в:» указываем чтоб уюрать эти
отделить эти номера вопрос сразу -А в ячейку
exceltable.com
как разделить столбец на цифры и текст
Открываем меню «Ширина столбца». вертикали.у меня всё
так подстановкой данных. Теперь
— k1 - <> 0 Then
то лень самому следует вычитать число
Второй аргумент – это
смотрите в статье коды на составляющие диапазон столбцов, в номераКазанский
как избавиться от С1 можно ввестиВводим тот показатель ширины,Если нужно объединить только импортировалось без проблемCyber Freak
с помощью таких 1) End If Cells(Rows.Count, 1).End(xlUp)(2) = рисовать пример.
3. В результате позиция первого символа, «Как группировать в. которые поместятся новыеGuest: Или четкий критерий,
возможны символов в
формулу который нам нужен.
строки в выделенном (по вашему описанию).: Без файла только
сайтов начал читать
k1 = k2 Mid$(St, LastX, Pos
По задаче, можно
чего получаем правильное с которого должна Excel».У нас такая
данные.
: Вот это, то из чего состоит конце строки типа
=ПСТР(A1;НАЙТИ(» «;A1)+1;ДЛСТР(A1)) Жмем ОК. диапазоне, нажимаем наА… кажется догнал… рассуждения про макросы. Сам Loop End Sub — LastX) LastX
использовать «текст по количество символов в начинаться разделенная строка.Часто приходится оптимизировать структуру
таблица с данными.Внимание! что надо!!!!!!! код, например цифры,
*# , *##которая нам вернёт
Можно изменить ширину ячеек запись «Объединить по
А где гарантияCyber Freak в этом ни…
Казанский = Pos + столбцам» или split разделенной строке. СПоследний аргумент – это
данных после импортаВ столбце А написанСтолбцы этого диапазона
Спасибо огромное!!!!!!! знаки «-» и
(«звездочка число») ? текст после кода во всем листе.
строкам». что ваш текстовой: Файл к сожалению Поэтому для меня
:
1: Pos =
(или это уже помощью такой гибкой
количество символов, которое в Excel. Некоторые
код, составленный через должны быть пустыми,Julia «.», латинские буквы.
заменой не получается,Подходит, нет?
Для этого нужноВ результате получится: блок по объёму не могу предоставить. любой работающий код,
m-ch LastX End If массивы?):
формулы можно делать должна содержать разделенная разные значения попадают слеш из кода иначе информация в: вот примерИли пример с т.к эксель принимаетsergejkov выделить весь лист.Если хоть одна ячейка
поместится в ячейке?В общем, как выполняющий мои запросы
, не сообразил где Loop Until PosSub www() Dim выборку разной длинны
строка.
в одну и и года. Нам
них сотрется иKH 8625—8шт. ~30 строками в
* за универсальный: Pavel55 , вау! Нажмем левой кнопкой в выбранном диапазоне
ps и я то разделил каждый
вызывает бурю положительных здесь СПАСИБО, но = 0 End
i&, x For разделенного текста изС первым аргументом ПСТР туже ячейку образуя нужно их разделить. заменится на новую.
BG 1802001-3—4шт. Excel, что есть символ-заменитель :( на простом столбце
мыши на пересечение
еще редактируется, кнопка бы это реализовал блок текста на эмоций Продолжаю искать
твой код помог SubАлгоритм расписан в Each x In разных длинны исходных
все понятно – целую строку какВ ячейке В27
Если нет пустыхKH 23020007—18шт.
и что надо
Guest все получилось! названий строк и для объединения может макросомОн помещается, если строки, но теперь и читать, читать, мне разбить текст той теме. Split([a1]) If x строк.
это ссылка на одно значение. Возникает
пишем такую формулу. столбцов, можно предварительно
KH 8629/8—8шт. получить, в соотв.
: Смотрите текстовые функции.
ОГРОМНОЕ СПАСИБО!!! столбцов (или комбинация
быть недоступна. Необходимо вручную копировать. у меня все читать… 255-5666-44566-3322-456 на нужныеsulfur
<> «» Thenpostal398 ячейку A3. Второй вопрос: как разбить =ЗНАЧЕН(ЛЕВСИМВ(A27;НАЙТИ(«/»;A27;1)-1)) вставить столбцы. Как
KH 23020008—12шт. с Правилами Например =ПОДСТАВИТЬ()попробую это на
горячих клавиш CTRL+A). заверить редактирование иА как это переносы строк замененыГлебати ячейки. Искал пару
: Это мои наработки.. i = i
: Есть очень много аргумент мы вычисляем
строку на ячейкиПояснение к формуле.
это сделать, смотритеподскажите пожалуйста какАмортизатор задний 271.00.00
kim более сложных столбцахПодведите курсор к названиям нажать «Ввод» для
реализовать макросом? И на лишний ненужный: Так создайте свою дней и тут
первое слово он
+ 1: Cells(i, слов в одной с помощью функции в Excel. Программа
В конце формулы в статье «Как
отделить символы которые плаза — код: Для замены # ;) столбцов и добейтесь
выхода из режима. LibreOffice поддерживает макросы?На символ. тему с вопросом ты СПАСИБО!
отделяет нормально,а вот 2) = x ячейке
НАЙТИ(«]»;A3)+2. Она возвращает располагает разными поисковыми мы написали «-1». добавить строку, столбец
находятся до —шт. «271.00.00» или «271.00.00 на пусто можно
sergejkov того, чтобы он
сколько я знаюВ LibreOffice 4.4 и примером данныхПосле добавления одного последуйщие…
Next x EndДруг от друга очередной номер символа
функциями: одни ищут Это для того, в Excel» тут.
Очень нужно !!!
плаза»? =ПОДСТАВИТЬ(A1;»#»;»»)
: на более сложных
принял вид крестика.
Разбить на две ячейки
— ДА
делаю замену на
в файле - сообщения появилась кнопкаSub str() Dim
Sub
planetaexcel.ru
они отделяются пробелом
Как разделить текст в ячейке Excel?
Добрый день уважаемый читатель!
В статье я хочу рассмотреть вопрос о том, как и какими способами, возможно, разделить текст в ячейке, который оказался склеен! Если вы часто работаете с импортированными данными в Excel, то периодически встречаете такие проблемы как выгруженные точки вместо запятых, неправильный формат данных, слепленные слова или значения и многое другое. На этот случай Excel предоставляет несколько возможностей по нормализации данных и у каждого из них есть свои плюсы и минуса.
Разобрать слитый текст на необходимые составляющие возможно произвести с помощью:
Мастер разбора текстов
Рассмотрим самый простой способ разделить текст в ячейке, не по сути, а по исполнению. Для примера, очень наглядно это можно продемонстрировать на ФИО в одной ячейке, которые необходимо разделить на отдельные столбики для удобства сортировки и фильтрации.
Для выполнения задачи вызываем диалоговое окно «Мастер текстов (разбор)» и в 3 шага разделяем текст:
- Для начала нужно выделить данные, которые необходимо разделить, следующим шагом на вкладке «Данные» в разделе «Работа с данными» нажимаете иконку «Текст по столбцам» и в вызванном диалоговом окне мастера указываем формат рабочего текста. Выбираем 2 вида форматов:
- С разделителями – это когда существует текст или символ, который условно будет отделять будущее содержимое отдельных ячеек;
- Фиксированной ширины – это когда при помощи пробелов в тексте имитируется столбики одинаковой ширины.
- Вторым шагом, в нашем примере, указываем символ, выполняющий роль разделителя. В случаях, когда в тексте идут подряд пару разделителей, несколько пробелов, к примеру, то установка флажка для пункта «Считать последовательные разделители одним» укажет для Excel принимать их за один разделитель. Дополнительное условие «Ограничитель строк» поможет указать, что текстовые значения, содержащиеся в кавычках не делить (к примеру, название фирмы «Рудольф, Петер и Саймон»);
- Последним шагом, для уже разделённых столбиков, нужно указать в диалоговом окне мастера, предварительно выделив их, выбрать необходимый формат получаемых данных:
- Общий – не проводит изменения данных, оставляя их в первоначальном виде, будет оптимальным выбором в большинстве случаев;
- Текстовый – данный формат, в основном, необходим для столбиков с числовыми значениями, которые программа в обязательном порядке должна интерпретировать как текст. (К примеру, это числа с разделителем по тысяче или номер пластиковой карточки);
- Дата – этот формат используется для столбиков с датами, кстати, формат самой даты можно выбрать в выпадающем списке.
В случае, когда будете использовать символы, которые не похожи на стандартные, назначенные в региональных настройках, можете использовать кнопку «Подробнее» для правильного их распознавания.
Рассоединяем текст с помощью формул
Для этого способа нам понадобятся возможности сочетаний функций ПОИСК и ПСТР. При помощи функции ПОИСК мы будем искать все пробелы, которые есть между словами (например, между фамилией, именем и отчеством). Потом функцией ПСТР выделяем необходимое количество символов для дальнейшего разделения.
И если с первыми двумя словами понятно, что и как разделять, то разделителя для последнего слова нет, а это значит что нужно указать в качестве аргумента условно большое количество символов, как аргумент «число_знаков» для функции ПСТР, например, 100, 200 или больше.
А теперь поэтапно рассмотрим формирование формулы для разделения текста в ячейке:
- Во-первых, нам необходимо найти два пробела, которые разделяют наши слова, для поиска первого пробела нужна формула: =ПОИСК(» «;B2;1), а для второго подойдет: =ПОИСК(» «;B2;C2+1);
- Во-вторых, определяем, сколько символов нужно выделить в строке. Поскольку позиции разделителя мы уже определили, то символов для разделения у нас будет на один меньше. Значит, будем использовать функцию ПСТР для изъятия слов, с ячейки используя как аргумент «количество_знаков» результат работы предыдущей формулы. Для определения первого слова (Фамилии) нужна формула: =ПСТР(B2;1;ПОИСК(» «;B2;1)), для определения второго значения (Имя): =ПСТР(B2;ПОИСК(» «;B2;1)+1;ПОИСК(» «;B2;ПОИСК(» «;B2;1)+1) -ПОИСК(» «;B2;1)), а теперь определим последнее значение (Отчество): =ПСТР(B2;ПОИСК(» «;B2;ПОИСК(» «;B2;1)+1)+1;100).
В результате мы разделили ФИО на три слова, что позволит с ними эффективно работать.
Если же значение в ячейке будете делить на две части, то ищете только один пробел (или иной разделитель), а вот чтобы разделить более 4 слов, в формулу добавьте поиск необходимых разделителей.
Выдергиваем слова с помощью макросов VBA
Рассмотрим два способа разделить текст в ячейке:
- Выдергиваем отдельные слова по разделителю;
- Делим текст без пробелов.
Способ №1.
Поскольку вас интересует автоматическое деление текста, значит надо написать хорошую функцию на VBA и внедрить ее в рабочую книгу. Для начала переходим на вкладку «Разработчик» и выбираем «Visual Basic» или вызываем эту возможность с помощью горячего сочетания клавиш Alt+F11. (детальнее в статье «Как создать макрос в Excel»).
Создаем новый модуль в меню «Insert» наживаем пункт «Module» и переносим в него нижеприведенный код:
Делим слипшийся текст на части
Итак, имеем столбец с данными, которые надо разделить на несколько отдельных столбцов. Самые распространенные жизненные примеры:
- ФИО в одном столбце (а надо — в трех отдельных, чтобы удобнее было сортировать и фильтровать)
- полное описание товара в одном столбце (а надо — отдельный столбец под фирму-изготовителя, отдельный — под модель для построения, например, сводной таблицы)
- весь адрес в одном столбце (а надо — отдельно индекс, отдельно — город, отдельно — улица и дом)
- и т.д.
Способ 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 разнести данные из одной ячейки по нескольким столбцам
Во всем известной программе для работы с электронными таблицами от Microsoft данные из одной ячейки можно разнести по колонкам, благодаря чему таблицы станут более наглядными.
Для этого выделите ячейку, содержимое которой вы хотите разбить на несколько клеток. Затем откройте вкладку «Данные» и пункт «Работа с данными». Нажмите на пиктограмму «Текст по столбцам».
Разбить содержимое ячеек по столбцам. Разделение данных ячейки по нескольким стоблцам помогает представить информацию более наглядно
Перейдите в «Мастере распределения текста по столбцам» к пункту «С разделителями», поставьте галочку и нажмите на «Далее». В качестве символа-разделителя выберите «пробел».
[vc_row][vc_column width=»1/2″][/vc_column][vc_column width=»1/2″]
[/vc_column][/vc_row]Обратите внимание, перед пунктом «Считать последовательные разделители одним» должна стоять галочка. Это поможет Вам избежать ошибок. Нажмите на «Далее». Подтвердите внесение изменений нажатием на «Готово».
Excel разобьет содержимое ячеек на несколько столбцов.
Фото: компания-производитель
Объединение и разбиение данных в ячейках в Excel с форматированием
Форматирование и редактирование ячеек в Excel – удобный инструмент для наглядного представления информации. Такие возможности программы для работы бесценны.
Значимость оптимальной демонстрации данных объяснять никому не нужно. Давайте посмотрим, что можно сделать с ячейками в Microsoft Excel. Из данного урока вы узнаете о новых возможностях заполнения и форматирования данных в рабочих листах.
Как объединить ячейки без потери данных Excel?
Смежные ячейки можно объединить по горизонтали или по вертикали. В результате получается одна ячейка, занимающая сразу пару столбцов либо строк. Информация появляется в центре объединенной ячейки.
Порядок объединения ячеек в Excel:
- Возьмем небольшую табличку, где несколько строк и столбцов.
- Для объединения ячеек используется инструмент «Выравнивание» на главной странице программы.
- Выделяем ячейки, которые нужно объединить. Нажимаем «Объединить и поместить в центре».
- При объединении сохраняются только те данные, которые содержатся в верхней левой ячейке. Если нужно сохранить все данные, то переносим их туда, нам не нужно:
- Точно таким же образом можно объединить несколько вертикальных ячеек (столбец данных).
- Можно объединить сразу группу смежных ячеек по горизонтали и по вертикали.
- Если нужно объединить только строки в выделенном диапазоне, нажимаем на запись «Объединить по строкам».
В результате получится:
Если хоть одна ячейка в выбранном диапазоне еще редактируется, кнопка для объединения может быть недоступна. Необходимо заверить редактирование и нажать «Ввод» для выхода из режима.
Как разбить ячейку в Excel на две?
Разбить на две ячейки можно только объединенную ячейку. А самостоятельную, которая не была объединена – нельзя. НО как получить такую таблицу:
Давайте посмотрим на нее внимательнее, на листе Excel.
Черта разделяет не одну ячейку, а показывает границы двух ячеек. Ячейки выше «разделенной» и ниже объединены по строкам. Первый столбец, третий и четвертый в этой таблице состоят из одного столбца. Второй столбец – из двух.
Таким образом, чтобы разбить нужную ячейку на две части, необходимо объединить соседние ячейки. В нашем примере – сверху и снизу. Ту ячейку, которую нужно разделить, не объединяем.
Как разделить ячейку в Excel по диагонали?
Для решения данной задачи следует выполнить следующий порядок действий:
- Щелкаем правой кнопкой по ячейке и выбираем инструмент «Формат» (или комбинация горячих клавиш CTRL+1).
- На закладке «Граница» выбираем диагональ. Ее направление, тип линии, толщину, цвет.
- Жмем ОК.
Если нужно провести диагональ в большой ячейке, воспользуйтесь инструментом «Вставка».
На вкладке «Иллюстрации» выбираем «Фигуры». Раздел «Линии».
Проводим диагональ в нужном направлении.
Как сделать ячейки одинакового размера?
Преобразовать ячейки в один размер можно следующим образом:
- Выделить нужный диапазон, вмещающий определенное количество ячеек. Щелкаем правой кнопкой мыши по любой латинской букве вверху столбцов.
- Открываем меню «Ширина столбца».
- Вводим тот показатель ширины, который нам нужен. Жмем ОК.
Можно изменить ширину ячеек во всем листе. Для этого нужно выделить весь лист. Нажмем левой кнопкой мыши на пересечение названий строк и столбцов (или комбинация горячих клавиш CTRL+A).
Подведите курсор к названиям столбцов и добейтесь того, чтобы он принял вид крестика. Нажмите левую кнопку мыши и протяните границу, устанавливая размер столбца. Ячейки во всем листе станут одинаковыми.
Как разбить ячейку на строки?
В Excel можно сделать несколько строк из одной ячейки. Перечислены улицы в одну строку.
Нам нужно сделать несколько строк, чтобы каждая улица была написана в одной строке.
Выделяем ячейку. На вкладке «Выравнивание» нажимаем кнопку «Перенос текста».
Данные в ячейке автоматически распределятся по нескольким строкам.
Пробуйте, экспериментируйте. Устанавливайте наиболее удобные для своих читателей форматы.
Как разделить текст в ячейке Excel по столбцам
Здравствуйте. Сегодня расскажу вам, как разделить текст в Эксель в разные ячейки. Это актуально, когда таблица выгружена из СУБД без разбивки, или создавалась «экзотическим способом», все данные записаны в одной строке.
Например, нужно разделить ФИО на фамилию имя и отчество в разных ячейках. Вот исходные данные:
Чтобы добиться желаемого, выполним последовательность:
- Выделим всю таблицу с данными
- Нажмем на ленте Данные – Работа с данными – Текст по столбцам
- В открывшемся Мастере на первом шаге укажем Формат данных – С разделителями
- На втором шаге – поставим галку Символ-разделитель – пробел
- На третьем шаге, если это необходимо, назначим тип данных для каждого столбца и ячейки, куда поместить результат разделения. Жмём Готово
Теперь у нас вместо одной колонки стало три. То, чего мы и добивались:
Вы можете в качестве разделителя использовать указанные символы, либо задать свой, которого нет в списке. Главная логика – когда программа встретит в тексте указанный разделитель – в этом месте будет переход в новый столбец.
Теперь, когда вы знаете, как разделить данные в ячейке Excel на несколько ячеек, полученные структурированные данные будет легче сортировать, фильтровать, применять функции работы со строками.
Понравилась статья? Поделись с другом, ему тоже пригодится!
В этом руководстве объясняется, как разделить строку текста по определенному символу на отдельные ячейки столбца с формулами в Excel.
Как разделить текстовую строку на определенный символ в ячейке в Excel?
Предположим, у вас есть список текстовых строк в столбце B, как показано на снимке экрана ниже, и вы хотите разделить текст по символу «-» и вывести их в трех отдельных столбцах. В этом случае приведенные ниже формулы могут оказать вам услугу.
Общие формулы
Общая формула для разделения левого текста
=LEFT(text_string,FIND(«Char», text_string)-1)
Общая формула для разделения среднего текста
=MID(text_string, FIND(«Char», text_string) + 1, FIND(«Char», text_string,FIND(«Char», text_string)+1) — FIND(«Char», text_string) — 1)
Общая формула для разделения правого текста
=RIGHT(text_string,LEN(text_string) — FIND(«Char», text_string, FIND(«Char», text_string) + 1))
Аргументы приведенных выше формул
Текстовая_строка: Текстовая строка, из которой вы хотите отделить текст;
Голец: Символ, на основе которого вы разделите текст.
Как пользоваться этими формулами?
Во-первых, разделите первую текстовую строку на основе определенного символа
1. Выберите пустую ячейку для вывода результата. Здесь я выбираю C3.
2. Введите в нее приведенную ниже формулу и нажмите Enter ключ. А затем перетащите ячейку с ЛЕВОЙ формулой полностью вниз, чтобы применить ее к другим ячейкам.
=LEFT(B3,FIND(«-«,B3)-1)
Во-вторых, разделите среднюю текстовую строку на основе определенного символа
1. Выберите пустую ячейку, например D3, для вывода результата.
2. Введите в нее приведенную ниже формулу и нажмите Enter ключ. Выберите ячейку результата, перетащите маркер заполнения вниз, чтобы применить формулу к другим ячейкам.
=MID(B3, FIND(«-«,B3) + 1, FIND(«-«,B3,FIND(«-«,B3)+1) — FIND(«-«,B3) — 1)
Наконец, разделите последнюю текстовую строку на основе определенного символа
1. Выберите пустую ячейку, например E3, для вывода результата.
2. Введите в нее приведенную ниже формулу и нажмите Enter ключ. Выберите ячейку результата, перетащите маркер заполнения вниз, чтобы применить формулу к другим ячейкам.
=RIGHT(B3,LEN(B3) — FIND(«-«, B3, FIND(«-«, B3) + 1))
Теперь текстовая строка в каждой ячейке столбца B разбита на три части.
Tips: Если вы хотите разделить текстовую строку только на две части на основе определенного символа, после разделения первой части с помощью приведенной выше формулы LEFT вы можете применить приведенную ниже формулу RIGHT, чтобы извлечь вторую часть, как показано на скриншоте ниже.
=RIGHT(B3,LEN(B3)-FIND(«-«,B3))
Как работают эти формулы?
=LEFT(B3,FIND(«-«,B3)-1)
- FIND(«-«,B3): Функция НАЙТИ возвращает начальную позицию символа «-» в текстовой строке KTE-Jan-359. Результат — 4.
- LEFT(B3,4-1): Функция LEFT извлекает 3 символа (4-1 = 3) из левой части текстовой строки KTE-Jan-359. Вот результат — КТЕ.
Внимание: Поскольку первый символ «-» находится в 4-й позиции текстовой строки, вам необходимо вычесть 1, чтобы исключить его из извлечения.
=MID(B3, FIND(«-«,B3) + 1, FIND(«-«,B3,FIND(«-«,B3)+1) — FIND(«-«,B3) — 1)
- FIND(«-«,B3) + 1: Функция НАЙТИ возвращает начальную позицию символа «-» в текстовой строке KTE-Jan-359. Здесь результат 4.
Внимание: Поскольку первый символ «-» находится в 4-й позиции текстовой строки, вам нужно добавить от 1 до 4, чтобы извлечь текст после него, и, наконец, мы заканчиваем с 4 + 1 = 5. - FIND(«-«,B3,FIND(«-«,B3)+1) здесь отображается как НАЙТИ («-», KTE-Jan-359,4 + 1): Функция «Найти» находит позицию символа «-», начиная с 5-го символа в KTE-Jan-359. И возвращает результат как 8.
- MID(B3, 5, 8 — 4 — 1): MID (KTE-Jan-359,5,3), что означает, что функция MID извлекает 3 символа, начиная с 5-го символа в текстовой строке KTE-Jan-359. И результат Янв.
=RIGHT(B3,LEN(B3) — FIND(«-«, B3, FIND(«-«, B3) + 1))
- LEN(B3): Функция LEN вычисляет общую длину текстовой строки KTE-Jan-359 и возвращает результат как 11.
- FIND(«-«,B3,FIND(«-«,B3)+1): Функция поиска находит позицию символа «-«, начиная с 5-го символа в KTE-Jan-359. И возвращает результат как 8.
- RIGHT(B3,11 — 8)): Функция ВПРАВО извлекает 3 (11-8) символа из правой части KTE-Jan-359. Здесь результат 359.
Связанные функции
Функция ВЛЕВО в Excel
Функция LEFT извлекает заданное количество символов из левой части предоставленной строки.
Функция поиска в Excel
Функция НАЙТИ используется для поиска строки в другой строке и возвращает начальную позицию строки внутри другой.
Функция Excel MID
Функция MID используется для поиска и возврата определенного количества символов из середины данной текстовой строки.
Функция Excel ВПРАВО
Функция RIGHT извлекает определенное количество символов из правой части текстовой строки.
Функция ДЛСТР в Excel
Функция Excel LEN возвращает количество символов в текстовой строке.
Родственные формулы
Лучшие инструменты для работы в офисе
Kutools for Excel — Помогает вам выделиться из толпы
Хотите быстро и качественно выполнять свою повседневную работу? Kutools for Excel предлагает 300 мощных расширенных функций (объединение книг, суммирование по цвету, разделение содержимого ячеек, преобразование даты и т. д.) и экономит для вас 80 % времени.
- Разработан для 1500 рабочих сценариев, помогает решить 80% проблем с Excel.
- Уменьшите количество нажатий на клавиатуру и мышь каждый день, избавьтесь от усталости глаз и рук.
- Станьте экспертом по Excel за 3 минуты. Больше не нужно запоминать какие-либо болезненные формулы и коды VBA.
- 30-дневная неограниченная бесплатная пробная версия. 60-дневная гарантия возврата денег. Бесплатное обновление и поддержка 2 года.
Вкладка Office — включение чтения и редактирования с вкладками в Microsoft Office (включая Excel)
- Одна секунда для переключения между десятками открытых документов!
- Уменьшите количество щелчков мышью на сотни каждый день, попрощайтесь с рукой мыши.
- Повышает вашу продуктивность на 50% при просмотре и редактировании нескольких документов.
- Добавляет эффективные вкладки в Office (включая Excel), точно так же, как Chrome, Firefox и новый Internet Explorer.