Шаг 53 - Разбор строки стандартными функциями

Итак, ситуация простая. У нас в одной ячейке записано имя и фамилия человека. Конечно это не хорошо. Но дело сделано и так оно есть. Cтрока представляет из себя набор символов, даже если она в ячейке Excel :-)

53_1.gif (438 b)

Соотвественно раз это набор символов, то должны быть и функции для определения количества символов. Они есть. Вот она =ДЛСТР(B5), если в B5 будет та надпить, то она вернет 11. Естественно, что первая буква будет первой :-)

Чтобы разделить имя и фамилию нам надо найти символ, на котором заканчивается имя. Этим символом почти всегда является пробел. Должна быть функция, которая умеет искать место символа в строке. Она тоже есть, =НАЙТИ(" ";B5;1) вернет первую позицию, в которой находится пробел. В данном случае 7.

Для отбора строки нам надо выбрать символ от начала до пробела и от пробела до конца. Начало мы знаем - это 1, пробел знаем - это 7, конец тоже - это 11. Осталось найти только функцию вырезания.

=ПСТР(B5;1;D5)
=ПСТР(B5;D5;C5)

Эта функция вырезает из строки символы от указанного значения до указанного. Соотвественно от начало до пробела - это фамилия, а от пробела до начала - имя. Все функции есть в мастере "функция" в разделе "текстовые".

53_2.gif (4337 b)

Вывод отсюда простой. Многие задачи можно сделать и без функций работы со строками VB(A). И, наверно, разумный компромис между VBA и возможностями Excel - это и есть мастерство создания приложений на базе Excel.


Предыдущий Шаг | Следующий Шаг | Оглавление
Автор Каев Артем.