Страницы: 1
RSS
Формула для преобразования "Фамилия Имя Отчество" в "И.О. Фамилия"
 
Подскажите, пожалуйста, формулу, чтобы преобразовать "Фамилия Имя Отчество" в "И.О. Фамилия".
Нашла формулу, но она немного не такая (здесь инициалы после фамилии, а надо перед фамилией):  
=ПСТР(B12;1;ПОИСК(" ";B12)+1)&"."&ПСТР(B12;ПОИСК(" ";B12;ПОИСК(" ";B12)+1)+1;1)&"."
 
Цитата
natusy74 пишет: а надо перед фамилией
..так переставьте местами.
"..Сладку ягоду рвали вместе, горьку ягоду я одна."
 
простой перестановки здесь недостаточно.
но, конечно, в формулы и функции надо вникать, а не просто искать готовое по интернету.
Код
=ПСТР(B12;ПОИСК(" ";B12;1)+1;1)&"."&ПСТР(B12;ПОИСК(" ";B12;ПОИСК(" ";B12;1)+1)+1;1)&"."&ЛЕВБ(B12;ПОИСК(" ";B12)-1)
фрилансер Excel, VBA - контакты в профиле
"Совершенствоваться не обязательно. Выживание — дело добровольное." Э.Деминг
 
ikki,Спасибо Вам огромное.  :*
Цитата
в формулы и функции надо вникать, а не просто искать готовое по интернету.
некогда вникать, хорошо что есть такие умнейшие люди.
 
Цитата
natusy74 пишет: ...некогда...
значит, у нас разное понимание того, что такое время.
написать такую формулу- дело меньше одной минуты.
найти точно такую же в интернете, причём работающую точно с такими же данными (например, пробелов между словами - ровно по одному) - гораздо дольше.

имхо.
фрилансер Excel, VBA - контакты в профиле
"Совершенствоваться не обязательно. Выживание — дело добровольное." Э.Деминг
 
Как вариант, для более сложных случаев:
http://excelvba.ru/code/cropFIO

можно использовать как формулу на листе
второй параметр функции если поставить равным 1, - то инициалы добавятся слева от фамилии
 
Код
=ЛЕВСИМВ(СЖПРОБЕЛЫ(ПСТР(ПСТР(ПОДСТАВИТЬ(A2;" ";ПОВТОР(" ";100));1;200);100;50)))&". "&ЛЕВСИМВ(СЖПРОБЕЛЫ(СЖПРОБЕЛЫ(ПСТР(ПОДСТАВИТЬ(A2;" ";ПОВТОР(" ";100));200;100))))&". 
Страницы: 1
Читают тему
Наверх