Excel удалить подстроку в строке

Skip to content

Как извлечь текст из ячейки при помощи функции ПСТР и специальных инструментов

ПСТР — одна из текстовых функций, которые Microsoft Excel предоставляет для управления текстовыми строками. На самом базовом уровне она используется для извлечения подстроки из середины текста. 

В этом руководстве мы обсудим синтаксис и особенности функции Excel ПСТР (в английской версии – MID), а затем вы узнаете несколько вариантов творческого её использования для выполнения сложных задач.

  • Синтаксис и особенности
  • Если 2 слова — извлекаем имя и фамилию
  • Как получить текст между двумя определенными символами
  • Как извлечь любое по счету слово
  • Получаем слово с нужными буквами или символами
  • Как заставить ПСТР возвращать число?
  • Использование регулярных выражений для извлечения части текста
  • Как извлечь текст из ячейки с помощью Ultimate Suite

Cинтаксис.

Функция ПСТР возвращает указанное количество знаков, начиная с указанной вами позиции.

Функция Excel ПСТР имеет следующие аргументы:

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

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

Все 3 аргумента обязательны.

Например, чтобы извлечь 6 знаков из A2, начиная с 17-го, используйте эту формулу:

=ПСТР(A2;17;6)

Результат может выглядеть примерно так:

5 вещей, которые вы должны знать о функции Excel ПСТР

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

  1. Функция ПСТР всегда возвращает текстовую строку, даже если извлеченная подстрока содержит только цифры. Это может иметь большое значение, если вы хотите использовать результат формулы ПСТР в других вычислениях. Чтобы преобразовать цифры в число, применяйте ПСТР в сочетании с функцией ЗНАЧЕН (VALUE в английской версии), как показано в этом примере. (ссылка на последний раздел).
  2. Когда начальная позиция больше, чем общая длина исходного текста, формула Excel ПСТР возвращает пустое значение («»).
  3. Если начальная позиция  меньше 1, формула ПСТР возвращает ошибку #ЗНАЧ!.
  4. Когда третий аргумент меньше 0 (отрицательное число), формула ПСТР возвращает ошибку #ЗНАЧ!. Если количество знаков для извлечения равно 0, выводится пустая строка (пустая ячейка).
  5. В случае, если сумма начальной позиции и количества знаков превышает общую длину исходного текста, функция ПСТР в Excel возвращает подстроку начиная с начальной позиции и до последнего символа.

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

Как извлечь имя и фамилию.

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

Получаем имя.

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

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

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

Получаем фамилию.

Чтобы извлечь фамилию из A2, используйте эту формулу:

=СЖПРОБЕЛЫ(ПСТР(A2;ПОИСК(» «;A2);ДЛСТР(A2)))

Опять же, вы используете ПОИСК, чтобы определить начальную позицию (пробел). Нам не нужно точно рассчитывать конечную позицию (как вы помните, если вместе взятые начальная позиция и количество символов больше, чем общая длина текста, возвращаются просто все оставшиеся). Итак, в аргументе количество символов вы просто указываете общую первоначальную длину , возвращаемую функцией ДЛСТР . Впрочем, вместо этого вы можете просто ввести число, представляющее самую длинную фамилию, которую вы ожидаете найти, например 100. Наконец,  СЖПРОБЕЛЫ удаляет лишние интервалы, и вы получаете следующий результат:

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

Продолжим предыдущий пример. А если, помимо имени и фамилии, ячейка A2 также содержит отчество, то как его извлечь?

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

  • Как и в предыдущем примере, используйте ПОИСК, чтобы определить позицию первого (» «), к которому вы добавляете 1, потому что вы хотите начать с символа, следующего за ним. Таким образом, вы получаете адрес начальной позиции: ПОИСК (» «; A2) +1
  • Затем вычислите позицию 2- го интервала, используя вложенные функции поиска, которые предписывают Excel начать поиск именно со 2-го:                                                  ПОИСК (» «; A2, ПОИСК (» «; A2) +1)

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

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

Соединив все аргументы, мы получаем формулу для извлечения подстроки между двумя пробелами:

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

На следующем скриншоте показан результат:

Аналогичным образом вы можете извлечь текст между любыми другими разделителями:

ПСТР( строка ; ПОИСК( разделитель ; строка ) +1; ПОИСК( разделитель ; строка ; ПОИСК( разделитель ; строка ) +1) — ПОИСК( разделитель ; строка ) -1)

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

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

На следующем рисунке эта формула используется для извлечения из адреса названия города, и она отлично справляется со своей задачей:

Как получить N-е слово из текста.

Этот пример демонстрирует оригинальное использование сложной формулы ПСТР в Excel, которое включает 5 различных составных частей:

  • ДЛСТР — чтобы получить общую длину.
  • ПОВТОР — повторение определенного знака заданное количество раз.
  • ПОДСТАВИТЬ — заменить один символ другим.
  • ПСТР — извлечь подстроку.
  • СЖПРОБЕЛЫ — удалить лишние интервалы между словами.

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

СЖПРОБЕЛЫ(ПСТР(ПОДСТАВИТЬ( строка ; » «; ПОВТОР (» «; ДЛСТР( строка ))); ( N -1) * ДЛСТР( строка ) +1; ДЛСТР( строка )))

Где:

  • Строка — это исходный текст, из которого вы хотите извлечь желаемое слово.
  • N – порядковый номер слова, которое нужно получить.

Например, чтобы вытащить второе слово из A2, используйте это выражение:

=СЖПРОБЕЛЫ(ПСТР(ПОДСТАВИТЬ($A$2;» «;ПОВТОР(» «;ДЛСТР($A$2))); (2-1)*ДЛСТР($A$2)+1; ДЛСТР($A$2)))

Или вы можете ввести порядковый номер слова, которое нужно извлечь (N) в какую-либо ячейку, и указать эту ячейку в формуле, как показано на скриншоте ниже:

Как работает эта формула?

По сути, Excel «оборачивает» каждое слово исходного текста множеством пробелов, находит нужный блок «пробелы-слово-пробелы», извлекает его, а затем удаляет лишние интервалы. Чтобы быть более конкретным, это работает по следующей логике:

  • ПОДСТАВИТЬ и ПОВТОР заменяют каждый пробел в тексте несколькими. Количество этих дополнительных вставок равно общей длине исходной строки: ПОДСТАВИТЬ($A$2;» «;ПОВТОР(» «;ДЛСТР($A$2)))

Вы можете представить себе промежуточный результат как «астероиды» слов, дрейфующих в пространстве, например: слово1-пробелы-слово2-пробелы-слово3-… Эта длинная строка передается в текстовый аргумент ПСТР.

  • Затем вы определяете начальную позицию для извлечения (первый аргумент), используя следующее уравнение: (N-1) * ДЛСТР(A1) +1. Это вычисление возвращает либо позицию первого знака первого слова, либо, чаще, позицию в N-й группе пробелов.
  • Количество букв и цифр для извлечения (второй аргумент) — самая простая часть — вы просто берете общую первоначальную длину: ДЛСТР(A2).
  • Наконец, СЖПРОБЕЛЫ избавляется от начальных и конечных интервалов в извлечённом тексте.

Приведенная выше формула отлично работает в большинстве ситуаций. Однако, если между словами окажется 2 или более пробелов подряд, это даст неверные результаты (1). Чтобы исправить это, вложите еще одну функцию СЖПРОБЕЛЫ в ПОДСТАВИТЬ, чтобы удалить лишние пропуски между словами, оставив только один, например:

=СЖПРОБЕЛЫ(ПСТР(ПОДСТАВИТЬ(СЖПРОБЕЛЫ($A$2);» «; ПОВТОР(» «;ДЛСТР($A$2))); (B2-1)*ДЛСТР($A$2)+1; ДЛСТР($A$2)))

Следующий рисунок демонстрирует улучшенный вариант (2) в действии:

Если ваш исходный текст содержит несколько пробелов между словами, а также очень большие или очень короткие слова, дополнительно вставьте СЖПРОБЕЛЫ в каждое ДЛСТР, чтобы вы были застрахованы от ошибки:

