Поиск справа налево в строке Excel

Обновлено: 23.11.2024

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

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

Используемые функции Excel String Описание операции< /td>
LEFT Получить символы слева< /em> сторона строки
ПРАВАЯ Получить символы с правой стороны строки
MID Получить символы из середины строки
ВЛЕВО, НАЙТИ< /td> Получить все символы перед символом
ВЛЕВО, НАЙТИ< /td> Получить все символы перед пробелом
ВПРАВО, LEN, НАЙТИ Получить все символы после символа
MID, FIND Получить все символы между двумя символами
< /p>

Строковые функции Excel: ВЛЕВО, ВПРАВО, СРЕДН, ДЛСТР и НАЙТИ

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

  • Письма
  • Цифры
  • Символы (например, дефис "-")
  • Пробелы

Теперь предположим, что ваша цель — изолировать/извлечь только цифры в этих строках.

Как бы вы тогда достигли этой цели, используя строковые функции Excel?

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

Получить определенное количество символов с левой стороны строки

В следующем примере вы увидите три строки. Каждая из этих строк будет содержать в общей сложности 9 символов:

  • Пять цифр, начиная с левой стороны строки
  • Один дефис («-»)
  • Три буквы в конце строки

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

Как бы вы сделали это в Excel?

Вот шаги:

(1) Сначала введите/вставьте приведенную ниже таблицу в Excel в пределах диапазона ячеек от A1 до B4 (чтобы не усложнять все последующие примеры, таблицы, которые будут вводиться/вставляться в Excel, должны храниться в диапазоне ячеек от A1 до B4):

(2) Затем введите следующую формулу в ячейку B2:

(3) Наконец, перетащите ЛЕВУЮ формулу из ячейки B2 в ячейку B4, чтобы получить результаты по трем записям.

Вот как ваша таблица будет выглядеть в Excel после применения ЛЕВОЙ формулы:

Идентификатор Результат
55555-End
77777-End
99999-End
Идентификатор Результат
55555-End 55555
77777-End 77777
99999-End 99999

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

Подожди минутку! что, если ваши цифры расположены справа от строки?

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

Вот шаги, которые необходимо выполнить, чтобы получить эти цифры:

(1) Введите/вставьте следующую таблицу в ячейки с A1 по B4:

(2) Затем введите следующую формулу в ячейку B2:

(3) Наконец, перетащите формулу ПРАВИЛЬНО из ячейки B2 в ячейку B4.

Вот как будет выглядеть таблица после применения ПРАВИЛЬНОЙ формулы:

Идентификатор Результат
ID-55555
ID-77777
ID-99999
Идентификатор Результат
ID-55555 55555
ID-77777 77777
ID-99999 99999

Получить определенное количество символов из середины строки

До сих пор вы видели случаи, когда цифры располагались либо слева, либо справа от строки.

Но что, если цифры расположены в середине строки, и вы хотите получить только эти цифры?

Вот шаги, которые вы можете применить:

(1) Введите/вставьте следующую таблицу в ячейки с A1 по B4:

Идентификатор Результат
ID-55555-End
ID-77777-End
ID-99999-End

(2) Теперь введите следующую формулу в ячейку B2:

(3) Наконец, перетащите формулу MID из ячейки B2 в ячейку B4.

Вот как будет выглядеть таблица:

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

Гелировать все символы перед символом (для строки переменной длины)

Готовы получить больше фантазии?

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

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

Для этого вам нужно использовать функцию НАЙТИ, чтобы найти свой символ.

Вот структура функции НАЙТИ:

Теперь давайте рассмотрим шаги, необходимые для того, чтобы поставить все ваши символы перед символом тире:

(1) Сначала введите/вставьте следующую таблицу в ячейки с A1 по B4:

Идентификатор Результат
ID-55555-End 55555
ID-77777-End 77777
ID-99999-End 99999

(2) Затем введите следующую формулу в ячейку B2:

Обратите внимание, что "-1" в конце формулы просто удаляет символ тире из ваших результатов (поскольку мы заинтересованы только в том, чтобы оставить цифры слева без символа тире).

(3) Как и раньше, перетащите формулу из ячейки B2 в ячейку B4. Вот результаты:

Идентификатор Результат
111-IDAA
2222222-IDB
33-IDCCC
Идентификатор Результат
111- IDAA 111
2222222-IDB 2222222
33-IDCCC 33

Хотя в приведенном выше примере вы использовали символ тире, приведенная выше формула также будет работать для других символов, таких как $, % и т. д.

Склеить все символы перед пробелом (для строки переменной длины)

Но что, если у вас есть пробел (а не символ), и вы хотите получить только все символы перед этим пробелом?

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

В частности, вместо того, чтобы помещать символ тире в функцию НАЙТИ, просто оставьте пустое место в кавычках:

Давайте рассмотрим все этапы:

(1) Для начала введите/вставьте следующую таблицу в ячейки с A1 по B4:

Идентификатор Результат
111 IDAA
2222222 IDB
33 IDCCC

(2) Затем введите следующую формулу в ячейку B2:

(3) Наконец, перетащите формулу из ячейки B2 в ячейку B4:

< /tr>

Получить все символы после символа (для строки переменной длины)

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

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

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

(1) Сначала введите/вставьте следующую таблицу в ячейки с A1 по B4:

Идентификатор Результат
111 IDAA 111
2222222 IDB 2222222
33 IDCCC 33

(2) Во-вторых, введите следующую формулу в ячейку B2:

(3) Наконец, перетащите формулу из ячейки B2 в ячейку B4:

Идентификатор Результат
IDAA-111
IDB-2222222
IDCCC-33
Идентификатор Результат
IDAA-111 111
IDB-2222222 2222222
IDCCC-33 33

Получить все символы между двумя символами (для строки переменной длины)

И последнее, но не менее важное: это сценарий, в котором вам может понадобиться получить все нужные символы между двумя символами (для строки переменной длины).

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

Теперь давайте рассмотрим шаги для извлечения только цифр между двумя символами дефиса "-":

(1) Сначала введите/вставьте следующую таблицу в ячейки с A1 по B4:

Идентификатор Результат
IDAA-111-AA
IDB-2222222-B
IDCCC-33-CCC

(2) Затем введите следующую формулу в ячейку B2:

(3) И, наконец, перетащите формулу из ячейки B2 в ячейку B4:

Строковые функции Excel — сводка

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

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

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

И формула в D5:

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

Левая сторона

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

В этой формуле используется функция НАЙТИ, чтобы найти символ подчеркивания ("_") в тексте, а затем вычитается 1, чтобы вернуться на один символ назад:

НАЙТИ возвращает 11, поэтому результат после вычитания 1 равен 10. Этот результат передается в функцию LEFT в качестве аргумента num_chars, количества символов, которые нужно извлечь из B5, начиная с первого символа. слева:

Функция LEFT возвращает строку "Оценка" в качестве конечного результата.

Правая сторона

Чтобы извлечь текст справа от подчеркивания, мы используем функцию ПРАВИЛЬНО:

Как и выше, в этой формуле также используется функция НАЙТИ, чтобы найти символ подчеркивания ("_") в позиции 11. Однако в этом случае мы хотим извлечь текст с правой стороны строки. строка, поэтому нам нужно рассчитать количество символов, которые нужно извлечь из справа. Это делается путем вычитания результата НАЙТИ (11) из общей длины текста в ячейке B5 (21), рассчитанной функцией ДЛСТР:

Результат равен 10, который возвращается функции RIGHT как num_chars, количество символов, которое нужно извлечь из справа:

Конечным результатом в D5 является строка "10 января".

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

Функция Excel ВЛЕВО извлекает заданное количество символов из левой части предоставленной текстовой строки. Например, LEFT("яблоко",3) возвращает "приложение".

  • текст — текст, из которого нужно извлечь символы.
  • num_chars – [необязательно] количество символов для извлечения, начиная с левой стороны текста. По умолчанию = 1.

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

Примеры

Чтобы извлечь первые три символа "Январь":

Если необязательный аргумент num_chars не указан, по умолчанию используется значение 1:

Если num_chars превышает длину строки, функция LEFT возвращает всю строку:

Когда LEFT используется для числового значения, результатом является текст:

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

НАЙТИ возвращает позицию символа, а ЛЕВАЯ возвращает весь текст слева от этой позиции. Полное объяснение здесь.

Связанные функции

Функция LEFT используется для извлечения текста из левой части текстовой строки. Используйте функцию RIGHT для извлечения текста, начиная с правого края текста, и функцию MID для извлечения из середины текста. Функция ДЛСТР возвращает длину текста в виде количества символов.

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

Однако это ограничение можно обойти, используя комбинацию ИНДЕКС/ПОИСКПОЗ (или новую функцию XLOOKUP, как вы увидите ниже).

Формула работает следующим образом:

Функция ПОИСКПОЗ

Мы используем функцию ПОИСКПОЗ, чтобы вернуть относительную позицию (т. е. номер строки в массиве) элемента поиска.

Функция ПОИСКПОЗ похожа на ВПР, выполняемую для одного столбца, за исключением того, что вместо значения возвращается номер строки.

Функция ИНДЕКС

Получив номер строки, мы используем функцию ИНДЕКС, чтобы вернуть значение из этого номера строки.

Функция ИНДЕКС возвращает значение ячейки определенной строки и столбца в вашем диапазоне. Функция ПОИСКПОЗ предоставляет номер строки. Мы устанавливаем номер столбца равным 1, потому что нам нужен первый столбец данных.

Объединение функций дает нам исходную формулу:

Функция XLOOKUP

Функция XLOOKUP была представлена ​​пользователям Office 365 после Excel 2019. Функция XLOOKUP также позволяет выполнять обратный поиск:

Обратный ВПР справа налево в Google Таблицах

Эти формулы работают точно так же в Google Таблицах, как и в Excel.

Практический лист Excel

Попрактикуйтесь в функциях и формулах Excel с помощью наших 100 % бесплатных тренировочных листов!

Читайте также:

Идентификатор Результат
IDAA-111-AA 111
IDB-2222222-B 2222222
IDCCC-33-CCC 33