Подробный ответ
НАЙТИ и ПОИСК определяют позицию подстроки в тексте — используются для извлечения частей строк.
Синтаксис
=НАЙТИ(искомый_текст; текст; [нач_позиция])
=ПОИСК(искомый_текст; текст; [нач_позиция])
Отличия НАЙТИ от ПОИСК
| Критерий | НАЙТИ | ПОИСК |
|---|---|---|
| Регистр | Различает | Не различает |
| Маски (* ?) | Нет | Да |
Примеры
Найти позицию символа "@" в email:
=НАЙТИ("@"; "user@mail.ru") → 5
Найти позицию пробела для извлечения фамилии:
=ЛЕВСИМВ(A2; НАЙТИ(" "; A2)-1)
Найти второй пробел (начать поиск после первого):
=НАЙТИ(" "; A2; НАЙТИ(" "; A2)+1)
Проверить наличие слова (без учёта регистра):
=ЕСЛИОШИБКА(ПОИСК("москва"; A2); 0) > 0
Обработка ошибки (строка не содержит искомое)
=ЕСЛИОШИБКА(НАЙТИ("@"; A2); "Нет @")
Практическое применение — разбить email на имя пользователя и домен
- Имя:
=ЛЕВСИМВ(A2; НАЙТИ("@";A2)-1) - Домен:
=ПРАВСИМВ(A2; ДЛСТР(A2)-НАЙТИ("@";A2))
В Excel 365 — функции НАЙТИБ и ПОИСКБ
Аналоги для двухбайтовых кодировок (японский, китайский).
Совет: Функции НАЙТИ и ПОИСК сами по себе возвращают только позицию. Для извлечения текста используйте их в связке с ЛЕВСИМВ, ПРАВСИМВ, ПСТР.