Лайфхаки для работы с текстом в табличном редакторе Р7-Офис
Лайфхаки для работы с текстом в табличном редакторе Р7-Офис. Фото Magnific
Разберем пять основных функций на примере реальной задачи.
Исходные данные
Представим, что мы ведем учет товаров. Артикулы имеют единую структуру: три латинские буквы, затем три блока цифр через дефис и в конце - ID. Для примера возьмем несколько таких артикулов.

Нужно выделить из каждой строки отдельные части: первые символы, последний блок, середину, а также разобрать артикулы с переменной длиной.
Извлекаем первый блок функцией ЛЕВСИМВ
Для начала попробуем решить самую несложную задачу - получить первые три буквы из каждого артикула. Функция ЛЕВСИМВ извлекает указанное количество символов с левой стороны строки.
В столбце рядом с артикулами пишем формулу: =ЛЕВСИМВ(A2; 3)
Где:
• A2 - ссылка на ячейку с текстом;
• 3 - количество символов, которое нужно извлечь.
Протягиваем формулу на все строки - и первые символы готовы.

Извлекаем последний блок функцией ПРАВСИМВ
Теперь нужно получить последний блок цифр с ID. Здесь нам пригодится функция ПРАВСИМВ, которая извлекает символы с правой стороны строки.
Подсчитываем, сколько символов нужно извлечь. В нашем примере это "789-ID" - 6 символов. Пишем формулу: =ПРАВСИМВ(A2; 6)

Теперь протягиваем формулу на все нужные нам строки и получаем интересующие нас последние цифры ID:

Извлекаем середину функций ПСТР
Более сложная задача - получить среднюю часть строки, три блока цифр с дефисами. Для этого используем функцию ПСТР, которая извлекает символы с указанной позиции.
Для начала, определяем начальную позицию. В нашем случае первый символ находится на пятой позиции (после трех букв и дефиса). Количество символов - 11 (три блока по три цифры + два дефиса). Формула у нас получится такая: =ПСТР(A2; 5; 11):

Протягиваем ее на все нужные строки и получаем необходимый результат:

Извлекаем переменную часть функцией ПОИСК и ДЛСТР
Нам нужно решить три задачи: найти, где стоит разделитель, извлечь текст до него и извлечь текст после него. Предположим, артикулы имеют разную длину, но нужный нам блок всегда находится до символа нижнего подчеркивания. Например:

Здесь нужно извлечь текст до подчеркивания. Длина строки меняется, поэтому нельзя просто задать количество символов.
1. Находим позицию символа. Функция ПОИСК возвращает номер позиции, на которой находится заданный символ. =ПОИСК("_"; A2)

Осталось только протянуть ее на остальные строки, чтобы получить нужные значения:

2. Извлекаем текст до подчеркивания. Комбинируем ЛЕВСИМВ и ПОИСК, вычитая единицу, чтобы не захватывать сам символ: =ЛЕВСИМВ(A2; ПОИСК("_"; A2) - 1)

Протягиваем и получаем значения до нижнего подчеркивания:

3. Извлекаем текст после подчеркивания. Здесь нужна функция ДЛСТР, которая считает общее количество символов в строке. Вычитаем из длины строки позицию подчеркивания - получаем количество символов справа: =ПРАВСИМВ(A2; ДЛСТР(A2) - ПОИСК("_"; A2))

Протягиваем и находим все значения после нижнего подчеркивания:

Собираем все в одну формулу
Вместо того чтобы использовать вспомогательные столбцы, можно объединить функции в одну формулу: =ПРАВСИМВ(A2; ДЛСТР(A2) - ПОИСК("_"; A2))

Что в итоге
Перечисленные текстовые функции табличного редактора Р7-Офис помогают извлекать нужные фрагменты из строк, не тратя время на ручную обработку. ЛЕВСИМВ, ПРАВСИМВ и ПСТР решают задачи с фиксированной длиной, а в паре с ПОИСК и ДЛСТР работают даже с данными переменной длины.
Эти функции пригодятся при работе с артикулами, кодами, адресами, фамилиями и любыми другими текстовыми данными, которые нужно разобрать на части.
Упомянутый сервис
Комментариев пока не было