Шесть функций для тонкой работы с текстом
В этом уроке собраны функции, которые на первый взгляд кажутся простыми, но на практике используются постоянно — особенно в связке с ЛЕВСИМВ, ПРАВСИМВ и ПСТР. Это инструменты для измерения, поиска и нормализации текста.
ДЛСТР — считаем символы в строке
=ДЛСТР(текст)
Возвращает общее количество символов в строке, включая пробелы, знаки препинания и спецсимволы. Один аргумент — строка или ячейка.
| Формула | Результат | Пояснение |
|---|---|---|
=ДЛСТР("Excel") |
5 | Пять букв |
=ДЛСТР("A A") |
3 | Две буквы и пробел между ними — итого 3 |
=ДЛСТР("") |
0 | Пустая строка — ноль символов |
ДЛСТР часто используют как вспомогательную: передают её результат в ПРАВСИМВ или ПСТР, чтобы динамически отсчитывать символы от конца строки неизвестной длины.
ПОИСК и НАЙТИ — ищем позицию фрагмента
Обе функции возвращают порядковый номер позиции, с которой начинается
искомый фрагмент в строке. Если фрагмент не найден — ошибка #ЗНАЧ!.
=ПОИСК(что_ищем; где_ищем)
=НАЙТИ(что_ищем; где_ищем)
На первый взгляд они одинаковы. Разница одна, но принципиальная:
| Функция | Регистр букв | Пример | Результат |
|---|---|---|---|
ПОИСК |
Не различает (a = A) | =ПОИСК("a"; "DATA") |
2 |
НАЙТИ |
Различает (a ≠ A) | =НАЙТИ("a"; "DATA") |
#ЗНАЧ! |
В строке "DATA" буква «A» стоит на 2-й позиции. ПОИСК находит её, игнорируя регистр. НАЙТИ ищет строчную «a» и не находит — все буквы заглавные.
Практическое применение: чтобы извлечь имя домена из email, сначала найдём позицию «@», потом возьмём всё после неё:
=ПСТР(A1; ПОИСК("@"; A1)+1; ДЛСТР(A1))
Функции управления регистром
Три функции для нормализации регистра символов. Применяются при стандартизации данных из разных источников, где одни вводили «ИВАНОВ», другие — «иванов».
| Функция | Синтаксис | Что делает | Пример |
|---|---|---|---|
| ПРОПИСН | =ПРОПИСН(текст) |
Все буквы — заглавные | "иванов" → "ИВАНОВ" |
| СТРОЧН | =СТРОЧН(текст) |
Все буквы — строчные | "ИВАНОВ" → "иванов" |
| ПРОПНАЧ | =ПРОПНАЧ(текст) |
Первая буква каждого слова — заглавная | "иванов иван" → "Иванов Иван" |