Данные редко приходят в идеальном виде. Выгрузка из CRM, ответы из Google Формы, список, скопированный коллегой из письма, — всё это приносит лишние пробелы, разнобой в регистре и склеенные поля вроде «Иванов Иван» в одной ячейке. Пока данные «грязные», ничего не работает: условие =IF(A2="Москва"; ...) не срабатывает из-за невидимого пробела, а одинаковые по смыслу значения считаются разными.
Текстовые функции решают это в один столбец. Они убирают мусор, приводят написание к единому виду, вырезают из строки нужную часть и собирают значения обратно в удобную подпись. После урока вы сможете привести в порядок любой список, извлечь из адреса почты имя или домен и собрать из столбцов готовую строку для отчёта.
Что уже умеем
В прошлом уроке вы научили таблицу принимать решения: описывали правила функцией IF, объединяли условия через AND и OR, строили проверки с несколькими вариантами. И там мы дважды столкнулись с неприятностью: сравнение текста не срабатывает, если в данных прячется лишний пробел или значение записано в другом регистре.
Сейчас закроем этот пробел. Разберём TRIM, LOWER, UPPER, PROPER, LEN, LEFT, RIGHT, MID, SPLIT и оператор &. Все они возвращают текст, поэтому их удобно вкладывать друг в друга и комбинировать с условиями из прошлого урока.
Что вы узнаете в рамках статьи
В этом уроке вы:
- очистите данные от лишних пробелов и приведёте их к единому регистру;
- измерите длину строки и поймёте, зачем это нужно;
- вырежете фрагмент функциями
LEFT,RIGHTиMID; - разделите склеенное значение функцией
SPLIT; - соберёте из нескольких столбцов готовую строку.
Ключевые термины
- Строка — любое текстовое значение в ячейке: имя, город, адрес почты, комментарий.
TRIM— функция, убирающая пробелы по краям строки и лишние пробелы внутри.- Регистр — написание букв заглавными или строчными;
UPPER,LOWERиPROPERприводят его к нужному виду. LEN— функция, возвращающая количество символов в строке.- Разделитель — символ, по которому строку делят на части: запятая, пробел, знак
@. - Оператор
&— знак склейки: соединяет значения в одну строку.
Учебные данные: список участников из формы
Внесите данные ровно так, как показано, — с лишними пробелами и разнобоем в регистре. Это типичная выгрузка из формы регистрации:
| A | B | C | |
|---|---|---|---|
| 1 | ФИО | Город | Почта |
| 2 | иванов иван |
москва |
Ivanov@mail.ru |
| 3 | ПЕТРОВА АННА |
Москва |
A.Petrova@GMAIL.COM |
| 4 | сидоров пётр |
казань |
sidorov@yandex.ru |
| 5 | Кузнецова Мария |
КАЗАНЬ |
kuznecova@mail.ru |
| 6 | смирнов олег |
Сочи |
Smirnov@Yandex.ru |
Обратите внимание: в A3 между фамилией и именем два пробела, в B3 пробел в конце, а города написаны по-разному. Глазами всё читается, но для формул это разные значения.
Чистим данные: TRIM и регистр
Функция TRIM удаляет пробелы перед строкой и после неё, а внутри оставляет по одному между словами. Формула =TRIM(A2) превратит иванов иван в иванов иван, а ПЕТРОВА АННА — в ПЕТРОВА АННА. Изменение почти незаметно на вид, но именно оно заставит работать все дальнейшие сравнения.
Теперь регистр. Здесь три функции, и выбор зависит от того, что вам нужно:
| Функция | Что делает | Пример | Результат |
|---|---|---|---|
UPPER |
все буквы заглавные | =UPPER("москва") |
МОСКВА |
LOWER |
все буквы строчные | =LOWER("МОСКВА") |
москва |
PROPER |
первая буква каждого слова заглавная | =PROPER("иванов иван") |
Иванов Иван |
Для имён подходит PROPER, для адресов почты — LOWER, а UPPER удобен, когда нужно свести значения к одному виду для сравнения.
Функции вкладываются друг в друга, и порядок важен: сначала чистим, потом меняем регистр. Введите в E2 итоговую формулу и скопируйте до E6:
=PROPER(TRIM(A2))
Получится аккуратный столбец:
| Исходное | Результат |
|---|---|
иванов иван |
Иванов Иван |
ПЕТРОВА АННА |
Петрова Анна |
сидоров пётр |
Сидоров Пётр |
Кузнецова Мария |
Кузнецова Мария |
смирнов олег |
Смирнов Олег |
Так же приведём в порядок города. В F2 введите =PROPER(TRIM(B2)) и скопируйте вниз: все варианты написания Москвы станут одинаковыми, и условие =IF(F2="Москва"; "Столица"; "Регион") из прошлого урока наконец сработает как задумано.
LEN: сколько в строке символов
Функция LEN считает символы, включая пробелы. Она незаменима, когда нужно понять, действительно ли в данных прячется мусор.
Введите в свободную ячейку =LEN(A2) — получится 13, хотя в «иванов иван» 10 букв и один пробел между словами, то есть 11 символов. Разница в два символа и есть невидимые пробелы по краям. А =LEN(TRIM(A2)) даст 11: чистое значение.
Такую проверку удобно сочетать с IF. Формула =IF(LEN(C2)>20; "Длинный адрес"; "Норма") отметит слишком длинные адреса почты. Ещё LEN пригодится для контроля артикулов, телефонов и кодов фиксированной длины.
Режем строку: LEFT, RIGHT и MID
Иногда из строки нужна только часть. Здесь работают три функции:
| Функция | Что делает | Пример | Результат |
|---|---|---|---|
LEFT(строка; n) |
первые n символов | =LEFT("Казань"; 3) |
Каз |
RIGHT(строка; n) |
последние n символов | =RIGHT("Казань"; 2) |
нь |
MID(строка; с; n) |
n символов, начиная с позиции | =MID("Казань"; 3; 3) |
зан |
Соберём короткий код города для отчёта. Введите в G2:
=UPPER(LEFT(TRIM(B2); 3))
Читайте изнутри наружу: TRIM убирает пробелы, LEFT берёт три первые буквы, UPPER делает их заглавными. Для строк 2–6 получится МОС, МОС, КАЗ, КАЗ, СОЧ.
SPLIT и склейка через &
Функция SPLIT разбивает строку по указанному разделителю и раскладывает части по соседним ячейкам. Разберём адрес почты на имя и домен. Введите в H2:
=SPLIT(LOWER(C2); "@")
В H2 появится ivanov, а в I2 — mail.ru. Скопируйте формулу до H6 и получите два готовых столбца. Обратите внимание на LOWER внутри: без него адрес A.Petrova@GMAIL.COM попал бы в таблицу в верхнем регистре и не совпал бы с остальными.
Важная деталь: SPLIT занимает столько ячеек, сколько получилось частей. Столбец I должен быть свободен, иначе Таблицы покажут ошибку.
Обратная задача — собрать строку из нескольких значений. Проще всего это делает оператор &. Введите в J2:
=E2 & " (" & F2 & ")"
Получится Иванов Иван (Москва) — готовая подпись для письма или отчёта. Вставки вроде пробела и скобок берутся в кавычки. То же умеет функция CONCATENATE, но запись через & короче.
[Скриншот: лист с «грязными» данными в столбцах A–C и очищенными результатами в E–J]
Частые ошибки
- Править данные вручную вместо формулы. Ручная чистка теряется при следующей выгрузке. Оставляйте исходный столбец нетронутым, а результат считайте формулой в соседнем — тогда новые данные обработаются сами.
- Неверный порядок вложенных функций.
=LEFT(TRIM(B2); 3)и=TRIM(LEFT(B2; 3))дадут разный результат: во втором случае вы отрежете три символа вместе с ведущим пробелом. Сначала чистите, потом режьте. - Забыть, что формула зависит от исходного столбца. Если удалить столбец A, формулы в E покажут
#REF!. Прежде чем убирать сырые данные, скопируйте результат и вставьте его через «Правка», затем «Специальная вставка», затем «Вставить только значения». - Не оставить места для результата
SPLIT. Функция раскладывает части по нескольким ячейкам, и если справа что-то есть, она вернёт ошибку. Освободите соседние столбцы заранее.
Частые вопросы
TRIMне помог, лишний пробел остался. Почему?
Скорее всего, это не обычный пробел, а невидимый символ из скопированного текста. Попробуйте=TRIM(CLEAN(A2)): функцияCLEANудаляет непечатаемые символы.- Как разбить ФИО на отдельные столбцы?
Подойдёт=SPLIT(TRIM(A2); " ")— фамилия и имя окажутся в разных ячейках. Убедитесь, чтоTRIMстоит внутри: иначе двойной пробел даст лишнюю пустую часть. - Как считать по значениям после очистки?
Так же, как по обычным: столбец с формулами ничем не отличается от столбца с данными. Например,=IF(F2="Москва"; 1; 0)по очищенным городам отработает без сюрпризов.
Итоги
Отличный результат: теперь у вас есть инструменты для самой неблагодарной части работы с данными. Вы умеете убирать лишние пробелы функцией TRIM, приводить написание к единому виду через PROPER, UPPER и LOWER, измерять длину строки функцией LEN, вырезать фрагменты с помощью LEFT, RIGHT и MID, разбивать значения функцией SPLIT и склеивать их обратно оператором &. А главное — вы увидели, что функции вкладываются друг в друга, и одна формула может выполнить всю цепочку преобразований сразу.
Это не просто косметика: чистые данные — обязательное условие для следующего шага. В финальном уроке модуля мы научимся связывать таблицы между собой: искать значение в справочнике и подставлять к нему цену, категорию или любые другие сведения. Работает такой поиск ровно до тех пор, пока значения совпадают символ в символ, — а приводить их к порядку вы теперь умеете.