При сокращении ФИО есть дополнитель реквизит (объем работы)
Marina_Spb
Дата: Понедельник, 12.10.2015, 11:02 |
Сообщение № 1
Группа: Пользователи
Ранг: Новичок
Сообщений: 16
Репутация:
0
±
Замечаний:
20% ±
Excel 2010
Здравствуйте! Не могу доделать формулу с сокращением ФИО с доп.реквизитом (Фамилия Имя Отчество Ставка = Фамилия И.О. ставка), одна и та же формула не подходит для ФИО без доп реквизита. Может кто подскажет решение. Заранее спасибо.
Здравствуйте! Не могу доделать формулу с сокращением ФИО с доп.реквизитом (Фамилия Имя Отчество Ставка = Фамилия И.О. ставка), одна и та же формула не подходит для ФИО без доп реквизита. Может кто подскажет решение. Заранее спасибо. Marina_Spb
Учиться никогда не поздно)
Сообщение отредактировал Marina_Spb - Понедельник, 12.10.2015, 11:04
Ответить
Сообщение Здравствуйте! Не могу доделать формулу с сокращением ФИО с доп.реквизитом (Фамилия Имя Отчество Ставка = Фамилия И.О. ставка), одна и та же формула не подходит для ФИО без доп реквизита. Может кто подскажет решение. Заранее спасибо. Автор - Marina_Spb Дата добавления - 12.10.2015 в 11:02
YouGreed
Дата: Понедельник, 12.10.2015, 11:16 |
Сообщение № 2
Группа: Проверенные
Ранг: Ветеран
Сообщений: 589
Репутация:
123
±
Замечаний:
0% ±
Excel 2010
Marina_Spb, Код
=ЕСЛИ(A2="Вакансия";"";ЕСЛИ(ЕОШ(НАЙТИ(",";A2;1));СЦЕПИТЬ(ЛЕВСИМВ(СЖПРОБЕЛЫ(A2);НАЙТИ(" ";СЖПРОБЕЛЫ(A2);1));ПСТР(СЖПРОБЕЛЫ(A2);НАЙТИ(" ";СЖПРОБЕЛЫ(A2);1)+1;1);".";ПСТР(СЖПРОБЕЛЫ(A2);НАЙТИ(" ";СЖПРОБЕЛЫ(A2);НАЙТИ(" ";СЖПРОБЕЛЫ(A2);1)+1)+1;1));СЦЕПИТЬ(ЛЕВСИМВ(СЖПРОБЕЛЫ(A2);НАЙТИ(" ";СЖПРОБЕЛЫ(A2);1));ПСТР(СЖПРОБЕЛЫ(A2);НАЙТИ(" ";СЖПРОБЕЛЫ(A2);1)+1;1);".";ПСТР(СЖПРОБЕЛЫ(A2);НАЙТИ(" ";СЖПРОБЕЛЫ(A2);НАЙТИ(" ";СЖПРОБЕЛЫ(A2);1)+1)+1;1);". ";ПСТР(СЖПРОБЕЛЫ(A2);НАЙТИ(" ";СЖПРОБЕЛЫ(A2);НАЙТИ(" ";СЖПРОБЕЛЫ(A2);НАЙТИ(" ";СЖПРОБЕЛЫ(A2);1)+1)+1)+1;4))))
Marina_Spb, Код
=ЕСЛИ(A2="Вакансия";"";ЕСЛИ(ЕОШ(НАЙТИ(",";A2;1));СЦЕПИТЬ(ЛЕВСИМВ(СЖПРОБЕЛЫ(A2);НАЙТИ(" ";СЖПРОБЕЛЫ(A2);1));ПСТР(СЖПРОБЕЛЫ(A2);НАЙТИ(" ";СЖПРОБЕЛЫ(A2);1)+1;1);".";ПСТР(СЖПРОБЕЛЫ(A2);НАЙТИ(" ";СЖПРОБЕЛЫ(A2);НАЙТИ(" ";СЖПРОБЕЛЫ(A2);1)+1)+1;1));СЦЕПИТЬ(ЛЕВСИМВ(СЖПРОБЕЛЫ(A2);НАЙТИ(" ";СЖПРОБЕЛЫ(A2);1));ПСТР(СЖПРОБЕЛЫ(A2);НАЙТИ(" ";СЖПРОБЕЛЫ(A2);1)+1;1);".";ПСТР(СЖПРОБЕЛЫ(A2);НАЙТИ(" ";СЖПРОБЕЛЫ(A2);НАЙТИ(" ";СЖПРОБЕЛЫ(A2);1)+1)+1;1);". ";ПСТР(СЖПРОБЕЛЫ(A2);НАЙТИ(" ";СЖПРОБЕЛЫ(A2);НАЙТИ(" ";СЖПРОБЕЛЫ(A2);НАЙТИ(" ";СЖПРОБЕЛЫ(A2);1)+1)+1)+1;4))))
YouGreed
Ответить
Сообщение Marina_Spb, Код
=ЕСЛИ(A2="Вакансия";"";ЕСЛИ(ЕОШ(НАЙТИ(",";A2;1));СЦЕПИТЬ(ЛЕВСИМВ(СЖПРОБЕЛЫ(A2);НАЙТИ(" ";СЖПРОБЕЛЫ(A2);1));ПСТР(СЖПРОБЕЛЫ(A2);НАЙТИ(" ";СЖПРОБЕЛЫ(A2);1)+1;1);".";ПСТР(СЖПРОБЕЛЫ(A2);НАЙТИ(" ";СЖПРОБЕЛЫ(A2);НАЙТИ(" ";СЖПРОБЕЛЫ(A2);1)+1)+1;1));СЦЕПИТЬ(ЛЕВСИМВ(СЖПРОБЕЛЫ(A2);НАЙТИ(" ";СЖПРОБЕЛЫ(A2);1));ПСТР(СЖПРОБЕЛЫ(A2);НАЙТИ(" ";СЖПРОБЕЛЫ(A2);1)+1;1);".";ПСТР(СЖПРОБЕЛЫ(A2);НАЙТИ(" ";СЖПРОБЕЛЫ(A2);НАЙТИ(" ";СЖПРОБЕЛЫ(A2);1)+1)+1;1);". ";ПСТР(СЖПРОБЕЛЫ(A2);НАЙТИ(" ";СЖПРОБЕЛЫ(A2);НАЙТИ(" ";СЖПРОБЕЛЫ(A2);НАЙТИ(" ";СЖПРОБЕЛЫ(A2);1)+1)+1)+1;4))))
Автор - YouGreed Дата добавления - 12.10.2015 в 11:16
AlexM
Дата: Понедельник, 12.10.2015, 11:18 |
Сообщение № 3
Группа: Друзья
Ранг: Участник клуба
Сообщений: 4517
Репутация:
1130
±
Замечаний:
0% ±
Excel 2003
Код
=ЕСЛИ(A1="Вакансия";"";ЛЕВБ(A1;ПОИСК(" ";A1)+1)&"."&ПСТР(A1;ПОИСК(" ";A1;ПОИСК(" ";A1)+1)+1;1)&"."&ПСТР(A1;ПОИСК("|";ПОДСТАВИТЬ(A1&" ";" ";"|";3));9))
Забыл о Вакансии. Формулу и файл поправил.
Код
=ЕСЛИ(A1="Вакансия";"";ЛЕВБ(A1;ПОИСК(" ";A1)+1)&"."&ПСТР(A1;ПОИСК(" ";A1;ПОИСК(" ";A1)+1)+1;1)&"."&ПСТР(A1;ПОИСК("|";ПОДСТАВИТЬ(A1&" ";" ";"|";3));9))
Забыл о Вакансии. Формулу и файл поправил.AlexM
Номер мобильного модема (без голосовой связи) 9269171249 МегаФон, Московский регион.
Сообщение отредактировал AlexM - Понедельник, 12.10.2015, 11:24
Ответить
Сообщение Код
=ЕСЛИ(A1="Вакансия";"";ЛЕВБ(A1;ПОИСК(" ";A1)+1)&"."&ПСТР(A1;ПОИСК(" ";A1;ПОИСК(" ";A1)+1)+1;1)&"."&ПСТР(A1;ПОИСК("|";ПОДСТАВИТЬ(A1&" ";" ";"|";3));9))
Забыл о Вакансии. Формулу и файл поправил.Автор - AlexM Дата добавления - 12.10.2015 в 11:18
SLAVICK
Дата: Понедельник, 12.10.2015, 11:18 |
Сообщение № 4
Группа: Модераторы
Ранг: Старожил
Сообщений: 2290
Репутация:
766
±
Замечаний:
0% ±
2019
Без оптимизаций - просто добавил еслиошибка:Код
=ЕСЛИ(A2="Вакансия";""; (СЦЕПИТЬ(ЛЕВСИМВ(СЖПРОБЕЛЫ(A2);НАЙТИ(" ";СЖПРОБЕЛЫ(A2);1)); ПСТР(СЖПРОБЕЛЫ(A2);НАЙТИ(" ";СЖПРОБЕЛЫ(A2);1)+1;1);"."; ПСТР(СЖПРОБЕЛЫ(A2);НАЙТИ(" ";СЖПРОБЕЛЫ(A2);НАЙТИ(" ";СЖПРОБЕЛЫ(A2);1)+1)+1;1);". "; ЕСЛИОШИБКА(ПСТР(СЖПРОБЕЛЫ(A2);НАЙТИ(" ";СЖПРОБЕЛЫ(A2);НАЙТИ(" ";СЖПРОБЕЛЫ(A2);НАЙТИ(" ";СЖПРОБЕЛЫ(A2);1)+1)+1)+1;4);""))))
Без оптимизаций - просто добавил еслиошибка:Код
=ЕСЛИ(A2="Вакансия";""; (СЦЕПИТЬ(ЛЕВСИМВ(СЖПРОБЕЛЫ(A2);НАЙТИ(" ";СЖПРОБЕЛЫ(A2);1)); ПСТР(СЖПРОБЕЛЫ(A2);НАЙТИ(" ";СЖПРОБЕЛЫ(A2);1)+1;1);"."; ПСТР(СЖПРОБЕЛЫ(A2);НАЙТИ(" ";СЖПРОБЕЛЫ(A2);НАЙТИ(" ";СЖПРОБЕЛЫ(A2);1)+1)+1;1);". "; ЕСЛИОШИБКА(ПСТР(СЖПРОБЕЛЫ(A2);НАЙТИ(" ";СЖПРОБЕЛЫ(A2);НАЙТИ(" ";СЖПРОБЕЛЫ(A2);НАЙТИ(" ";СЖПРОБЕЛЫ(A2);1)+1)+1)+1;4);""))))
SLAVICK
Иногда все проще чем кажется с первого взгляда.
Ответить
Сообщение Без оптимизаций - просто добавил еслиошибка:Код
=ЕСЛИ(A2="Вакансия";""; (СЦЕПИТЬ(ЛЕВСИМВ(СЖПРОБЕЛЫ(A2);НАЙТИ(" ";СЖПРОБЕЛЫ(A2);1)); ПСТР(СЖПРОБЕЛЫ(A2);НАЙТИ(" ";СЖПРОБЕЛЫ(A2);1)+1;1);"."; ПСТР(СЖПРОБЕЛЫ(A2);НАЙТИ(" ";СЖПРОБЕЛЫ(A2);НАЙТИ(" ";СЖПРОБЕЛЫ(A2);1)+1)+1;1);". "; ЕСЛИОШИБКА(ПСТР(СЖПРОБЕЛЫ(A2);НАЙТИ(" ";СЖПРОБЕЛЫ(A2);НАЙТИ(" ";СЖПРОБЕЛЫ(A2);НАЙТИ(" ";СЖПРОБЕЛЫ(A2);1)+1)+1)+1;4);""))))
Автор - SLAVICK Дата добавления - 12.10.2015 в 11:18
Nic70y
Дата: Понедельник, 12.10.2015, 11:22 |
Сообщение № 5
Группа: Друзья
Ранг: Экселист
Сообщений: 9137
Репутация:
2416
±
Замечаний:
0% ±
Excel 2010
Код
=ЕСЛИОШИБКА(ЛЕВБ(A1;ПОИСК(" ";A1))&ПСТР(A1;ПОИСК(" ";A1)+1;1)&"."&ПСТР(A1;ПОИСК("\";ПОДСТАВИТЬ(A1;" ";"\";2))+1;1)&"."&ПСТР(A1;ПОИСК("\";ПОДСТАВИТЬ(A1&" ";" ";"\";3));15);"")
еще вариант
Код
=ЕСЛИОШИБКА(ЛЕВБ(A1;ПОИСК(" ";A1))&ПСТР(A1;ПОИСК(" ";A1)+1;1)&"."&ПСТР(A1;ПОИСК("\";ПОДСТАВИТЬ(A1;" ";"\";2))+1;1)&"."&ПСТР(A1;ПОИСК("\";ПОДСТАВИТЬ(A1&" ";" ";"\";3));15);"")
еще вариантNic70y
ЮMoney 41001841029809
Ответить
Сообщение Код
=ЕСЛИОШИБКА(ЛЕВБ(A1;ПОИСК(" ";A1))&ПСТР(A1;ПОИСК(" ";A1)+1;1)&"."&ПСТР(A1;ПОИСК("\";ПОДСТАВИТЬ(A1;" ";"\";2))+1;1)&"."&ПСТР(A1;ПОИСК("\";ПОДСТАВИТЬ(A1&" ";" ";"\";3));15);"")
еще вариантАвтор - Nic70y Дата добавления - 12.10.2015 в 11:22
МВТ
Дата: Понедельник, 12.10.2015, 11:25 |
Сообщение № 6
Группа: Проверенные
Ранг: Обитатель
Сообщений: 476
Репутация:
137
±
Замечаний:
0% ±
Excel 2007
Можно UDF, мне кажется - проще будет[vba]Код
Function FIO(Text As String) As String Dim arr: arr = Split(Application.WorksheetFunction.Trim(Text)) If UBound(arr) < 1 Then FIO = Text Exit Function End If For i = 1 To Application.WorksheetFunction.Min(UBound(arr), 2) arr(i) = Left(arr(i), 1) & "." Next FIO = Join(arr) End Function
[/vba]
Можно UDF, мне кажется - проще будет[vba]Код
Function FIO(Text As String) As String Dim arr: arr = Split(Application.WorksheetFunction.Trim(Text)) If UBound(arr) < 1 Then FIO = Text Exit Function End If For i = 1 To Application.WorksheetFunction.Min(UBound(arr), 2) arr(i) = Left(arr(i), 1) & "." Next FIO = Join(arr) End Function
[/vba] МВТ
Ответить
Сообщение Можно UDF, мне кажется - проще будет[vba]Код
Function FIO(Text As String) As String Dim arr: arr = Split(Application.WorksheetFunction.Trim(Text)) If UBound(arr) < 1 Then FIO = Text Exit Function End If For i = 1 To Application.WorksheetFunction.Min(UBound(arr), 2) arr(i) = Left(arr(i), 1) & "." Next FIO = Join(arr) End Function
[/vba] Автор - МВТ Дата добавления - 12.10.2015 в 11:25
Marina_Spb
Дата: Понедельник, 12.10.2015, 11:57 |
Сообщение № 7
Группа: Пользователи
Ранг: Новичок
Сообщений: 16
Репутация:
0
±
Замечаний:
20% ±
Excel 2010
Спасибо, Вам всем за участие, буду пробовать!!!
Спасибо, Вам всем за участие, буду пробовать!!! Marina_Spb
Учиться никогда не поздно)
Ответить
Сообщение Спасибо, Вам всем за участие, буду пробовать!!! Автор - Marina_Spb Дата добавления - 12.10.2015 в 11:57
AlexM
Дата: Понедельник, 12.10.2015, 11:59 |
Сообщение № 8
Группа: Друзья
Ранг: Участник клуба
Сообщений: 4517
Репутация:
1130
±
Замечаний:
0% ±
Excel 2003
Если скрестить форулу Nic70y и AlexM получится Код
=ЕСЛИОШИБКА(ЛЕВБ(A1;ПОИСК(" ";A1)+1)&"."&ПСТР(A1;ПОИСК(" ";A1;ПОИСК(" ";A1)+1)+1;1)&"."&ПСТР(A1;ПОИСК("|";ПОДСТАВИТЬ(A1&" ";" ";"|";3));9);"")
Если скрестить форулу Nic70y и AlexM получится Код
=ЕСЛИОШИБКА(ЛЕВБ(A1;ПОИСК(" ";A1)+1)&"."&ПСТР(A1;ПОИСК(" ";A1;ПОИСК(" ";A1)+1)+1;1)&"."&ПСТР(A1;ПОИСК("|";ПОДСТАВИТЬ(A1&" ";" ";"|";3));9);"")
AlexM
Номер мобильного модема (без голосовой связи) 9269171249 МегаФон, Московский регион.
Ответить
Сообщение Если скрестить форулу Nic70y и AlexM получится Код
=ЕСЛИОШИБКА(ЛЕВБ(A1;ПОИСК(" ";A1)+1)&"."&ПСТР(A1;ПОИСК(" ";A1;ПОИСК(" ";A1)+1)+1;1)&"."&ПСТР(A1;ПОИСК("|";ПОДСТАВИТЬ(A1&" ";" ";"|";3));9);"")
Автор - AlexM Дата добавления - 12.10.2015 в 11:59
Marina_Spb
Дата: Понедельник, 12.10.2015, 12:25 |
Сообщение № 9
Группа: Пользователи
Ранг: Новичок
Сообщений: 16
Репутация:
0
±
Замечаний:
20% ±
Excel 2010
Если скрестить форулу Nic70y и AlexM получится...
Такая формула еще интересней, так как в одном из вариантов, на пустое поле выдавало "значение". Я на такую формулу даже и не рассчитывала в начале вопроса)) Спасибо всем.
Если скрестить форулу Nic70y и AlexM получится...
Такая формула еще интересней, так как в одном из вариантов, на пустое поле выдавало "значение". Я на такую формулу даже и не рассчитывала в начале вопроса)) Спасибо всем.Marina_Spb
Учиться никогда не поздно)
Ответить
Сообщение Если скрестить форулу Nic70y и AlexM получится...
Такая формула еще интересней, так как в одном из вариантов, на пустое поле выдавало "значение". Я на такую формулу даже и не рассчитывала в начале вопроса)) Спасибо всем.Автор - Marina_Spb Дата добавления - 12.10.2015 в 12:25