=СЖПРОБЕЛЫ(ПСТР(ПОДСТАВИТЬ(СЖПРОБЕЛЫ($A$2);» «; ПОВТОР(» «;ДЛСТР(СЖПРОБЕЛЫ ($A$2)))); (B2-1)*ДЛСТР(СЖПРОБЕЛЫ($A$2))+1; ДЛСТР(СЖПРОБЕЛЫ($A$2))))

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

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

В этом примере показана еще одна нестандартная формула Excel ПСТР, которая извлекает слово, содержащее определенную букву или цифру, из любого места:

СЖПРОБЕЛЫ(ПСТР(ПОДСТАВИТЬ ( строка , » «, ПОВТОР(» «, 99)), МАКС(1, НАЙТИ( символ , ПОДСТАВИТЬ( строка , » «, ПОВТОР(» «, 99))) — 50), 99))

Предполагая, что исходный текст находится в ячейке A2, и вы хотите получить слово, содержащее символ «$» (цена), выражение принимает следующую форму:

=СЖПРОБЕЛЫ(ПСТР(ПОДСТАВИТЬ(A2;» «;ПОВТОР(» «;99)); МАКС(1;НАЙТИ(«$»;ПОДСТАВИТЬ(A2;» «;ПОВТОР(» «;99)))-50);99))

Аналогичным образом вы можете извлекать адреса электронной почты (на основе знака «@»), имена веб-сайтов (на основе «www») и так далее.

Теперь разберём пошагово:

Как и в предыдущем примере, ПОДСТАВИТЬ и ПОВТОР превращают каждый пробел в исходном тексте в несколько, точнее, в 99.

НАЙТИ находит позицию нужного символа (в данном примере $), из которой вы вычитаете 50. Это возвращает вас на 50 позиций назад и помещает где-то в середине блока из 99 пробелов, который предшествует слову, содержащему указанный символ.

МАКС используется для обработки ситуации, когда нужное значение появляется в начале исходного текста. В этом случае результат ПОИСК() — 50 будет отрицательным числом, а МАКС(1, ПОИСК() — 50) заменяет его на 1.

С этой начальной точки ПСТР отбирает следующие 99 знаков и возвращает интересующее нас слово, окруженное множеством пробелов. Как обычно, СЖПРОБЕЛЫ помогает избавиться от лишних из них, оставив только один.

Совет. Если извлекаемый отрезок очень большой, замените 99 и 50 на более крупные числа, например 1000 и 500.

Как заставить ПСТР возвращать число?

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

Чтобы преобразовать результат в число, просто передайте полученный результат в функцию ЗНАЧЕН (VALUE в английской версии), которая преобразует текстовое значение, состоящее из цифр, в число.

Например, чтобы извлечь подстроку из 3 символов, начинающуюся с 7- го символа, и преобразовать ее в число, используйте:

=ЗНАЧЕН(ПСТР(A2;7;3))

На скриншоте ниже показан результат. Обратите внимание, что числа с выравниванием по правому краю помещены в столбец B, в отличие от исходных текстовых значений с выравниванием по левому краю в столбце A:

Тот же подход работает и для более сложных случаев. В приведенном выше примере, предполагая, что коды ошибок имеют переменную длину, вы можете извлечь их с помощью ПСТР, которая получает подстроку между двумя разделителями, вложенную в ЗНАЧЕН:

=ЗНАЧЕН(ПСТР(A2;ПОИСК(«:»;A2)+1;ПОИСК(«:»;A2;ПОИСК(«:»;A2)+1)-ПОИСК(«:»;A2)-1))

Вот как можно использовать функцию ПСТР в Excel. 

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

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

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

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

Вот пример: из наименования товара — Коммутатор Optimus U1E-8F/1G/1S, нужно извлечь номер модели. Поскольку этот номер находится в конце наименования, то будем искать то, что записано после последнего пробела.

= RegExpExtract(A1; «([^s.]+)$»)

В результате получим U1E-8F/1G/1S, что и требовалось.

Как извлечь текст из ячейки с помощью Ultimate Suite

Как вы только что видели, Microsoft Excel предоставляет набор различных функций для работы с текстовыми строками. Если вам нужно извлечь какое-то слово или часть текста из ячейки, но вы не уверены, какая функция лучше всего подходит для ваших нужд, передайте работу Ultimate Suite for Excel. Заодно не придётся возиться с формулами.

Вы просто переходите на вкладку Ablebits Data > Текст, выбираете инструмент Split Text и в выпадающем списке нажимаете Извлечь (Extract) :

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

  1. Укажите, сколько символов вы хотите получить из начала, конца или середины строки; или выберите извлечение всего текста до или после определенного символа.
  2. Щелкните Вставить результаты (Insert Results). Готово!

Кроме того, вы можете извлечь любое число символов с начала или в конце текста, из середины текста, между какими-то символами. Например, чтобы извлечь доменные имена из списка адресов электронной почты, вы выбираете чекбокс Все после текста (All after text) и вводите @ в поле рядом с ним. Чтобы извлечь имена пользователей, выберите переключатель Все до текста (All before text), как показано на рисунке ниже.

Помимо скорости и простоты, инструмент «Извлечь текст» имеет дополнительную ценность — он поможет вам изучить формулы Excel в целом и функции подстроки в частности. Как? Выбрав флажок Вставить как формула (Insert as formula)  в нижней части панели, вы убедитесь, что результаты выводятся в виде формул, а не просто как значения. Естественно, эти формулы вы можете использовать в других таблицах.

В этом примере, если вы выберете ячейки B2 и C2, вы увидите следующие формулы соответственно:

  • Чтобы извлечь имя пользователя:

=ЕСЛИОШИБКА(ЛЕВСИМВ(A2,ПОИСК(«@»,A2)-1),»»)

  • Чтобы извлечь домен:

=ЕСЛИОШИБКА(ПРАВСИМВ(A2, ДЛСТР(A2)- ПОИСК(«@»,A2) — ДЛСТР(«@») + 1),»»)

Сколько времени вам потребуется, чтобы самостоятельно составить эти выражения?  ;)

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

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

Благодарю вас за чтение и надеюсь увидеть вас в нашем блоге на следующей неделе!

Как быстро посчитать количество слов в Excel В статье объясняется, как подсчитывать слова в Excel с помощью функции ДЛСТР в сочетании с другими функциями Excel, а также приводятся формулы для подсчета общего количества или конкретных слов в…
Как быстро извлечь число из текста в Excel В этом кратком руководстве показано, как можно быстро извлекать число из различных текстовых выражений в Excel с помощью формул или специального инструмента «Извлечь». Проблема выделения числа из текста возникает достаточно…
Как удалить пробелы в ячейках Excel Вы узнаете, как с помощью формул удалять начальные и конечные пробелы в ячейке, лишние интервалы между словами, избавляться от неразрывных пробелов и непечатаемых символов. В чем самая большая проблема с…
Функция СЖПРОБЕЛЫ — как пользоваться и примеры Вы узнаете несколько быстрых и простых способов, чтобы удалить начальные, конечные и лишние пробелы между словами, а также почему функция Excel СЖПРОБЕЛЫ (TRIM в английской версии)  не работает и как…
Функция ПРАВСИМВ в Excel — примеры и советы. В последних нескольких статьях мы обсуждали различные текстовые функции. Сегодня наше внимание сосредоточено на ПРАВСИМВ (RIGHT в английской версии), которая предназначена для возврата указанного количества символов из крайней правой части…
Функция ЛЕВСИМВ в Excel. Примеры использования и советы. В руководстве показано, как использовать функцию ЛЕВСИМВ (LEFT) в Excel, чтобы получить подстроку из начала текстовой строки, извлечь текст перед определенным символом, заставить формулу возвращать число и многое другое. Среди…
5 примеров с функцией ДЛСТР в Excel. Вы ищете формулу Excel для подсчета символов в ячейке? Если да, то вы, безусловно, попали на нужную страницу. В этом коротком руководстве вы узнаете, как использовать функцию ДЛСТР (LEN в английской версии)…
Как быстро сосчитать количество символов в ячейке Excel В руководстве объясняется, как считать символы в Excel. Вы изучите формулы, позволяющие получить общее количество символов в диапазоне и подсчитывать только определенные символы в одной или нескольких ячейках. В нашем предыдущем…

