Работа с текстовыми строками является важной составляющей обработки информации с помощью Excel. С ними удобно работать вручную, если их общее количество относительно небольшое. Но как только число строк становится приличным (например, одна или даже несколько сотен), то операции с ними становятся довольно затруднительными.
Слава Богу, в арсенале Excel есть набор инструментов, позволяющих работать со строками текстового формата и автоматизировать большой объем процессов, связанных с ними. Сегодня их рассмотрим более подробно.
Содержание
- Как в Excel сделать разделение строки на подстроки
- Текстовые функции в Эксель
- Пример использования текстовых функций в Эксель
- Синтаксис функции ПСТР в Excel
- Подстрока из строки в Эксель при помощи функции ПСТР
Как в Excel сделать разделение строки на подстроки
Существует несколько методов, как сделать это. Прежде всего, это можно сделать с помощью текстовых функций. Самая популярная из них – ПСТР, но на самом деле их значительно больше. С их помощью можно реализовать почти любую задумку, которую придумает мозг или же будет поставлена руководством на работе.
Также возможно использование макросов для достижения этой цели. Для этого в VBA существует специальная функция – Split. Она разделяет строку по разделителям, в качестве которого может выступать как определенный символ, так и сразу несколько. Синтаксис функции включает три аргумента, из которых обязательным является только один.
- Expression. Это строка, которую нужно разбить на подстроки.
- Delimiter. Разделитель. Этот аргумент необязательный. Если в нем не указывать никаких значений, то по умолчанию будет в качестве разделителя приниматься пробел.
- Limit. То количество подстрок, на которое входная должна быть разделена. Этот аргумент также не обязательно указывать. В этом случае в качестве значения по умолчанию будет установлено -1.
- Compare. С помощью этого аргумента функции передается тип сравнения – двоичный или текстовый. Простыми словами, в первом случае (если тип сравнения установлен на 0), функция учитывает регистр букв при сравнении. В случае же текстового сравнения регистр букв не учитывается.
Значение, которое эта функция вернет – массив, в котором перечислены подстроки, число которых задается параметром limit. Как могло заинтересовать наблюдательного читателя, если поставить значение -1, то функцией будут возвращены все подстроки. И теперь давайте приведем несколько примеров, как работает эта VBA функция.
Sub Test1()
Dim a() As String
a = Split(«vremya ne zhdet»)
MsgBox a(0) & vbNewLine & a(1) & vbNewLine & a(2)
End Sub
Эта функция показывает оповещение, которое выдает три подстроки «vremya ne zhdet». В этом случае стоят настройки по умолчанию. Если записать такой код, то оповещение покажет строку «vremya ne-zhdet» из исходной строки той же самой, только используется вместо пробела дефис.
Sub Test2()
Dim a() As String
a = Split(«vremya-ne-zhdet»,»-«, 2)
MsgBox a(0) & vbNewLine & a(1)
End Sub
Здесь используются значения аргумента Delimiter в –, а Limit – 2. Таким образом, всего возможно была разбивка на три части, но поскольку мы указали только две, то видим, итоговый результат тоже являет собой одну подстроку «vremya» и одну подстроку «ne-zhdet». Видим, что все на самом деле невероятно просто.
Текстовые функции в Эксель
Все функции, предназначенные для работы с текстом, находятся в соответствующем разделе мастера функций. Их очень много. Мы же выберем из них те, которые используются чаще всего для решения прикладных задач:
- БАТТЕКСТ(Значение). Функция, необходимая для превращения ячейки числового формата в текстовый. Ее полезно использовать, если формула требует текстового значения, в то время как в ячейке число представлено в виде цифрового. С помощью данной функции можно конвертировать данные из одного типа в другой.
- ДЛСТР(Значение). Эта функция позволяет определить длину строки и то, сколько символов находится в ней. Возвращает число, соответствующее количеству знаков, которые записаны в этой строке.
- ЗАМЕНИТЬ(Старый текст, Начальная позиция, число знаков, новый текст). С помощью этой функции можно заменить один текст на другой, в качестве ориентира используя определенное количество знаков, начиная с позиции, которая указана пользователем.
- ЗНАЧЕН(Текст). Эта функция совершает противоположную первому оператору операцию – значение текстового формата превращает в числовой.
- ЛЕВСИМВ(Строка, Количество знаков). С помощью этой функции можно получить заданное пользователем количество символов строки, указанной человеком. При этом в учет берутся те знаки, которые располагаются слева.
- ПРАВСИМВ(Строка, Количество знаков). Принцип работы этой функции аналогичный, только с ее помощью можно вернуть определенное количество знаков справа. То есть, узнать, какой будет часть строки, начиная с самого последнего символа.
- НАЙТИ(текст для поиска, текст, в котором ищем, начальная позиция). С помощью этой функции можно получить позицию, на которой находится текст, заданный пользователем. Этот оператор можно использовать, только если регистр для нас важен. Если же нет разницы, какие буквы использовать: большие или маленькие, то есть аналогичная функция – ПОИСК. Также следует отметить, что эта функция будет возвращать исключительно первое вхождение, все последующие уже не берутся в учет. Для этого существуют другие функции.
- ПОДСТАВИТЬ (текст, старый текст, новый текст, позиция). Это очень интересная функция. В чем-то она схожа на оператор ЗАМЕНИТЬ, но имеет более широкий функционал. Если пользователь не указал последний аргумент, то замена осуществляется всех вхождений в тексте. Таким образом, это позволяет автоматизировать опции Excel «Заменить все».
- ПОДСТРОКА(Текст, разделитель, номер). С помощью этой функции можно получить строку, которая была разделена с помощью разделителя.
- ПСТР (Текст, Начальная позиция, Количество знаков). Это одна из самых главных функций, которую мы сегодня будем разбирать очень подробно. Она в чем-то имеет схожий принцип на ЛЕВСИМВ, только дает возможность начать поиск подстроки не с самого начала, а с определенной позиции.
- СЦЕПИТЬ (Текст1, Текст2…). Это функция, позволяющая объединить несколько строк. Является некой заменой оператору &. Максимальное количество строк, которые можно соединить между собой – 30.
Принцип многих этих функций схож. Поэтому когда вы изучите одну из них, будет значительно проще выучить следующие. А когда начать их применять на практике, то они будут выучены автоматически. Давайте опишем реальный пример, как можно использовать текстовые функции.
Пример использования текстовых функций в Эксель
Давайте опишем несколько практических применений текстовых функций. Для наглядности, мы представим работу функции ПОДСТРОКА и задачу, которую нужно решить. Первая колонка этой таблицы – полная строка. Вторая – значение, которое нам нужно найти в первой колонке. В третьем столбце перечислены формулы, с помощью которых это можно сделать.
Функция может ссылаться на ячейку в каждом своем аргументе. Например, номер подстроки может содержаться по определенному адресу. В таком случае формула будет иметь следующий вид.
А в этом примере мы попробуем разбить номер телефона на несколько частей.
Недостаток функции ПОДСТРОКА заключается в том, что требуется наличие разделителя, поэтому можно только отделять слова друг от друга или цифры в номере телефона.
Если нужно отделить одно слово от другого, то можно использовать разделитель в виде пробела. В таком случае надо открыть кавычку, поставить пробел, а потом закрыть кавычку в соответствующем аргументе.
Синтаксис функции ПСТР в Excel
Функция ПСТР в Excel используется наиболее часто, чтобы достать часть строки и использовать ее в дальнейших вычислениях или же просто записать в ячейке. Причина популярности этой функции проста – когда есть большой объем информации, который был импортирован с других программ, то нередко приходится доставать часть из нее в ручном режиме. А с помощью этой функции можно хоть немного автоматизировать процесс. Давайте разберем эту функцию более подробно.
Она предусматривает использование трех аргументов, каждый из которых является обязательным: текст, который обрезается, откуда начинать обрезку и где заканчивать. В качестве источника данных для обработки может быть текст, написанный в ячейке таблицы, а также тот, который был сгенерирован другой формулой. Так как нам нужно достать подстроку, то необходимо указать следующие аргументы:
- Текст. Текстовая строка, из которой мы будем получать «обрезанный» вариант. Кроме результата работы функции и ссылки на ячейку, в качестве параметра этого аргумента может также выступать и непосредственно текстовая константа. Но на практике ее использование лучше всего подходит для тренировки. В реальной жизни в этом нет необходимости, поскольку всегда можно вручную вставить нужный фрагмент текста в любую ячейку.
- Начальная позиция. Отсчет знаков для этого аргумента начинается с самого первого символа строки слева. Эта функция отличается от некоторых других тем, что отсчет символов осуществляется с числа 1, а не нуля.
- Число знаков. Здесь записывается итоговое количество знаков, которые нам надо отсчитать с начальной позиции. Минимальное значение – 1. Чисто гипотетически есть возможность указать в качестве значения этого аргумента 0, но в этом случае в качестве результата будет получена пустая строка.
В своем самом общем виде формула выглядит так: =ПСТР(текст; начальная_позиция; число_знаков)
Есть еще один вариант этой формулы: ПСТРБ, которая позволяет работать с мультибайтовыми строками. Но в нашем языке таких нет, поэтому достаточно просто знать о том, что такая формула есть. Возможных результата после работы этой формулы два:
- Ошибка. Если аргументы функции были неправильно указаны, то появляется ошибка #ЗНАЧ!. Типичные причины появления этой ошибки – нулевая позиция начала или отрицательное значение в аргументе «Число знаков».
- Строка. Если все параметры были указаны правильно, мы получаем итоговую текстовую строку.
Выделим некоторые моменты, на которые нужно обратить внимание при использовании этой функции:
- Параметр «Начальная позиция» не может быть больше, чем общая величина строки. Иначе в качестве результата функции будет выдана строка с нулевой длиной (то есть, пустая).
- Если, даже несмотря на то, что значение «начальная позиция» меньше итоговой длины строки, сумма значений «начальная позиция» и «число знаков» больше, чем общее количество знаков этого текста, то функцией возвращаются оставшиеся знаки, начиная с той позиции, которая указана. Таким образом, можно указать в качестве числа знаков заведомо большое число, чтобы функция вернула те символы, которые расположены справа до самого конца строки.
- Ошибка #ЗНАЧ! возникает в следующих ситуациях: если начальная позиция меньше единицы, число знаков или число байтов (для функции ПСТРБ) отрицательное.
Функция ПСТРБ вас может заинтересовать только если вы ведете таблицу Excel на японском, китайском и корейском языках. В этом случае некоторые иероглифы занимают больше, чем один байт в памяти.
Подстрока из строки в Эксель при помощи функции ПСТР
Давайте рассмотрим небольшой пример того, как можно выделить отдельные знаки из строки с помощью функции ПСТР. Приведем очень простую ситуацию. Предположим у нас в ячейке B14 записана простая строка, состоящая из последовательности чисел от 1 до 0. Предположим, нам надо из строки 1234567890 получить тройку. В таком случае формула должна быть такой: =ПСТР(B14;3;1).
Простыми словами, мы говорим программе, что из этой последовательности значений нужно достать один знак, стартуя третьим числом в этой строке. Несмотря на то, что она кажется числовой, в нашем примере она текстовая. После того, как мы дали эти команды программе, на выходе мы получим цифру 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, используя различные комбинации функций, а также специальные инструменты. Благодарю вас за чтение и надеюсь увидеть вас в нашем блоге на следующей неделе!
Читайте также:
Поиск ВПР нескольких значений по нескольким условиям — В статье показаны способы поиска (ВПР) нескольких значений в Excel на основе одного или нескольких условий и возврата нескольких результатов в столбце, строке или в отдельной ячейке. При использовании Microsoft…
Формат времени в Excel — Вы узнаете об особенностях формата времени Excel, как записать его в часах, минутах или секундах, как перевести в число или текст, а также о том, как добавить время с помощью…
Как сделать диаграмму Ганта — Думаю, каждый пользователь Excel знает, что такое диаграмма и как ее создать. Однако один вид графиков остается достаточно сложным для многих — это диаграмма Ганта. В этом кратком руководстве я постараюсь показать…
Как сделать автозаполнение в Excel — В этой статье рассматривается функция автозаполнения Excel. Вы узнаете, как заполнять ряды чисел, дат и других данных, создавать и использовать настраиваемые списки в Excel. Эта статья также позволяет вам убедиться, что вы…
Функция ИНДЕКС в Excel — 6 примеров использования — В этом руководстве вы найдете ряд примеров формул, демонстрирующих наиболее эффективное использование ИНДЕКС в Excel. Из всех функций Excel, возможности которых часто недооцениваются и используются недостаточно, ИНДЕКС определенно занимает место…
Быстрое удаление пустых столбцов в Excel — В этом руководстве вы узнаете, как можно легко удалить пустые столбцы в Excel с помощью макроса, формулы и даже простым нажатием кнопки. Как бы банально это ни звучало, удаление пустых…
Функция ПСТР в Excel предназначена для выделения подстроки из строки текста, переданной в качестве первого аргумента, и возвращает требуемое количество символов начиная с заданной позиции.
Примеры использования функции ПСТР в Excel
Один символ в языках с однобайтовой кодировкой соответствует 1 байту. При работе с такими языками результаты функций ПСТР и ПСТРБ (возвращает подстроку из строки на основе количества заданных байт) не отличаются. Если на компьютере используется двухбайтовый язык, каждый символ при использовании ПСТРБ будет считаться за два. Двухбайтовыми языками являются корейский, японский и китайский.
Как разделить текст на несколько ячеек по столбцам в Excel?
Пример 1. В столбце таблицы содержатся даты, записанные в виде текстовых строк. Записать отдельно в соседних столбцах номер дня, месяца и год, выделенные из представленных дат.
Вид исходной таблицы данных:
Для заполнения номера дня используем следующую формулу (использовать в качестве формулы массива):
Описание аргументов:
- A2:A10 – диапазон ячеек с текстовым представлением дат, из которых будут выделены номера дней;
- 1 – номер начальной позиции символа извлекаемой подстроки (первый символ в исходной строке);
- 2 – номер последней позиции символа извлекаемой подстроки.
Аналогичным способом выделим номера месяца и годы для заполнения соответствующих столбцов с учетом, что номер месяца начинается с 4-го символа в каждой строке, а год – с 7-го. Используем следующие формулы:
=ПСТР(A2:A10;4;2)
=ПСТР(A2:A10;7;4)
Вид заполненной таблицы данных:
Таким образом нам удалось разрезать на части текст в ячейках столбца A. Удалось отдельно каждую дату разделить на несколько ячеек по столбцам: день, месяц и год.
Как вырезать часть текста ячейки в Excel?
Пример 2. В столбце таблицы хранятся текстовые записи с наименованием и маркой товаров. Разделить имеющиеся строки на подстроки с наименованием и маркой соответственно и записать полученные значения в соответствующие столбцы таблицы.
Вид таблицы данных:
Для заполнения столбца «Наименование» используем следующую формулу:
=ПСТР(A2;1;НАЙТИ(» «;A2))
Функция НАЙТИ возвращает номер позиции символа пробела « » в просматриваемой строке, который принимается в качестве аргумента число_знаков функции ПСТР. В результате расчетов получим:
Для заполнения столбца «Марка» используем следующую формулу массива:
=ПСТР(A2:A8;НАЙТИ(» «;A2:A8)+1;100)
Функция НАЙТИ возвращает позицию символа пробела. К полученному числу прибавляется единица для нахождения позиции первого символа названия марки продукта. Итоговое значение используется в качестве аргумента начальная_позиция функции ПСТР. Для упрощения, вместо поиска номера последней позиции (например, с помощью функции ДЛСТР) указано число 100, которое в данном примере гарантированно превышает количество знаков в изначальной строке.
В результате расчетов получим:
Как посчитать возраст по дате рождения в Excel?
Пример 3. В таблице содержатся данные о сотрудниках в столбцах ФИО и дата рождения. Создать столбец, в котором будет отображаться фамилия сотрудника и его возраст в формате «Иванов – 27».
Вид исходной таблицы:
Для возврата строки с фамилией и текущим возрастом используем следующую формулу:
Функция ПСТР возвращает часть строки до символа пробела, позиция которого определяется функцией НАЙТИ. Для нахождения возраста сотрудника используется функция РАЗНДАТ, полученное значение которой усекается до ближайшего меньшего целого, чтобы получить число полных лет. Функция ТЕКСТ преобразует полученное значение в текстовую строку.
Для соединения (конкатенации) полученных строк используются символы «&». В результате вычислений получим:
Особенности использования функции ПСТР в Excel
Функция имеет следующую синтаксическую запись:
=ПСТР(текст;начальная_позиция;число_знаков)
Описание аргументов:
- текст – обязательный для заполнения аргумент, принимающий ссылку на ячейку с текстом или текстовую строку, заключенную в кавычки, из которой будет извлечена подстрока определенной длины начиная с указанной позиции первого символа;
- начальная_позиция – обязательный аргумент, принимающий целые числа из диапазона от 1 до N, где N – длина строки, из которой требуется извлечь подстроку заданного размера. Начальная позиция символа в строке соответствует числу 1. Если данный аргумент принимает дробное число из диапазона допустимых значений, дробная часть будет усечена;
- число_знаков – обязательный аргумент, принимающий значение из диапазона неотрицательных чисел, которое характеризует длину в символах возвращаемой подстроки. Если в качестве этого аргумента передано число 0 (нуль), функция ПСТР вернет пустую строку. Если аргумент задан числом, превышающим количество символов в строке, будет возвращена вся часть строки начиная с указанной вторым аргументом позиции. В дробных числах, используемых в качестве данного аргумента, дробная часть усекается.
Функция ПСТРБ имеет схожий синтаксис:
=ПСТРБ(текст;начальная_позиция;число_байтов)
Она отличается единственным аргументом:
- число_байтов – обязательный аргумент, принимающий целые числа из диапазона от 1 до N, где N – число байтов в исходной строке, характеризующий количество байт в возвращаемой подстроке.
Скачать примеры ПСТР для разделения текста в Excel
Примечания:
- Функция ПСТР вернет пустую строку, если в качестве аргумента начальная_позиция было передано число, превышающее количество символов в исходной строке.
- Если в качестве аргумента начальная_позиция было передано значение 1, а аргумент число_знаков определен числом, которое равно или больше общему числу знаков в исходной строке, функция ПСТР вернет всю строку целиком.
- Если аргумент начальная_позиция был указан числом из диапазона отрицательных чисел или 0 (нулем), функция ПСТР вернет код ошибки #ЗНАЧ!.
- Если аргумент число_знаков задан отрицательным числом, результатом выполнения функции ПСТР будет код ошибки #ЗНАЧ!.
In this guide, we’re going to show you how to split text in Excel by a delimiter.
Download Workbook
We have a sample data which contains concatenated values separated by “|” characters. It is important that the data includes a specific delimiter character between each chunk of data to make splitting text easier.
Text to Columns feature for splitting text
When splitting text in Excel, the Text to Columns is one of the most common methods. You can use the Text to Columns feature with all versions of Excel. This feature can split text by a specific character count or delimiter.
- Start with selecting your data. You can use more than one cell in a column.
- Click Data > Text to Columns in the Ribbon.
- On the first step of the wizard, you have 2 options to choose from — these are slicing methods. Since our data in this example is split by delimiters, our choice is going to be Delimited.
- Click Next to continue
- Select the delimiters suitable to your data or choose a character length and click Next.
- Choose corresponding data types for the columns and the destination cell. Please note that if the destination cell is the same cell as where your data is, the original data will be overwritten.
- Click Finish to see the outcome.
Using formulas to split text
Excel has a variety of text formulas that you can use to locate delimiters and parse data. When using formulas to do so, Excel automatically updates the parsed values when the source is updated.
The formula used in this example uses Microsoft 365’s dynamic array feature, which allows you to populate multiple cells without using array formulas. If you can see the SEQUENCE formula, you can use this method.
Syntax
=TRIM(MID(SUBSTITUTE( text, separator, REPT( “ “, LEN( text ))),(SEQUENCE( 1, column count ) — 1 ) * LEN( text ) + 1,LEN( text )))
How it works
The formula replaces each separator character with space characters first. (see SUBSTITUTE) The number of space characters will be equal to the original string’s character count, which is enough number of spaces to separate each string block (see REPT and LEN).
The SEQUENCE function generates an array of numbers starting with 1, up to the number of maximum columns. Multiplying these sequential numbers with the length of the original string returns character numbers indicating the start of each block.
This approach uses the MID function to parse each string block with given start character number and the number of characters to return. Since the separators are replaced with space characters, each parsed block includes these spaces around the actual string. The TRIM function then removes these spaces.
Flash Fill
The Flash Fill is an Excel tool which can detect the pattern when entering data. A common example is to separate or merge first name and last names. Let’s say column A contains the first name — last name combinations. If you type in the corresponding first name in the same row for column B, Excel shows you a preview for the rest of the column.
Please note that the Flash Fill is available for Excel 2013 and newer versions only.
You can see the same behavior with strings using delimiters to separate data. Just select a cell in the adjacent column and start typing. Occasionally Excel will display a preview. If not, press Ctrl + E like below to split your text.
Power Query
Power Query is a powerful feature, not only for splitting text, but for data management in general. Power Query comes with its own text splitting tool which allows you to split text in multiple ways, like by delimiters, number of characters, or case of letters.
If you are using Excel 2016 or newer — including Microsoft 365 — you can find Power Query options under the Data tab’s Get & Transform section. Excel 2010 and 2013 users should download and install the Power Query as an add-in.
- Select the cells containing the text.
- Click Data > From Sheet. If the data is not in an Excel Table, Excel converts it into an Excel Table first.
- Once the Power Query window is open, find the Split Column under the Transform tab and click to see the options.
- Select the approach that fits your data layout. The data in our example is using By Delimiter since the data is separated by “|”.
- Power Query will show the delimiter character. If you are not seeing the expected delimiter, choose from the list or enter it yourself.
- Click OK to split text.
- If your data includes headers in its first row, like our example does, click Transform > Use First Row as Headers to keep them as headers.
- One you satisfied with the result, click the Home > Close & Load button to move the split data into your workbook.
VBA
VBA is the last text splitting option we want to show in this article. You can use VBA in two ways to split text:
- By calling the Text to Columns feature using VBA,
- Using VBA’s Split function to create array of sub-strings and using a loop to distribute the sub-strings into adjacent cells in the same row.
Text to Columns by VBA
The following code can split data from selected cells into the adjacent columns. Note that each supported delimiter is listed as an argument which you can enable or disable by giving them either True or False. Briefly, True means that you want to set that argument as a delimiter and False means ignore that character.
An easy way to generate a VBA code to split text is to record a macro. Start a recording section using the Record Macro button in the Developer tab, and use the Text to Columns feature. Once the recording is stopped, Excel will save the code for what you did during recording.
The code:
Sub VBATextToColumns_Multiple()
Dim MyRange As Range
Set MyRange = Selection ‘To work on a static range replace Selection via Range object, e.g., Range(“B6:B12”)
MyRange.TextToColumns _
Destination:=MyRange(1, 1).Offset(, 1), _
DataType:=xlDelimited, _
TextQualifier:=xlDoubleQuote, _
ConsecutiveDelimiter:=False, _
Tab:=True, _
SemiColon:=False, _
Comma:=False, _
Space:=False, _
Other:=True, _
OtherChar:=»|»
End Sub
Split Function
Split function can be useful if you want to keep the split blocks in an array. You can only use this method for splitting because of the single delimiter constraint. The following code loops through each cell in a selected column, splits and stores text by the delimiter “|”, and uses another loop to populate the values in the array on cells. The final EntireColumn.AutoFit command adjusts the column widths.
The code:
Sub SplitText()
Dim StringArray() As String, Cell As Range, i As Integer
For Each Cell In Selection ‘To work on a static range replace Selection via Range object, e.g., Range(“B6:B12”)
StringArray = Split(Cell, «|») ‘Change the delimiter with a character suits your data
For i = 0 To UBound(StringArray)
Cell.Offset(, i + 1) = StringArray(i)
Cell.Offset(, i + 1).EntireColumn.AutoFit ‘This is for column width and optional.
Next i
Next
End Sub
Функции ПСТР, ПСТРБ в Excel
Смотрите также | 0011’ Purpose : цифр и вставитьначальная_позиция – обязательный аргумент,Вид таблицы данных: качестве первого аргумента,
Описание
регистру. лишнего пробела в функциюСкопируйте образец данных из
ПОИСКБЭта функция возвращает строках попадаются использовать функцию ПРАВСИМВ(), извлечь число или возвращает строку «»
В этой статье описаныВ соседней ячейке
-
Выделяет из текста ее в соседнюю принимающий целые числа
-
Для заполнения столбца «Наименование» и возвращает требуемоеЗаменяет определенный текст или конце или началеСЦЕПИТЬ следующей таблицы ине учитывают регистр.4английские буквы
-
но сколько символов дату из текстовой (пустую строку). синтаксис формулы и надо получить three субстринг/и, ориентируясь по
-
ячейку справа. из диапазона от используем следующую формулу: количество символов начиная символ на требуемое строки сложно отследить,. Она последовательно объединяет вставьте их в Если требуется учитывать, так как «н». Их также можно извлечь? Два? А
строки.Если значение «начальная_позиция» меньше, использование функцийФормула, которая это символам-разделителям
Синтаксис
китин
1 до N,
=ПСТР(A2;1;НАЙТИ(» «;A2)) с заданной позиции.
-
значение. В Excel данная функция становится значения указанных ячеек ячейку A1 нового
-
регистр, используйте функции является четвертым символом обнаружить и извлечь, если в другихДанная статья является сводной, чем длина текста,ПСТР
-
делает (я проверял!)’ Notes :: как то так где N –
-
Функция НАЙТИ возвращает номерОдин символ в языках текстовую функцию просто незаменимой. На в одной строке.
Замечания
-
листа Excel. ЧтобыНАЙТИ в слове «принтер». см. Есть ли в адресах номер дома
-
т.е. в ней но сумма значенийи такова: Substring(текст; символ_разделитель; Начальный_Номер_фрагмента, формула массива длина строки, из позиции символа пробела
-
с однобайтовой кодировкойПОДСТАВИТЬ рисунке ниже видно,Если в Excel необходимо
-
отобразить результаты формул,иМожно также находить слова слове в MS
-
состоит из 1 содержатся ссылки на «начальная_позиция» и «число_знаков»ПСТРБ
Пример
СЖПРОБЕЛЫ(ЛЕВСИМВ(ПРАВСИМВ(ПОДСТАВИТЬ(D2,»|»,ПОВТОР(» «,99)),198),99)) Конечный_Номер_фрагмента), где200?’200px’:»+(this.scrollHeight+5)+’px’);»>=ПСТР(ПОДСТАВИТЬ(A2;» «;»»);ПОИСКПОЗ(1=1;ЕЧИСЛО(—ПСТР(ПОДСТАВИТЬ(A2;» «;»»);СТРОКА($1:$50);10));0);10) которой требуется извлечь « » в соответствует 1 байту.применяют, когда заранее что содержимое ячеек сделать все буквы выделите их иНАЙТИБ в других словах. EXCEL латинские буквы,
|
или 3 цифр? |
||
|
другие статьи, в |
||
|
превышают длину текста, |
в Microsoft Excel. |
Вопрос: откуда там |
|
’ текст - |
китин подстроку заданного размера. просматриваемой строке, который При работе с |
известно какой текст |
|
А1 и B1 |
строчными, т.е. преобразовать нажмите клавишу F2,. Например, функция цифры, ПРОПИСНЫЕ символы. В этом случае которых решены определенные функция ПСТР возвращаетФункция ПСТР возвращает заданное цифры 99, 198, текст, который делим: |
Начальная позиция символа |
|
принимается в качестве |
такими языками результаты необходимо заменить, а абсолютно одинаково, но их в нижний |
support.office.com
Разбор текстовых строк в MS EXCEL
а затем — клавишуВ аргументе=ПОИСК(«base»;»database»)Все статьи сайта, связанные можно попытаться найти задачи. Начнем с знаки вплоть до число знаков из 99?’ символ_разделитель -SergeyKorotun в строке соответствует аргумента число_знаков функции функций ПСТР и не его местоположение. это не так. регистр, на помощь ВВОД. При необходимостиискомый_текст
возвращает с преобразованием текстовых подстроку «д.», после адресов. конца текста. текстовой строки, начинаяСильно не бейте,
символ, который надо, а вообще то числу 1. Если ПСТР. В результате ПСТРБ (возвращает подстрокуПриведенная ниже формула заменяет В ячейке А1 придет текстовая функция измените ширину столбцов,можно использовать подстановочные5 строк собраны в которой идет номерСамый простейший случай, еслиЕсли значение «начальная_позиция» меньше с указанной позиции. объясните пожалуйста. считать разделителем фрагментов с вашим стажем данный аргумент принимает расчетов получим: из строки на все вхождения слова мы намеренно поставилиСТРОЧН чтобы видеть все знаки: вопросительный знак, так как слово этом разделе: Изменение Текстовых дома. Это можно адрес, состоящий из 1, то функцияФункция ПСТРБ возвращает определенное
AlexM’ Начальный_Номер_фрагмента - можно бы и дробное число изДля заполнения столбца «Марка» основе количества заданных «Excel» на «Word»: лишний пробел в. Она не заменяет данные.
( «base» начинается с Строк (значений). сделать с помощью
названия города, улицы ПСТР возвращает значение число знаков из: А где ваш
порядковый номер фрагмента, поиском воспользоваться очень диапазона допустимых значений, используем следующую формулу
байт) не отличаются.Заменяет только первое вхождение конце слова знаки, не являющиесяДанные? пятого символа словаПусть имеется перечень артикулов
функции ПОИСК() (см. статью и т.д., импортирован ошибки #ЗНАЧ!. текстовой строки, начиная файл? с которого нужна тут красиво на дробная часть будет массива: Если на компьютере слова «Excel»:Excel буквами.Выписки) и звездочку ( «database». Можно использовать товара: 2-3657; 3-4897; Нахождение в MS в ячейку MSЕсли значение «число_знаков» отрицательно, с указанной позиции,198 = 2*99 выборка любое кол-во цифр усечена;=ПСТР(A2:A8;НАЙТИ(» «;A2:A8)+1;100) используется двухбайтовый язык,Удаляет все пробелы из. В итоге функцияТекстовая функцияДоход: маржа
* функции … EXCEL позиции n-го EXCEL из другой то функция ПСТР на основе заданногоbuchlotnik’ Конечный_Номер_фрагмента -Сергей-Кчисло_знаков – обязательный аргумент,Функция НАЙТИ возвращает позицию каждый символ при текстовой строки:СОВПАДПРОПИСНмаржа). Вопросительный знак соответствуетПОИСККак видно, артикул состоит вхождения символа в информационной системы. В возвращает значение ошибки числа байтов.: оформите формулу тегами, порядковый номер фрагмента,: Добрый вечер. Помогите, принимающий значение из
символа пробела. К использовании ПСТРБ будетЗаменяет символы, расположенные ввозвратила нам значениеделает все буквыЗдесь «босс». любому знаку, звездочка —и из 2-х числовых слове). Далее нужно этом случае у #ЗНАЧ!.Важно:
приложите файл - по который нужна пожалуйста, «выдернуть» часть диапазона неотрицательных чисел, полученному числу прибавляется считаться за два. заранее известном месте ЛОЖЬ. прописными, т.е. преобразует
Формула любой последовательности знаков.ПОИСКБ частей, разделенных дефисом.
вычислить количество цифр адреса имеется определеннаяЕсли значение «число_байтов» отрицательно,
не будем выборка текста из ячейки. которое характеризует длину единица для нахождения Двухбайтовыми языками являются строки, на требуемоеПрименив функцию
их в верхнийОписание Если требуется найтидля определения положения Причем, числовые части
Артикул товара
номера дома. Это структура (если элементы то функция ПСТРБ
Эти функции могут бытьЦитата’————————————————————————————— До этого работал в символах возвращаемой позиции первого символа корейский, японский и значение. В ExcelСЖПРОБЕЛЫ
регистр. Так же,Результат вопросительный знак или символа или текстовой
имеют строго заданный сделано в файле
адреса хранились в возвращает значение ошибки
доступны не наоткуда там цифрыOn Error Resume только с функциями подстроки. Если в названия марки продукта. китайский. текстовую функциюк значению ячейки как и=ПОИСК(«и»;A2;6) звездочку, введите перед строки в другой размер: первое число
ВНИМАНИЕ!
примера, ссылка на отдельных полях) и #ЗНАЧ!. всех языках.цифры Next ПСТР, ЛЕВСИМВ и качестве этого аргумента Итоговое значение используетсяПример 1. В столбцеЗАМЕНИТЬ
excel2.ru
ПОИСК, ПОИСКБ (функции ПОИСК, ПОИСКБ)
А1, мы удалимСТРОЧНПозиция первого знака «и» ним тильду ( текстовой строке, а состоит из 1 который внизу статьи.
Описание
скорее всего нетСкопируйте образец данных изФункция ПСТР предназначена длятам 1,8 иDim sArr() As ПРАВСИМВ, но в передано число 0 в качестве аргумента таблицы содержатся даты,применяют, когда известно из него все, не заменяет знаки, в строке ячейки~ затем вернуть текст
цифры, второе -
Усложним ситуацию. Пусть подстрока «д.» (мало) опечаток. Разгадав следующей таблицы и языков с однобайтовой 9 , скорее
String, li As данном случае задача (нуль), функция ПСТР
начальная_позиция функции ПСТР.
записанные в виде где располагается текст, лишние пробелы и не являющиеся буквами. A2, начиная с). с помощью функций из 4-х. может встречаться в структуру можно быстро вставьте их в кодировкой, а ПСТРБ всего, введены с Long осложняется неодинаковым количеством вернет пустую строку. Для упрощения, вместо текстовых строк. Записать при этом сам получим корректный результат:Текстовая функция шестого знака.ЕслиПСТРЗадача состоит в том, адресе несколько раз, разнести адрес по
ячейку A1 нового — для языков
-
клавиатуры, а вотsArr = Split(Application.Trim(Текст), знаков в ячейке.
-
Если аргумент задан поиска номера последней отдельно в соседних он не важен.ФункциюПРОПНАЧ7искомый_тексти чтобы определить артикулы, например, при указании столбцам. Например, адрес «г.Москва, листа Excel. Чтобы
с двухбайтовой кодировкой.числа Символ_разделитель)Спасибо. числом, превышающим количество
Синтаксис
позиции (например, с
столбцах номер дня,
Формула в примере нижеСЖПРОБЕЛЫ
-
делает прописной первую=ПОИСК(A4;A3)не найден, возвращается
-
ПСТРБ у которых левый названия деревни используется ул.Тверская, д.13″ очевидно отобразить результаты формул, Язык по умолчанию,
-
помогают искать предпоследнееIf Конечный_Номер_фрагмента >Nic70y символов в строке, помощью функции ДЛСТР) месяца и год,
Замечание
-
заменяет 4 символа,полезно применять к букву каждого слова,Начальная позиция строки «маржа» значение ошибки #ЗНАЧ!.или заменить его индекс сокращение «д.», т.е. состоит из 3-х выделите их и заданный на компьютере,
-
значение — каждый 0 Then: будет возвращена вся указано число 100, выделенные из представленных расположенные, начиная с данным, которые импортируются а все остальные (искомая строка вЕсли аргумент с помощью функцийПервая часть задачи решается совпадает с префиксом блоков: город, улица, нажмите клавишу F2, влияет на возвращаемое
-
разделитель заменяется наНачальный_Номер_фрагмента = Начальный_Номер_фрагмента200?’200px’:»+(this.scrollHeight+5)+’px’);»>=СЖПРОБЕЛЫ(ЛЕВБ(ПОДСТАВИТЬ(ПСТР(C2;ПОИСК(«(«;C2)+1;99);»)»;ПОВТОР(» «;99));99)) часть строки начиная
-
которое в данном дат. седьмой позиции, на в рабочие листы
-
преобразует в строчные. ячейке A4) вначальная_позицияЗАМЕНИТЬ формулой =—ЛЕВСИМВ(A16;1) номера дома. В дом, разделенных пробелами а затем —
-
значение следующим образом. 99 пробелов, потом — 1Код200?’200px’:»+(this.scrollHeight+5)+’px’);»>=СЖПРОБЕЛЫ(ЛЕВБ(ПОДСТАВИТЬ(ПСТР(C2;ПОИСК(«»;ПОДСТАВИТЬ(C2;»(«;»»;2))+1;99);»)»;ПОВТОР(» «;99));99))Код200?’200px’:»+(this.scrollHeight+5)+’px’);»>=ПСТР(C2;ПОИСК(«-«;C2)-6;5)Код200?’200px’:»+(this.scrollHeight+5)+’px’);»>=ПСТР(C2;ПОИСК(«-«;C2)+13;5)такие варианты с указанной вторым примере гарантированно превышаетВид исходной таблицы данных: значение «2013». Применительно Excel из внешнихКаждая первая буква, которая строке «Доход: маржа»опущен, то ониВторая часть задачи решается этом случае нужно и запятыми. Кроме клавишу ВВОД. ПриФункция ПСТР всегда считает берется 198 символовКонечный_Номер_фрагмента = Конечный_Номер_фрагментаСергей-К аргументом позиции. В количество знаков вДля заполнения номера дня к нашему примеру, источников. Такие данные следует за знаком, (ячейка, в которой полагается равным 1.ЗАМЕНИТЬБ формулой =ЗНАЧЕН(ПРАВСИМВ(A16;4)). определить все строки, того, перед названием необходимости измените ширину каждый символ (одно- справа, т.е. подстрока, — 1: Да, отлично. А дробных числах, используемых изначальной строке. используем следующую формулу
Примеры
формула заменит «2010» очень часто содержат отличным от буквы, выполняется поиск — A3).Если аргумент. Эти функции показаныЗачем нам потребовалась функция ЗНАЧЕН()? в которых имеется стоят сокращения г., столбцов, чтобы видеть или двухбайтовый) за включающая последние дваFor li =
|
для вторых скобок |
||
|
в качестве данного |
||
|
В результате расчетов получим: |
||
|
(использовать в качестве |
||
|
на «2013». |
||
|
лишние пробелы и |
также преобразуется в |
8 |
|
начальная_позиция |
в примере 1 Дело в том, название деревень (первые ул., д. С |
все данные. |
|
один вне зависимости |
значения (и кучу Начальный_Номер_фрагмента To Конечный_Номер_фрагмента можно? аргумента, дробная частьПример 3. В таблице формулы массива): |
Заменяет первые пять символов |
|
различные непечатаемые символы. |
верхний регистр.=ЗАМЕНИТЬ(A3;ПОИСК(A4;A3);6;»объем»)не больше 0 данной статьи. что текстовые функции, 2 символа, т.к. такой задачей достаточноДанные |
от языка по |
|
пробелов), а потом |
Substring = IIf(liNic70y усекается. содержатся данные оОписание аргументов: |
текстовой строки, т.е. |
|
Чтобы удалить все |
В Excel Вы можетеЗаменяет слово «маржа» словом или больше, чем |
Важно: |
|
такие ка ПРАВСИМВ(), |
это адрес населенного легко справится инструментПоток воды |
умолчанию. |
support.office.com
Текстовые функции Excel в примерах
в ней 99 = Начальный_Номер_фрагмента, sArr(li),: дополнил сообщение вышеФункция ПСТРБ имеет схожий сотрудниках в столбцахA2:A10 – диапазон ячеек слово «Excel», на непечатаемые символы из подсчитать количество знаков, «объем», определяя позицию длина возвращают текст, а пункта) и исключить MS EXCEL ТекстФормула
СЦЕПИТЬ
Функция ПСТРБ считает каждый символов слева - Substring & _Сергей-К синтаксис: ФИО и дата с текстовым представлением «Word». текста, необходимо воспользоваться
СТРОЧН
содержащихся в текстовой слова «маржа» впросматриваемого текстаЭти функции могут быть не число (т.е. их. Также можно по столбцам. КакОписание двухбайтовый символ за т. е. только
ПРОПИСН
Символ_разделитель & sArr(li)):=ПСТРБ(текст;начальная_позиция;число_байтов) рождения. Создать столбец, дат, из которыхВот и все! Мы функцией строке, для этого ячейке A3 и, возвращается значение ошибки
ПРОПНАЧ
доступны не на в нашем случае извлечь все цифры это сделать написаноРезультат два, если включена
предпоследнее значение (иNext liNic70yОна отличается единственным аргументом: в котором будет
ДЛСТР
будут выделены номера познакомились с 15-юПЕЧСИМВ воспользуйтесь функцией заменяя этот знак #ЗНАЧ!. всех языках.
ЛЕВСИМВ и ПРАВСИМВ
число в текстовом из строки в в статье Текст-по-столбцам (мастер=ПСТР(A2;1;5) поддержка ввода на куча пробелов), аElse, спасибо, всё работает!число_байтов – обязательный аргумент,
ПСТР
отображаться фамилия сотрудника дней; текстовыми функциями Microsoft.ДЛСТР и последующие пять
СОВПАД
АргументФункция ПОИСКБ отсчитывает по формате). Для того, отдельный диапазон (см. текстов) в MSВозвращает пять знаков из языке с двухбайтовой потом СЖПРОБЕЛЫ() наводитSubstring = Split(Application.Trim(Текст), Очень оперативно! принимающий целые числа и его возраст1 – номер начальной
Excel и посмотрелиФункция. Пробелы учитываются. знаков текстовой строкойначальная_позиция два байта на чтобы применить к
СЖПРОБЕЛЫ
статью Извлекаем в MS EXCEL. строки в ячейке
кодировкой, а затем красоту, как-то так _ShAM из диапазона от в формате «Иванов позиции символа извлекаемой их действие наПОВТОРТекстовые функции «объем.»можно использовать, чтобы каждый символ, только таким числам в EXCEL число изОчевидно, что не всегда А2, начиная с этот язык назначен[scv]Символ_разделитель)(Начальный_Номер_фрагмента — 1)
: Как вариант (для 1 до N, – 27». подстроки (первый символ простых примерах. Надеюсь,повторяет текстовую строкуЛЕВСИМВ
Доход: объем пропустить определенное количество если языком по текстовом формате операцию конца текстовой строки). адрес имеет четкую первого знака. языком по умолчанию.: Число (в данномEnd If скобок): где N –Вид исходной таблицы: в исходной строке); что данный урок указанное количество раз.
ПОВТОР
и=ПСТР(A3;ПОИСК(» «;A3)+1,4) знаков. Допустим, что умолчанию является язык сравнения с другим Но, что делать, структуру, например, могутПоток
НАЙТИ
В противном случае случае 99) -End Function200?’200px’:»+(this.scrollHeight+5)+’px’);»>=ПСТР(C2;ПОИСК(«(«;C2)+1;ПОИСК(«)»;C2)-ПОИСК(«(«;C2)-1) число байтов вДля возврата строки с2 – номер последней пришелся Вам как
Строка задается какПРАВСИМВ
Возвращает первые четыре знака, функцию с поддержкой БДЦС. числом, т.е. если в названии быть пропущены пробелы=ПСТР(A2;7;20) функция ПСТРБ считает должно быть минимумkrosav4igКод200?’200px’:»+(this.scrollHeight+5)+’px’);»>=ПСТР(C2;ПОИСК(«(«;C2;ПОИСК(«(«;C2;1)+1)+1;ПОИСК(«)»;C2;ПОИСК(«)»;C2;1)+1)-ПОИСК(«(«;C2;ПОИСК(«(«;C2;1)+1)-1) исходной строке, характеризующий
ПОИСК
фамилией и текущим позиции символа извлекаемой раз кстати, и первый аргумент функции,возвращают заданное количество которые следуют заПОИСК В противном случаеЕсли у Вас есть улицы есть числа? (запятые все же
ПОДСТАВИТЬ
Возвращает двадцать знаков из каждый символ за длинной подстроки последних: ну раз речьСергей-К количество байт в возрастом используем следующую подстроки. Вы получили от
а количество повторов символов, начиная с первым пробелом в
нужно использовать для функция ПОИСКБ работает
примеры или вопросы, Например, «26 Бакинских
ЗАМЕНИТЬ
стоят). В этом строки в ячейке один. двух сегментов. Больше зашла за UDF,: Ну когда я возвращаемой подстроке. формулу:Аналогичным способом выделим номера него хотя бы
как второй. начала или с строке «Доход: маржа» работы с текстовой так же, как связанные с разбором комиссаров». Короче, тут случае помогут функции,
А2, начиная сК языкам, поддерживающим БДЦС, либо равно. Тогда вот еще вариант
вырасту для такихПримечания:Функция ПСТР возвращает часть месяца и годы малость полезной информации.Текстовая функция конца строки. Пробел (ячейка A3). строкой «МДС0093.МужскаяОдежда». Чтобы функция ПОИСК, и текстовых строк - начинается творчество. работающие с текстовыми седьмого знака. Так относятся японский, китайский
можно полностью получить
office-guru.ru
Подсчет вхождений в MS EXCEL текстового значения в строке
200?’200px’:»+(this.scrollHeight+5)+’px’);»>Function substring(s$, n%) As формул?Функция ПСТР вернет пустую строки до символа
для заполнения соответствующих Всего доброго иНАЙТИ считается за символ.марж найти первое вхождение
отсчитывает по одному смело пишите вНе забудьте про пробелы!
строками. Вот эти
как количество возвращаемых (упрощенное письмо), китайский
содержание предпоследнего сегмента,
Variant
ShAM строку, если в пробела, позиция которого столбцов с учетом, успехов в изучении
excel2.ru
Пример функция ПСТР для разделения текста на части в Excel
находит вхождение однойТекстовая функция=ПОИСК(«»»»;A5) «М» в описательной байту на каждый комментариях к этой Каждый пробел - функции:
Примеры использования функции ПСТР в Excel
знаков (20) больше (традиционное письмо) и будет меньше -Select Case n, спасибо! качестве аргумента начальная_позиция определяется функцией НАЙТИ. что номер месяца Excel! строки в другуюПСТРПозиция первой двойной кавычки части текстовой строки, символ. статье или в это отдельный символ.- Функция ЛЕВСИМВ() в MS длины строки (10),
Как разделить текст на несколько ячеек по столбцам в Excel?
корейский. будет обрезка отCase 1: substringAlexM было передано число, Для нахождения возраста начинается с 4-гоАвтор: Антон Андронов и возвращает положение
возвращает заданное количество
(«) в ячейке задайте для аргументаК языкам, поддерживающим БДЦС, группу ! Я
Часто при печати
- EXCEL — выводит нужное возвращаются все знаки,ПСТР(текст;начальная_позиция;число_знаков) начала. Всем спасибо! = Split(Split(s, «)»)(0),
- : Еще вариант для превышающее количество символов сотрудника используется функция символа в каждой
- Найдем количество вхождений подстроки первого символа искомой символов, начиная с
A5.начальная_позиция относятся японский, китайский дополню эту статью их ставят 2 количество левых символов начиная с седьмого.ПСТРБ(текст;начальная_позиция;число_байтов)AndreTM «(«)(1)
скобок
в исходной строке.
ДОЛЯГОДА, полученное значение
строке, а год (части строки, последовательности фразы относительно начала указанной позиции. Пробел5значение 8, чтобы (упрощенное письмо), китайский самыми интересными из или 3 подряд,
строки;
Как вырезать часть текста ячейки в Excel?
Пустые символы (пробелы)Аргументы функций ПСТР и: На самом делеCase 2: substring200?’200px’:»+(this.scrollHeight+5)+’px’);»>=ПРАВБ(ЗАМЕНИТЬ(C2;ПОИСК(«)»;C2);99;»»);2)Если в качестве аргумента которой усекается до – с 7-го. символов) в исходной текста.
считается за символ.
=ПСТР(A5;ПОИСК(«»»»;A5)+1;ПОИСК(«»»»;A5;ПОИСК(«»»»;A5)+1)-ПОИСК(«»»»;A5)-1) поиск не выполнялся
(традиционное письмо) и
них. а это совсем- Функция ПРАВСИМВ() в MS не добавляются в ПСТРБ описаны ниже. «чисел» там три. = Split(Split(s, «)»)(1),иКод200?’200px’:»+(this.scrollHeight+5)+’px’);»>=ПРАВБ(ЗАМЕНИТЬ(C2;ПОИСК(«)»;C2;ПОИСК(«)»;C2)+1);99;»»);4)
начальная_позиция было передано ближайшего меньшего целого, Используем следующие формулы:
текстовой строке.
Данная функция чувствительна кФункцияВозвращает из ячейки A5 в той части корейский.В этой статье описаны не то же EXCEL — выводит нужное конец строки.ТекстИ на самом «(«)(1)Сергей-К значение 1, а чтобы получить число=ПСТР(A2:A10;4;2)Определим число вхождений подстроки регистру…
СОВПАД
Как посчитать возраст по дате рождения в Excel?
только текст, заключенный текста, которая являетсяПОИСК(искомый_текст;просматриваемый_текст;[начальная_позиция]) синтаксис формулы и самое, что один количество правых символовводы Обязательный. Текстовая строка, содержащая деле, должно бытьCase 3: substring
:
аргумент число_знаков определен полных лет. Функция=ПСТР(A2:A10;7;4) ZZ в слове
… и может начинатьпозволяет сравнить две в двойные кавычки. серийным номером (вПОИСКБ(искомый_текст;просматриваемый_текст;[начальная_позиция]) использование функций пробел. Используйте функцию Функция строки;=ПСТР(A2;20;5) символы, которые требуется так: само число = TimeValue(Right(Split(s, «:»)(0),200?’200px’:»+(this.scrollHeight+5)+’px’);»>=ПРАВБ(ЗАМЕНИТЬ(C2;ПОИСК(«)»;C2);99;»»);2) числом, которое равно
ТЕКСТ преобразует полученноеВид заполненной таблицы данных: ZZigzzag (пусть слово просмотр текста с
Особенности использования функции ПСТР в Excel
текстовые строки вбосс
данном случае —
Аргументы функций ПОИСК и
- ПОИСК СЖПРОБЕЛЫ() в MS- Функция ПСТР() в MSТак как начальная позиция извлечь. должно быть больше 2) & _А с этой или больше общему значение в текстовую
- Таким образом нам удалось находится в ячейке указанной позиции. На Excel. Если ониExcel предлагает большое количество «МДС0093″). Функция ПОИСКБ описаны ниже.и EXCEL, чтобы избавиться EXCEL — выводит часть больше, чем длинаНачальная_позиция длины подстроки, в»:» & Left(Split(s, хоть будет попроще числу знаков в
- строку. разрезать на частиA1 рисунке ниже формула в точности совпадают, функций, с помощьюПОИСКИскомый_текстПОИСКБ от лишних пробелов. текста из середины строки (10), возвращается Обязательный. Позиция первого знака, которую входит искомый «:»)(1), 2)) разобраться. Спасибо, исходной строке, функцияДля соединения (конкатенации) полученных текст в ячейках). начинает просмотр с
то возвращается значение которых можно обрабатывать
начинает поиск с
Обязательный. Текст, который требуется
- в Microsoft Excel.Об извлечении чисел из строки. пустая строка. извлекаемого из текста. сегмент (слева илиCase 4: substringAlexM ПСТР вернет всю
строк используются символы
- столбца A. УдалосьФормула для подсчета с четвертого символа, т.е. ИСТИНА, в противном текст. Область применения восьмого символа, находит
- найти.Функции текстовой строкиИспользуя комбинации этих функцийЧасто текстовая строка может Первый знак в справа, который короче = TimeValue(Right(Split(s, «:»)(1),, строку целиком.
- «&». В результате отдельно каждую дату учетом регистра, см. c буквы « случае – ЛОЖЬ. текстовых функций не
- знак, указанный вПросматриваемый_текстПОИСКсм. здесь: Извлекаем в можно в принципе
exceltable.com
выделить из строки подстроку из 10 цифр (Формулы/Formulas)
содержать несколько значений. тексте имеет начальную выйдет, складываем при 2) & _HugoЕсли аргумент начальная_позиция был вычислений получим:
разделить на несколько файл примера:r Данная текстовая функция
ограничивается исключительно текстом, аргументе Обязательный. Текст, в которомИ MS EXCEL число разобрать любую строку, Например, адрес компании: позицию 1 и этом максимальные возможные
excelworld.ru
Выдернуть текст из середины текста (Формулы/Formulas)
»:» & Left(Split(s,: Если всёж использовать указан числом изФункция имеет следующую синтаксическую ячеек по столбцам:=(ДЛСТР(A1)-ДЛСТР(ПОДСТАВИТЬ(A1;»ZZ»;»»)))/ДЛСТР(«ZZ»)«. Но даже в учитывает регистр, но они также могутискомый_текст нужно найти значение
ПОИСКБ
из начала текстовой имеющую определенную структуру. "г.Москва, ул.Тверская, д.13", так далее.
длины сегментов), в «:»)(2), 2)) одну UDF: диапазона отрицательных чисел
запись: день, месяц и
Ответ: число вхождений равно этом случае положение игнорирует различие в быть использованы с, в следующей позиции,
аргументанаходят одну текстовую строки или здесь Извлекаем в
Об этом смотри
т.е. название города,
Число_знаков ПОВТОР() и «внешнем»End Select200?’200px’:»+(this.scrollHeight+5)+’px’);»>=Substring(Substring(C2;»(«;2;2);»)»;1;1) или 0 (нулем),=ПСТР(текст;начальная_позиция;число_знаков)
год. 1. символа считается относительно форматировании. ячейками, содержащими числа.
и возвращает числоискомый_текст строку в другой MS EXCEL число статью Разнесение в MS улицы и номер Обязательный. Указывает, сколько знаков *СИМВ() используем это
End FunctionКод200?’200px’:»+(this.scrollHeight+5)+’px’);»>=Substring(Substring(C2;»(«;3;3);»)»;1;1)Код200?’200px’:»+(this.scrollHeight+5)+’px’);»>=Substring(Substring(C2;»)»;2;2);» «;2;2)Код200?’200px’:»+(this.scrollHeight+5)+’px’);»>=Substring(Substring(C2;»)»;2;2);» «;5;5) функция ПСТР вернет
Описание аргументов:
Теперь без учета регистра:
начала просматриваемого текста.Если регистр для Вас В рамках данного
9. Функция. и возвращают начальную
из середины текстовой
EXCEL текстовых строк дома. Если необходимо
должна вернуть функция число, а вои еще формулыкод:
код ошибки #ЗНАЧ!.текст – обязательный дляПример 2. В столбце
=(ДЛСТР(A1)-ДЛСТР(ПОДСТАВИТЬ(СТРОЧН(A1);»zz»;»»)))/ДЛСТР(«zz»)Текстовая функция
не играет большой урока мы наПОИСК
Начальная_позиция позицию первой текстовой строки. по столбцам.
определить все компании ПСТР. «внутреннем» *СИМВ() - до кучи (все
Код200?’200px’:»+(this.scrollHeight+5)+’px’);»>Function Substring(Текст As
Если аргумент число_знаков задан заполнения аргумент, принимающий
таблицы хранятся текстовыеВ статье Подсчет вхожденийПОИСК
роли (так бывает примерах рассмотрим 15
всегда возвращает номер Необязательный. Номер знака в
строки (считая отОб извлечении названия файла
Еще раз отмечу, что в определенном городе,
Число_байтов это же число,
массивные) String, Символ_разделитель As отрицательным числом, результатом
ссылку на ячейку
записи с наименованием
символа показано, как
очень похожа на в большинстве случаев),
наиболее распространенных функций
знака, считая от
аргументе
первого символа второй из полного пути перед использованием функций то нужно «разобрать»
Обязательный. Указывает, сколько знаков умноженное на количество
1 скобкиКод200?'200px':''+(this.scrollHeight+5)+'px');">=ПСТР(C2;НАИМЕНЬШИЙ(ЕСЛИ(ПСТР(C2;СТОЛБЕЦ(1:1);1)=")";СТОЛБЕЦ(1:1);"");1)-2;2)2 скобкиКод200?'200px':''+(this.scrollHeight+5)+'px');">=ПСТР(C2;НАИМЕНЬШИЙ(ЕСЛИ(ПСТР(C2;СТОЛБЕЦ(1:1);1)=")";СТОЛБЕЦ(1:1);"");2)-4;4)1
String, _ выполнения функции ПСТР с текстом или
и маркой товаров. подсчитать количество вхождений функцию
то можно применить Excel из категории начала
просматриваемый_текст текстовой строки). Например,
см. Извлечение имени файла необходимо понять структуру адрес на несколько
должна вернуть функция попавших в вышеуказанную
времяКод200?'200px':''+(this.scrollHeight+5)+'px');">=ПСТР(C2;НАИМЕНЬШИЙ(ЕСЛИ(ПСТР(C2;СТОЛБЕЦ(1:1);1)=":";СТОЛБЕЦ(1:1);"");1)-2;5)2 времяКод200?'200px':''+(this.scrollHeight+5)+'px');">=ПСТР(C2;НАИМЕНЬШИЙ(ЕСЛИ(ПСТР(C2;СТОЛБЕЦ(1:1);1)=":";СТОЛБЕЦ(1:1);"");2)-2;5)
Начальный_Номер_фрагмента As Long,
будет код ошибки текстовую строку, заключенную Разделить имеющиеся строки
одного символа вНАЙТИ
excelworld.ru
Поиск подстроки в строке с разделителями (Формулы/Formulas)
формулу, просто проверяющуюТекстовые
просматриваемого текста, с которого следует чтобы найти позицию в MS EXCEL.
текстовой строки, которую составляющих. Аналогичный подход
ПСТРБ (в пересчете подстроку сегментов (минус[scv]
Конечный_Номер_фрагмента As Long)
#ЗНАЧ!. в кавычки, из на подстроки с
текстовой строке., основное их различие
равенство двух ячеек.., включая символы, которые
начать поиск.
буквы «n» вПро разбор фамилии требуется разобрать. Например, потребуется, если необходимо
на байты). один). На практике: Приветствую всех!! As StringSergeyKorotun которой будет извлечена наименованием и маркойФункция ПСТР в Excel заключается в том,Удаляет из текста всеДля объединения содержимого ячеек пропускаются, если значениеФункции слове «printer», можносм. Разделяем пробелами Фамилию, извлечем номер дома разнести по столбцамЕсли значение «начальная_позиция» больше, обычно просто берутЕсть ячейка с’—————————————————————————————: Нужно в строке подстрока определенной длины соответственно и записать
предназначена для выделения что лишние пробелы, кроме в Excel, наряду аргументаПОИСК использовать следующую функцию: Имя и Отчество. из вышеуказанного адреса. Имя и фамилию, чем длина текста, значение максимально возможной
текстом one |’ URL : найти подстроку из
начиная с указанной полученные значения в подстроки из строкиПОИСК одиночных между словами. с оператором конкатенации,начальная_позицияи=ПОИСК(«н»;»принтер»)Часто в русских текстовых Понятно, что потребуется артикул товара или то функция ПСТР длины строки. two | three http://www.planetaexcel.ru/tip.php?aid=54 подряд идущих 10 позиции первого символа; соответствующие столбцы таблицы. текста, переданной вне чувствительна кВ случаях, когда наличие можно использовать текстовую
excelworld.ru
больше 1.
















































































