30 функцій Excel за 30 днів: ПОШУК

Вчора на марафоні 30 функцій Excel за 30 днів ми розпізнали типи помилок за допомогою функції ПОМИЛКА.ТИП (ТИП ПОМИЛКИ) і переконався, що це може бути дуже корисним для виправлення помилок у Excel.

18-й день марафону ми присвятимо вивченню функції ПОШУК (ПОШУК). Він шукає символ (або символи) у текстовому рядку та повідомляє, де його було знайдено. Ми також розглянемо, як діяти в ситуаціях, коли ця функція видає помилку.

Отже, давайте детальніше розглянемо теорію та практичні приклади функції ПОШУК (ПОШУК). Якщо у вас є хитрощі або приклади роботи з цією функцією, поділіться ними в коментарях.

Функція 18: ПОШУК

функція ПОШУК (ПОШУК) шукає текстовий рядок в іншому текстовому рядку, і якщо знайдено, повідомляє його позицію.

Як я можу використовувати функцію ПОШУК?

функція ПОШУК (ПОШУК) шукає текстовий рядок в іншому текстовому рядку. Вона може:

  • Знайти рядок тексту всередині іншого текстового рядка (незалежно від регістру).
  • Використовуйте під час пошуку символи підстановки.
  • Визначте вихідну позицію в переглянутому тексті.

Синтаксис ПОШУКУ

функція ПОШУК (SEARCH) має такий синтаксис:

SEARCH(find_text,within_text,[start_num])

ПОИСК(искомый_текст;текст_для_поиска;[нач_позиция])

  • знайти_текст (текст_пошуку) — це текст, який ви шукаєте.
  • в межах_тексту (text_for_search) – текстовий рядок, у межах якого виконується пошук.
  • номер_початку (start_position) – якщо не вказано, пошук розпочнеться з першого символу.

Пастки SEARCH (ПОШУК)

функція ПОШУК (SEARCH) поверне позицію першого відповідного рядка без урахування регістру. Якщо вам потрібен пошук з урахуванням регістру, ви можете скористатися цією функцією ЗНАЙТИ (ЗНАЙДИ), з яким ми зустрінемося пізніше в марафоні 30 функцій Excel за 30 днів.

Приклад 1: Пошук тексту в рядку

Використовуйте функцію ПОШУК (ПОШУК), щоб знайти текст у текстовому рядку. У цьому прикладі ми будемо шукати один символ (введений у клітинку B5) у текстовому рядку в клітинці B2.

=SEARCH(B5,B2)

=ПОИСК(B5;B2)

Якщо текст знайдено, функція ПОШУК (SEARCH) поверне номер позиції свого першого символу в текстовому рядку. Якщо не знайдено, результатом буде повідомлення про помилку #VALUE! (#ТАК).

Якщо результат є помилкою, ви можете скористатися цією функцією ПОМИЛКА (IFERROR), щоб замість виконання функції ПОШУК (SEARCH) відобразить відповідне повідомлення. функція ПОМИЛКА (IFERROR) було введено в Excel, починаючи з версії 2007. У попередніх версіях той самий результат можна було отримати за допомогою IF (ЯКЩО) разом з ПОМИЛКА (ЄОШИБКА).

=IFERROR(SEARCH(B5,B2),"Not Found")

=ЕСЛИОШИБКА(ПОИСК(B5;B2);"Not Found")

Приклад 2: використання символів узагальнення з ПОШУКОМ

Ще один спосіб перевірити отриманий результат ПОШУК (ПОШУК), для помилки – скористатися функцією ІЗНОМ (ISNUMBER). Якщо рядок знайдено, результат ПОШУК (ПОШУК) буде числом, що означає функцію ІЗНОМ (ISNUMBER) поверне TRUE. Якщо текст не знайдено, то ПОШУК (SEARCH) повідомить про помилку, і ІЗНОМ (ISNUMBER) поверне FALSE.

У значенні аргументу знайти_текст (текст для пошуку) можна використовувати символи підстановки. символ * (зірочка) замінює будь-яку кількість символів або жодного, і ? (знак питання) замінює будь-який окремий символ.

У нашому прикладі використовується символ підстановки *, тож у назвах вулиць зустрічатимуться словосполучення ЦЕНТРАЛЬНА, ЦЕНТР, ЦЕНТР.

=ISNUMBER(SEARCH($E$2,B3))

=ЕЧИСЛО(ПОИСК($E$2;B3))

Приклад 3: Визначення початкової позиції для ПОШУКУ (SEARCH)

Якщо ми напишемо два знаки мінус (подвійне заперечення) перед функцією ІЗНОМ (ISNUMBER), він поверне значення 1/0 замість TRUE/FALSE (ІСТИНА/ХИБЬ). Далі функція SUM (SUM) у комірці E2 підраховує загальну кількість записів, у яких було знайдено пошуковий текст.

У наведеному нижче прикладі стовпець B показує:

Назва міста | Професія

Наше завдання — знайти професії, які містять текстовий рядок, введений у клітинку E1. Формула в клітинці C2 буде такою:

=--ISNUMBER(SEARCH($E$1,B2))

=--ЕЧИСЛО(ПОИСК($E$1;B2))

Ця формула знайшла рядки, які містять слово «банк», але в одному з них це слово зустрічається не в назві професії, а в назві міста. Це нам не підходить!

Кожна назва міста супроводжується символом | (вертикальна смуга), тому ми, використовуючи функцію ПОШУК (ПОШУК), ми можемо знайти позицію цього персонажа. Його позицію можна вказати як значення аргументу номер_початку (start_position) у функції «main». ПОШУК (ПОШУК). У результаті назви міст ігноруватимуться під час пошуку.

Тепер перевірена і виправлена ​​формула буде рахувати лише ті рядки, які містять у назві професії слово «банк»:

=--ISNUMBER(SEARCH($E$1,B2,SEARCH("|",B2)))

=--ЕЧИСЛО(ПОИСК($E$1;B2;ПОИСК("|";B2)))

залишити коментар