Извлечение текста между двумя символами в Excel и Google Sheets

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

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

Как извлечь текст между двумя символами в Excel

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

СРЕДНЯЯ(клеткаПОИСК(символ1, клетка) + 1, ПОИСК(char2, клетка) — ПОИСК(символ1, клетка) — 1)

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

=СРЕДН(A2, ПОИСК(«(«, A2)+1, ПОИСК(«)», A2) — ПОИСК(«(«, A2) -1)
Извлечение текста между двумя символами в Excel

Аналогичным образом вы можете извлечь текст между фигурными скобками, квадратными скобками, угловыми скобками и так далее.

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

Например:

=СРЕДН(A2, ПОИСК(«(«, A2)+1, ПОИСК(«)», A2) — ПОИСК(«(«, A2) -1) *1

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

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

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

MID(текст, start_num, num_chars)

Текст это ячейка, содержащая исходную строку (A2).

Исходное положение (start_num) — это символ, который следует сразу за открывающей скобкой. Итак, вы находите позицию «(» с помощью функции ПОИСК и добавляете к ней 1:

ПОИСК(«(«, A2) +1

Чтобы выяснить, сколько символов нужно извлечь (num_chars), вы определяете положение закрывающих скобок и вычитаете из него положение открывающих скобок. Кроме того, вы вычитаете 1, чтобы исключить вторые круглые скобки:

ПОИСК(«)», A2) — ПОИСК(«(«, A2) -1

Имея все необходимые данные, функция MID выдает именно то, что вам нужно — в нашем случае текст в скобках:

СРЕДНЯЯ(A2, 19, 2)

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

Извлечь текст между двумя строками/словами в Excel

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

СРЕДНЯЯ(клеткаПОИСК(слово1, клетка) + ДЛСТР(слово1), ПОИСК(слово2, клетка) — ПОИСК(слово1, клетка) — ЛЕН(слово1))

Например, для извлечения подстрок между словами «начало» и «конец» используется следующая формула:

=ЕСЛИОШИБКА(СРЕДН(A2, ПОИСК(«начало», A2) + ДЛСТР(«начало»), ПОИСК(«конец», A2) — ПОИСК(«начало», A2) — ДЛСТР(«начало»)), » «)
Формула для извлечения текста между двумя словами в Excel

Советы:

  • Чтобы избежать начальных и конечных пробелов в результатах, включите пробел после слова 1, такого как «начало», и перед словом 2, таким как «конец». Кроме того, вы можете использовать функцию TRIM, чтобы избавиться от лишних пробелов.
  • Если одно или оба указанных слова не найдены в исходной строке, формула вернет ошибку #ЗНАЧ! ошибка. Чтобы перехватить эту ошибку и заменить ее пустой строкой («»), используйте функцию ЕСЛИОШИБКА, как показано в приведенном выше примере.

Получить текст между двумя экземплярами одного и того же символа в Excel

Общая формула для извлечения текста из строки между двумя вхождениями одного и того же символа:

СРЕДНЯЯ(клеткаПОИСК(уголь, клетка) +1, ПОИСК (уголь, клеткаПОИСК (уголь, клетка) +1) — ПОИСК (уголь, клетка)-1)

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

=СРЕДН(A2, ПОИСК(«»»», A2) +1, ПОИСК(«»»», A2, ПОИСК(«»»»,A2) +1) — ПОИСК(«»»», A2) -1 )

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

Другой способ поставить двойную кавычку («») в формулу Excel — использовать функцию СИМВОЛ с кодовым номером 34.

=MID(A2, ПОИСК(СИМВОЛ(34), A2) +1, ПОИСК(СИМВОЛ(34), A2, ПОИСК(СИМВОЛ(34),A2) +1) — ПОИСК(СИМВОЛ(34), A2) -1 )
Получить текст между двойными кавычками.

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

Первые два аргумента этой формулы MID не вызывают вопросов:

  • A2 — это текстовая строка для поиска, а
  • SEARCH(«»»», A2) +1 — начальный номер, т.е. позиция первой кавычки +1.

Самая сложная часть — вычисление количества символов для извлечения (num_chars):

Во-первых, мы находим позицию второй цитаты, вложив одну функцию ПОИСК в другую.

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

Из позиции 2-й цитаты (в А2 это 27) вычесть позицию 1-й цитаты (в А2 это 10), а затем вычесть 1, чтобы исключить из результата саму цитату:

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

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

=СРЕДНЕЕ(A2, 10+1, 16)

Проще говоря, MID ищет ячейку A2, начиная с символа после первой кавычки (10+1), и возвращает следующие 16 символов.

Формула Excel с учетом регистра для извлечения текста между символами

Как вы, наверное, знаете, в Microsoft Excel есть две функции для поиска строк: ПОИСК (без учета регистра) и НАЙТИ (с учетом регистра).

В ситуации, когда разделителем является буква в конкретном регистре, просто используйте НАЙТИ вместо ПОИСК. Чтобы проиллюстрировать разницу, давайте сравним две приведенные ниже формулы.

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

Функция ПОИСК в этом случае работает некорректно, так как не различает «х» и «Х»:

=СРЕДН(A2, ПОИСК(«X», A2) +1, ПОИСК(«X», A2, ПОИСК(«X»,A2) +1) — ПОИСК(«X», A2) -1) +0

В результате извлекается текст между «x», а не между «X», который мы ищем:
Формула без учета регистра для получения текста между двумя символами

В то время как функция НАЙТИ с учетом регистра работает прекрасно:

=СРЕДН(A2, НАЙТИ(«X», A2) +1, НАЙТИ(«X», A2, НАЙТИ(«X»,A2) +1) — НАЙТИ(«X», A2) -1) +0

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

Извлечение текста между символами в Excel 365

В Excel 365 вы можете легко получить текст между символами, используя функции ТЕКСТПЕРЕД и ТЕКСТПОСЛЕ.

ТЕКСТПЕРЕД(ТЕКСТПОСЛЕ(клетка, символ1), char2)

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

=ТЕКСТПЕРЕД(ТЕКСТПОСЛЕ(A2, «(«), «)»)
Простая формула для извлечения текста между скобками

Эта формула также хорошо работает для извлечения текста между двумя вхождениями одного и того же символа.

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

=ТЕКСТПЕРЕД(ТЕКСТПОСЛЕ(A2, «»»»), «»»»)
Формула Excel 365 для получения текста между двойными кавычками

По умолчанию обе функции TEXTAFTER и TEXTBEFORE чувствительны к регистру. Чтобы отключить чувствительность к регистру, вы устанавливаете 4-й аргумент (match_mode) на 1 или ИСТИНА.

Например, приведенная ниже формула без учета регистра распознает как строчную букву «x», так и прописную букву «X» в качестве разделителя:

=ТЕКСТПЕРЕД(ТЕКСТПОСЛЕ(A2, «x», ,1), «x», ,1) +0
Формула без учета регистра для извлечения текста между символами в Excel 365

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

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

ТЕКСТ ПОСЛЕ(A2, «(«)

И передать возвращенную подстроку функции TEXTBEFORE, попросив ее найти закрывающие круглые скобки в этой подстроке и вернуть текст перед ней.

TEXTBEFORE(«Непредвиденная ошибка)», «)»)

Сделанный 🙂

Получить текст между двумя символами в Google Sheets

Чтобы найти текст между двумя символами в Google Sheets, вам не нужно изобретать велосипед 🙂

Комбинации MID SEARCH, используемые в Excel, безупречно работают и в электронных таблицах Google.

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

=СРЕДН(A2, ПОИСК(«[«, A2)+1, SEARCH(«]», А2) — ПОИСК(«[«А2)-1)
Получение текста в скобках

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

Вот как можно извлечь текст между двумя символами или словами в электронных таблицах Microsoft Excel и Google. Я благодарю вас за чтение и надеюсь увидеть вас в нашем блоге на следующей неделе!

Практические рабочие тетради

Извлечь текст между символами в Excel (файл .xlsx)
Получить текст между символами в Google Sheets (онлайн лист)

Вас также могут заинтересовать:

Похожие записи

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *