Уважаемые дамы и господа прошу помочь новичку. Не могу написать формула которая бы ставила инициалы после фамилии как пример у меня в файле И.И. Петров , а мне нужно что бы было Петров И.И. Реально ли это?если да то как? Так же интересует формула которая бы переделывала имя и отчество в инициалы и ставила инициалы после фамилии как пример Иван Иванович Петров а надо Петров И.И.
Уважаемые дамы и господа прошу помочь новичку. Не могу написать формула которая бы ставила инициалы после фамилии как пример у меня в файле И.И. Петров , а мне нужно что бы было Петров И.И. Реально ли это?если да то как? Так же интересует формула которая бы переделывала имя и отчество в инициалы и ставила инициалы после фамилии как пример Иван Иванович Петров а надо Петров И.И.outline
Мой вариант для 1 и 2 ситуации в 2 шага: 1. замечательный штатный режим EXCEL - Текст по столбцам, 2. не менее замечательные ТЕКСТОВЫЕ функции EXCEL - & (Сцепить) и ПСТР (выбор нужного количества символов с нужной позиции в текстовой ячейке).
Мой вариант для 1 и 2 ситуации в 2 шага: 1. замечательный штатный режим EXCEL - Текст по столбцам, 2. не менее замечательные ТЕКСТОВЫЕ функции EXCEL - & (Сцепить) и ПСТР (выбор нужного количества символов с нужной позиции в текстовой ячейке).Матрёна
А как усложнится формула, если в исходной ячейке может быть не одна фамилия с инициалами, а две? То есть "И.И. Петров, А.А. Иванов", а надо "Петров И.И., Иванов А.А."
А как усложнится формула, если в исходной ячейке может быть не одна фамилия с инициалами, а две? То есть "И.И. Петров, А.А. Иванов", а надо "Петров И.И., Иванов А.А."User799
Nic70y, спасибо. Существенное изменение. Опасался, что буду не совсем правильно понят, в итоге так и случилось. Ваш вариант подходит для ситуаций, где ФИО в исходной ячейки именно 2, но не 1,3 или 4. А за моей нечеткой формулировкой скрывался запрос на формулу, которая работала бы для всех случаев - и когда в исходнике 1 фамилия и ИО, и когда 2, и когда больше. То есть идет столбец: И.И. Иванов А.А. Петров, И.И. Иванов О.О. Сидоров, А.А. Петров, И.И. Иванов А нужно всех их перенести в соседний столбец с переносом инициалов в конец. Но, возможно, проще тогда не запрашивать длинющую формулу, а сделать сначала разбивку по столбцам, потом применить формулу для каждого ФИО по отдельности, а затем сцепить. Вопрос трудоемкости.
Nic70y, спасибо. Существенное изменение. Опасался, что буду не совсем правильно понят, в итоге так и случилось. Ваш вариант подходит для ситуаций, где ФИО в исходной ячейки именно 2, но не 1,3 или 4. А за моей нечеткой формулировкой скрывался запрос на формулу, которая работала бы для всех случаев - и когда в исходнике 1 фамилия и ИО, и когда 2, и когда больше. То есть идет столбец: И.И. Иванов А.А. Петров, И.И. Иванов О.О. Сидоров, А.А. Петров, И.И. Иванов А нужно всех их перенести в соседний столбец с переносом инициалов в конец. Но, возможно, проще тогда не запрашивать длинющую формулу, а сделать сначала разбивку по столбцам, потом применить формулу для каждого ФИО по отдельности, а затем сцепить. Вопрос трудоемкости.User799
Сообщение отредактировал User799 - Понедельник, 30.08.2021, 21:57
когда в исходнике 1 фамилия и ИО, и когда 2, и когда больше.
UDF для любого количества фамилий, разделенных запятыми: [vba]
Код
Function IOF2FIO(txt As String) As String Dim x, fio As String For Each x In Split(Replace(txt, " ", ""), ",") fio = fio & ", " & Mid(x & " " & x, 5, Len(x) + 1) Next x IOF2FIO = Mid(fio, 3) End Function
когда в исходнике 1 фамилия и ИО, и когда 2, и когда больше.
UDF для любого количества фамилий, разделенных запятыми: [vba]
Код
Function IOF2FIO(txt As String) As String Dim x, fio As String For Each x In Split(Replace(txt, " ", ""), ",") fio = fio & ", " & Mid(x & " " & x, 5, Len(x) + 1) Next x IOF2FIO = Mid(fio, 3) End Function