Как удалить заданное число символов в середине строки?

С помощью каких формул это можно сделать?

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

Чтобы получить содержимое ячейки, содержащей текст ячейки с удаленным первым или последним символом используют функцию выделения подстроки:ПСТР(текст;начальный символ;количество символов)

для определения количества символов используют функцию длины строки ДЛСТР(текст)

если текст «абвгдежзиклмн» находится в ячейке A1 то формулы будут такими:

  • строка с удаленным первым символом ячейки =ПСТР(A1;2;ДЛСТР(A1)-1) (результат бвгдежзиклмн)
  • строка с удаленным последним символом ячейки =ПСТР(A1;1;ДЛСТР(A1)-1) (результат абвгдежзиклм)
  • строка с удаленными первым и последним символами ячейки =ПСТР(A1;2;ДЛСТР(A1)-2) (результат бвгдежзиклм)
  • часть строки в 5 символов , начиная с 3-го символа =ПСТР(A1;3;5) (результат вгдеж)

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

например: вырезаем 3 символа, начиная с символа 3 и 4 символа, начиная с символа 7:

=ПСТР(A1;3;3)&ПСТР(A1;7;4) (результат вгджзик)

если нужно в результат включить строку, то она тоже добавляется символом &

=ПСТР(A1;3;3)&». «&ПСТР(A1;7;4) (результат вгд. жзик)

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

Рассмотрим различные ситуации.

Удаление первого символа в ячейке

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

ПРАВСИМВ — возвращает заданное число символов справа.

ДЛСТР — длина строки.

ПРАВСИМВ имеет 2 аргумента:

1) Ссылка на ячейку, из которой нужно вернуть символы. Например, B3.

2) Количество символов. В нашем случае это будет вся строка за исключением первого символа. Поэтому пишем ДЛСТР(B3)-1.

Формула выглядит так:

ПРАВСИМВ(Ссылка на ячейку;ДЛСТР(Ссылка на ячейку)-1).

Удаление последнего символа в ячейке

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

Эта функция работает также, как и ПРАВСИМВ — только возвращает не правые символы, а левые.

убрать последний символ в excel

Формула для удаления последнего символа будет такой:

ЛЕВСИМВ(Ссылка на ячейку;ДЛСТР(Ссылка на ячейку)-1).

Удаление первого и последнего символа в ячейке

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

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

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

1) Ссылка на ячейку.

2) Начальная позиция. В нашем случае она равна 2, так как первый символ нас не интересует.

3) Количество знаков, которые нужно извлечь. Пишем ДЛСТР(B3)-2, так как нужно вернуть все символы из ячейки, кроме первого и последнего.

удалить символы в строке excel

Формула будет такой:

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

Иногда бывает, что нужно удалить не 1 крайний символ в ячейке, а несколько.

В этом случае можно использовать всё те же функции, только в аргументах ЛЕВСИМВ и ПРАВСИМВ пишем не ДЛСТР(B3)-1, а ДЛСТР(B3)-n.

n — число символов, которые нужно удалить.

1) ПРАВСИМВ(B3;ДЛСТР(B3)-3). Удаляем 3 первых символа.

2) ЛЕВСИМВ(B3;ДЛСТР(B3)-5). Удаляем 5 символов с конца.

Удаление символов в середине ячейки

Для этого в Excel существует функция ЗАМЕНИТЬ. Она имеет 4 аргумента:

1) Ссылка на ячейку.

2) Начальная позиция. Например, если нам нужно удалять данные с 3 символа, то пишем «3».

3) Число знаков. Сюда пишем число удаляемых символов. Например, «3».

4) Новый текст. Так как нам нужно именно убрать данные символы, то пишем «» (две кавычки без пробела).

Таким образом, формула будет выглядеть так:

Она удаляет с 3 по 5 символ в ячейке.

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

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

Требуется убрать «12» со всех ячеек.

1) Набираем комбинацию клавиш Ctrl + F, чтобы появилось окно «Найти и заменить».

2) Переходим на вкладку «Заменить».

В поле «Найти» пишем текст, который нам не нужен в ячейках. То есть 12.

А в поле «Заменить» ничего не пишем.

3) Нажимаем на кнопку «Заменить всё» — текст в ячейках станет такой, который был нам нужен.

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

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

ЛЕВСИМВ и ПРАВСИМВ — возвращает заданное число символов слева и справа, соответственно.

ДЛСТР — длина строки, функция будет выполнять вспомогательную роль.

ПСТР — формирует подстроку из исходной строки текста на указанную длину и с определённой позиции.

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

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

Будем использовать такую формулу:

Так как серия паспорта записана слева, то нужна функция ЛЕВСИМВ.

ДЛСТР(B2)-НАЙТИ(«номер»;B2) — здесь мы нашли с какой позиции начинаются ненужные нам символы и отняли эту цифру из длины строки.

А 1 вычитается из-за того, что перед словом «номер» стоит пробел. В принципе, можно было не вычитать 1, а просто написать в формуле пробел перед номером: ДЛСТР(B2)-НАЙТИ(» номер»;B2).

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

Только при вставке не забываем выбрать «Вставить только значения».

А ячейки с уже неработающими формулами, разумеется, можно очистить.

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

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

Пусть у нас будет вот такая таблица:

Мы видим, что во втором столбце у нас уже выполнено задание — удален первый символ. Формула использована вот такая: ПРАВСИМВ(B3;ДЛСТР(B3­ )-1). То есть что мы с вами делаем: мы длину строки делаем меньше на один символ, при этом количество символов оставшееся программа считает справа, то есть лишним у нас оказывается левый, то есть первый символ, он и удаляется программой.

Несложно догадаться, что для удаления последнего символа нужно использовать немного другую формулу: ЛЕВСИМВ(B3;ДЛСТР(B3)-1) (применительно к этой же таблице. Для удаления первого и последнего символа

Таким же образом можно удалить несколько, а не один символ, справа или слева, просто пишем в формуле не (B3)-1, а, например, (B3)-3, и тогда удалится 3 символа справа или слева в соответствии с полной формулой.

Чтобы удалить символы в середине ячейки, используем другую формулу, применительно все к той же таблице, если мы хотим удалить три центральных символа, эта формула будет выглядеть так: ЗАМЕНИТЬ(B3;3;3;»»), где В3, это ячейка с первоначальным текстом с полным набором символов, первая 3 — первый символ, который надо удалить, вторая 3 — количество символов, которые надо удалить, затем идут кавычки, так как это формула замены, то в них можно было бы указать символы, которые мы хотим поставить вместо удаленных, но мы хотим просто удалить три символа, поэтому в кавычках у нас ничего нет. Вот что получилось в итоге:

Как обрезать символы в Excel

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

Как обрезать символы при помощи формул?

Как оставить заданное количество символов в начале строки, остальные удалить?

Ввести в ячейку стандартную текстовую функцию Excel «ЛЕВСИМВ», которая возвращает заданное количество знаков с начала строки.

Как удалить заданное количество знаков в начале строки, остальные оставить?

Ввести в ячейку комбинацию стандартных функций Excel «ПРАВСИМВ» и «ДЛСТР», которая определяет длину строки, то есть количество символов в значении указанной ячейки.

Как оставить заданное количество символов в конце строки, остальные удалить?

Ввести в ячейку стандартную текстовую функцию Excel «ПРАВСИМВ», которая возвращает заданное количество знаков с конца строки.

Как удалить заданное количество знаков в конце строки, остальные оставить?

Ввести в ячейку комбинацию стандартных функций Excel «ЛЕВСИМВ» и «ДЛСТР»

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

Как обрезать символы без ввода формул?

Надстройка для быстрой обрезки текста

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

1. обрезать заданное количество символов слева;

2. обрезать заданное количество символов справа;

3. обрезать значения ячеек до первого попавшегося заданного символа (сочетания символов);

4. обрезать значения ячеек до последнего попавшегося символа (сочетания символов).

kak obrezat tekst v excel

В надстройку зашиты функции, аналогичные тем, которые описаны выше, что сокращает время на:

— выделение диапазона ячеек.

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

Разбиение текста по столбцам

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

Шаг1. Выбор формата исходных данных.

Master tekstov shag1

Шаг2. Установка нужной ширины полей.

Master tekstov shag2

Количество полей при этом не ограничено.

Шаг 3. Просмотр и получение результатов.

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

Как убрать часть текста из ячейки?

Подскажите, пожалуйста, как в ячейке убрать эту часть:

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

user avatar

вводится в окне поиска/замены.

user avatar

Для переноса текста в другую строку (в одной ячейке) существует специальный символ переноса строки — СИМВОЛ(10) . Инструмент НАЙТИ/ЗАМЕНИТЬ видит вместо символа переноса строка СИМВОЛ(32) — пробел. Естественно, фрагмента с пробелам он не находит.

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

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

Еще в один столбец внести формулу и протянуть ее на нужное количество строк.

В столбце А тексты, в столбце В (или только в ячейке B1) — удаляемый фрагмент.

  • Удалить текст до последнего символа
  • Удалить текст до первого пробела – формула
  • Удалить текст до первой цифры
  • Удаление текста в 1-2 клика с !SEMTools

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

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

В этой статье я подробно опишу известные мне варианты. Поехали!

Удалить текст до последнего символа

Наиболее просто удалить текст в диапазоне ячеек до последнего вхождения заданного символа или текста. Можно воспользоваться процедурой “Найти и заменить”:

  • выделить диапазон;
  • вызвать процедуру поиска и замены со вкладки “Главная” или сочетанием клавиш Ctrl + H;
  • использовать подстановочный символ * (звёздочку) прямо перед искомым в строке поиска;
  • оставить пустым второе поле и нажать «ОК».

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

Удалить текст до первого пробела – формула

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

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

=ЗАМЕНИТЬ(A2;1;ПОИСК(" ";A2);"")
Удалить текст до первого пробела - формула
Результат применения формулы

Формулы для других символов аналогичны.

Убрать текст в ячейке до первой запятой:

=ЗАМЕНИТЬ(A2;1;ПОИСК(",";A2);"")

До точки:

=ЗАМЕНИТЬ(A2;1;ПОИСК(".";A2);"")

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

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

=ЗАМЕНИТЬ(A2;1;ПОИСК("д. ";A2)+2;"")
Удалить текст в ячейке до определенного слова

Удалить текст до первой цифры

Пожалуй, вы уже догадались, но я все же объясню, как работают формулы выше:

  1. excel-функция ПОИСК ищет позицию первого вхождения текстового паттерна (он всегда в кавычках). Соответствующий фрагмент выделен красным;
  2. функция ЗАМЕНИТЬ принимает эту позицию как аргумент;
  3. она же заменяет фрагмент от первого символа до этой позиции на пустоту (две кавычки подряд), таким образом, удаляя его.

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

{=МИН(ЕСЛИОШИБКА(ПОИСК(СИМВОЛ(СТРОКА(48:57));A1);""))}

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

{=ЗАМЕНИТЬ(A2;1;МИН(ЕСЛИОШИБКА(ПОИСК(СИМВОЛ(СТРОКА($48:$57));A2);""))-1;"")}

Что за числа 48 и 57, можно прочитать подробнее тут:

Функция СИМВОЛ в Excel

Обратите внимание на фигурные скобки! Их не нужно вводить, они появятся сами при вводе формулы сочетанием клавиш Ctrl + Shift + Enter.

Формула выдаст ошибку, если цифр в строке нет.

Результат применения формулы для удаления текста до первой цифры
Убираем текст до первой цифры в ячейках формулами массива

Удаление текста в 1-2 клика с !SEMTools

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

В каждом из случаев нужно вводить много символов и производить много действий.

Для экономии времени я включил быстрые процедуры в меню своей надстройки для Excel – !SEMTools.

Теперь удалить текст до первого или последнего вхождения конкретного символа или подстроки, включая и не включая сам текст, можно в считанные мгновения!

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

Смотрите пример:

Удаление текста до определенного символа в Excel с !SEMTools
Удаляем символы в тексте до первого или последнего вхождения определенного текста с !SEMTools

Найти повторяющиеся значения в Excel и решить сотни других задач поможет надстройка !SEMTools.

Скачайте прямо сейчас и убедитесь сами!


Смотрите также по теме:

  • Удалить последнее слово из ячейки;
  • Удалить первое слово в ячейках Excel;
  • Удалить первые N символов в ячейках;
  • Извлечь первые N символов ячейки.

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

Удаление текста справа или слеваФункции, которая отрезает лишнее количество символов в ячейке, найти не удается, но существует система из двух функций, которые можно применить. Это система из функции ЛЕВСИМВ (или ПРАВСИМВ) и функции ДЛСТР (длина строки).

Рассмотрим их применение.

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

    Зная длину лишнего текста — 6 знаков в индексе, вычитаем их из общего числа символов посчитанных функцией ДЛСТР и получаем то количество символов, которое должно остаться в тексте, когда удалим индекс.

    Полученное значение – количество оставляемых в тексте знаков, вписываем в функцию ЛЕВСИМВ или ПРАВСИМВ. Если нужно удалить знаки справа, то используем ЛЕВСИМВ, если слева, то ПРАВСИМВ. Нажимаем «Enter». Функция ЛЕВСИМВ или ПРАВСИМВ присваивает ячейке нужное нам количество символов из текста в новую ячейку, исключая ненужный нам индекс.

    Для уменьшения количества ячеек с расчетами эти функции можно записать в систему следующего вида:

    ПРАВСИМВ(…*¹;(ДЛСТР(…*¹)-6)).

    Где …*¹- адрес ячейки, из которой берем текст.

    • Редакция Кодкампа

    17 авг. 2022 г.
    читать 2 мин


    Вы можете использовать следующие основные формулы для удаления определенного текста из ячеек в Excel:

    Способ 1: удалить один конкретный текст

    =SUBSTITUTE( A1 ,"text1","")
    

    Эта конкретная формула удаляет «text1» из ячейки A1 .

    Способ 2: удалить несколько определенных текстов

    =SUBSTITUTE(SUBSTITUTE(SUBSTITUTE( A1 ,"text1",""),"text2",""),"text3","")
    

    Эта конкретная формула удаляет «текст1», «текст2» и «текст3» из ячейки A1 .

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

    Пример 1: удалить один конкретный текст

    Предположим, у нас есть следующий столбец в Excel, в котором показаны позиции 15 разных баскетболистов:

    Мы можем использовать следующую формулу, чтобы удалить «r» из каждого имени позиции:

    =SUBSTITUTE( A2 ,"r","")
    

    Мы можем ввести эту формулу в ячейку B2 , а затем скопировать и вставить ее в каждую оставшуюся ячейку в столбце B:

    Excel удалить определенный текст из ячейки

    Обратите внимание, что буква «r» была удалена из всех названий позиций.

    Пример 2. Удаление нескольких определенных текстов

    Предположим, у нас есть следующий столбец в Excel, который показывает имя пользователя для 10 разных людей на каком-то веб-сайте:

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

    • тире ( )
    • восклицательные знаки ( ! )
    • число 5 ( 5 )

    Для этого мы можем использовать следующую формулу:

    =SUBSTITUTE(SUBSTITUTE(SUBSTITUTE( A2 ,"-",""),"!",""),"5","")
    

    Мы можем ввести эту формулу в ячейку B2 , а затем скопировать и вставить ее в каждую оставшуюся ячейку в столбце B:

    Обратите внимание, что все «-», «!» и «5» были удалены из каждого имени пользователя.

    Дополнительные ресурсы

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

    Excel: как проверить, содержит ли ячейка частичный текст
    Excel: как проверить, содержит ли ячейка текст из списка
    Excel: как рассчитать среднее значение, если ячейка содержит текст
    Excel: как подсчитать частоту текста

    Понравилась статья? Поделить с друзьями:
  • Excel удалить по маске
  • Excel удаление сводной таблицы
  • Excel удалить первые 3 символа ячейки
  • Excel удаление пустых строк формулой
  • Excel удалить пароль онлайн