В этой статье мы узнаем, как извлечь все частичные совпадения в массиве значений в Excel.

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

Функция ЕСЛИ используется для logic_test и возвращает значение на основе результата теста.

Синтаксис:

= IF (

logical_test , [value_if_true] , [value_if_false] )

Функция Excel ISNUMBER — это логическая функция, которая возвращает ИСТИНА или ЛОЖЬ, если предоставленное значение является числом или нет, соответственно.

Синтаксис

=

ISNUMBER

( value )

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

Синтаксис:

= SEARCH (

find_text , within_text , [start_num] )

find_text: текст, который нужно найти в_text.

inside_text: find_text должен быть найден в within_text.

[start_num]: позиция символа, с которой начинается. По умолчанию 1.

Теперь мы построим формулу, используя описанную выше функцию. Используйте формулу:

ФОРМУЛА:

= IF (

ISNUMBER

( SEARCH (

string , cell ) ) , cell , «» )

Пояснение:

  • Функция ПОИСК находит строку в значении ячейки и возвращает позицию строки в значении ячейки, если она найдена, иначе она вернет # ЗНАЧ! Ошибка.

  • Функция ISNUMBER проверяет, возвращает ли функция ПОИСК число или нет.

Функция ЕЧИСЛО возвращает ИСТИНА, если возвращенное значение — Истина, и возвращает ЛОЖЬ для # ЗНАЧ! Ошибка.

  • Функция ЕСЛИ возвращает значение ячейки, если функция ЕЧИСЛО возвращает ИСТИНА, и возвращает пустую ячейку, если функция ЕЧИСЛО возвращает ЛОЖЬ. Давайте разберемся с этой функцией, используя ее в примере.

Здесь у нас есть список значений и строковое значение (футболка).

Partial matches in an array 1

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

Используйте формулу:

= IF ( ISNUMBER ( SEARCH ( string , A2 ) ), A2 , «» )

Пояснение:

  • Функция ПОИСК находит строку в значении ячейки и возвращает 8 как позицию строки (футболка) в значении ячейки (фиолетовая футболка).

  • Функция ISNUMBER проверяет, является ли значение 8 числом или нет. Функция ЕЧИСЛО возвращает ИСТИНА.

  • Функция IF возвращает value_if_True, которое является значением ячейки (фиолетовая футболка).

Partial matches in an array 2

Здесь значение ячейки указано как ссылка на ячейку. Скопируйте формулу в остальные ячейки с помощью сочетания клавиш Ctrl + D или перетащите вниз в Excel.

Partial matches in an array 3

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

  1. Используйте опцию Ctrl + Shift + L *, чтобы применить фильтр. Щелкните правой кнопкой мыши клавишу со стрелкой в ​​поле совпадений.

  2. Снимите флажок (пробелы) и нажмите ОК.