Завантажте зразок робочої книги
Цей підручник демонструє, як користуватися Функція пошуку Excel в Excel для визначення розташування тексту всередині комірки.
Огляд функції ПОШУК
Функція ПОШУК Знаходить символьний або текстовий рядок і повертає його позицію в комірці. Не враховує регістр.
Щоб скористатися функцією ПОШУК робочого аркуша Excel, виберіть клітинку та введіть:
(Зверніть увагу, як виглядають вхідні дані формул)
Функція пошуку Синтаксис та введення:
= ПОШУК (find_text, within_text, start_num)
find_text - Рядок тексту, який ви хочете знайти.
в межах_тексту - Оригінальний рядок тексту.
start_num - НЕОБОВ'ЯЗКОВО. Номер символу, з якого починається пошук. Примітка: Це змінює лише діапазон пошуку, це не вплине на число, повернене при знаходженні відповідності. Приклад: пошук "s" у рядку "suns" поверне 1 за замовчуванням, але якщо start_num встановлено на 2, він поверне 4.
Що таке функція ПОШУК?
Функція пошуку Excel "шукає" рядок тексту в іншому рядку. Якщо текст знайдено, SEARCH повертає числове положення рядка.
ПОШУК НЕ враховує регістр. Це означає, що "текст" буде відповідати "ТЕКСТУ". Для пошуку тексту з урахуванням регістру використовуйте функцію FIND <>.
Як користуватися функцією ПОШУК
Функція пошуку Excel працює таким чином:
= ПОШУК ("е", "слон")
Тут Excel поверне 1, оскільки "e" є першим символом у "слоні".
Нижче наведено ще кілька прикладів.
Початковий номер (номер_початку)
За бажанням можна визначити початковий номер (номер_початку). start_num повідомляє функції SEARCH, де розпочати пошук. Якщо залишити це поле порожнім, пошук почнеться з першого символу.
= ПОШУК (B3, C3)
Тепер давайте встановимо start_num на 2, що означає, що SEARCH почне шукати з другого символу.
= ПОШУК (B3, C3, D3)
У цьому випадку SEARCH повертає 3: положення другого "e".
Важливо: start_num не впливає на повернене значення, SEARCH завжди починатиме відлік з першого символу.
Помилки стартового номера (номер_початку)
Якщо ви все -таки використовуєте початковий номер, переконайтеся, що це ціле позитивне число, менше за довжину рядка, який ви хочете шукати, інакше ви отримаєте помилку. Ви також отримаєте помилку, якщо введете порожній осередок як початковий номер:
= ПОШУК (B3, C3, D3)
Невдалі пошуки Поверніть #ЦІННІСТЬ! Помилка
Якщо ПОШУК не може знайти значення пошуку, Excel поверне #VALUE! помилка.
Пошук без урахування регістру
Наведений нижче приклад демонструє, що функція SEARCH нечутлива до регістру. Ми шукали "abc", але SEARCH повернув 1, оскільки він відповідав "ABC".
Пошук за підстановкою
Ви можете використовувати символи підстановки з SEARCH, які дозволяють шукати неуточнені символи.
Знак питання у тексті пошуку означає "будь -який символ". Тож "? 000" у наведеному нижче прикладі означає "Пошук будь -якого символу, за яким слідують три нулі".
Зірочка означає "будь -яку кількість невідомих символів". Тут ми шукаємо "1*C", і SEARCH повертає 2, тому що це збігається з "1-ABC".
У наступному прикладі ми шукаємо "000?" - тобто "000", за яким слід будь -який символ. У нас є "000", але це в кінці рядка, а тому не супроводжується жодними символами, тому ми отримуємо помилку
Однак, якщо ми використовували зірочку замість знака питання - тобто “000*” замість “000?”, Ми отримуємо відповідність. Це пояснюється тим, що зірочка означає "будь -яку кількість символів" - включаючи відсутні символи.
Як розділити ім’я та прізвище з комірки за допомогою ПОШУКУ
Якщо у вас є ім’я та прізвище в одній клітинці, і ви хочете дати їм кожну клітинку, ви можете скористатися цим ПОШУК - але вам також доведеться скористатися кількома іншими функціями.
Отримання імені
Функція LEFT Excel повертає певну кількість символів із рядка, починаючи зліва.
Якщо ми використовуємо ПОШУК для повернення позиції пробілу між іменем та прізвищем, віднімаємо 1 від цього, ми знаємо, скільки часу має ім’я. Тоді ми можемо просто передати це вліво.
Формула першої назви така:
= ВЛІВО (B3, ПОШУК (““, B3) -1)
Отримання прізвища
Функція ПРАВО Excel повертає певну кількість символів праворуч від рядка.
Щоб отримати кількість символів, рівну довжині прізвища, ми використовуємо ПОШУК, щоб сказати нам простір, а потім відняти це число від загальної довжини рядка - яку ми можемо отримати за допомогою LEN.
Формула прізвища така:
= ПРАВО (B3, LEN (B3) -ПОШУК (““, B3))
Зверніть увагу, що якщо дані вашого імені містять імена по батькові, воно буде розділено на клітинку "Прізвище".
Використання SEARCH для повернення n -го символу в рядку
Як зазначалося вище, SEARCH повертає позицію першого знайденого збігу. Але, об’єднавши його з CHAR та SUBSTITUTE, ми можемо використовувати його для визначення пізніших входів символу, таких як другий чи третій екземпляр.
Ось формула:
= ПОШУК (CHAR (134), ЗАМІНА (D3, C3, CHAR (134), B3))
Спочатку це може здатися трохи складним, тому давайте розберемо його:
- Ми використовуємо ПОШУК, і рядок, який ми шукаємо, - "CHAR (134)". CHAR повертає символ на основі свого коду ASCII. CHAR (134) - символ кинджала - тут ви можете використовувати будь -що, якщо воно не відображається у вашому фактичному рядку.
- SUBSTITUTE проходить через рядок і замінює один символ або підрядок іншим. Тут ми замінюємо рядок, який ми хочемо знайти (який знаходиться в C3), на CHAR (134). Причина цього в тому, що четвертий параметр SUBSTITUTE - це номер екземпляра, який ми зберегли у B3.
- Отже, SUBSTITUTE замінює n -й символ у рядку на символ кинджала, а потім SEARCH повертає його позицію.
Ось як це виглядає:
Знаходження середнього перерізу рядка
Уявіть, що у вас багато серійних номерів у такому форматі:
AB1XCDC-1BB/BB99
Вас попросили витягнути середню частину кожного з них. Замість того, щоб робити це вручну, ви можете об'єднати ПОШУК з MID для автоматизації цього завдання.
Функція MID Excel повертає частину рядка. Його вхідними даними є текстовий рядок, початкова точка та ряд символів.
Оскільки початковою точкою, яку ми хочемо, є символ після дефіса, ми можемо використовувати ПОШУК, щоб отримати позицію дефіса, і додати до нього 1. Якби серійний номер був у B3, ми б використовували:
= ПОШУК ("-", B3) +1
Щоб отримати кількість символів, які ми хочемо витягнути звідси, ми можемо використовувати пошук, щоб отримати позицію косої риски вперед, відняти позицію дефіса, а потім відняти 1, щоб переконатися, що ми не повертаємо саму косу риску:
= ПОШУК ("/", В3) -ПОШУК ("-", В3) -1
Тоді ми просто підключаємо ці дві формули до MID:
ПОШУК VS FIND
ПОШУК і НАЙТИ - подібні функції. Вони обидва повертають позицію даного символу або підрядка в іншому рядку. Однак є дві ключові відмінності:
- FIND чутливий до регістру, але SEARCH - ні
- FIND не допускає підстановок, але SEARCH
Нижче ви можете побачити кілька прикладів цих відмінностей:
ПОШУК у Таблицях Google
Функція ПОШУК працює точно так само в Google Таблицях, як і в Excel:
додаткові нотатки
Функція SEARCH-це нечутлива до регістру версія функції FIND. SEARCH також підтримує символи підстановки. Знайти не дає.
Приклади ПОШУКУ у VBA
Ви також можете використовувати функцію ПОШУК у VBA. Тип:application.worksheetfunction.search (find_text, within_text, start_num)
Для аргументів функції (find_text тощо) ви можете або ввести їх безпосередньо у функцію, або визначити змінні для використання замість них.
Повернення до списку всіх функцій Excel