Домашняя страница Undo Do New Save Карта сайта Обратная связь Поиск по форуму
МИР MS EXCEL - Гость.xls

Вход

Регистрация

Напомнить пароль

 

= Мир MS Excel/При сокращении ФИО есть дополнитель реквизит (объем работы) - Мир MS Excel

  • Страница 1 из 1
  • 1
Модератор форума: китин, _Boroda_, DrMini  
При сокращении ФИО есть дополнитель реквизит (объем работы)
Marina_Spb Дата: Понедельник, 12.10.2015, 11:02 | Сообщение № 1
Группа: Пользователи
Ранг: Новичок
Сообщений: 16
Репутация: 0 ±
Замечаний: 20% ±

Excel 2010
Здравствуйте!
Не могу доделать формулу с сокращением ФИО с доп.реквизитом (Фамилия Имя Отчество Ставка = Фамилия И.О. ставка), одна и та же формула не подходит для ФИО без доп реквизита.
Может кто подскажет решение.
Заранее спасибо.
К сообщению приложен файл: 3492937.xlsx (9.6 Kb)


Учиться никогда не поздно)

Сообщение отредактировал 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
Дата добавления - 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))

Забыл о Вакансии. Формулу и файл поправил.
К сообщению приложен файл: 3492937.xls (25.0 Kb)



Номер мобильного модема (без голосовой связи)
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
Дата добавления - 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);"")
еще вариант
К сообщению приложен файл: 1-1-2-7.xlsx (9.9 Kb)


Ю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]

Автор - МВТ
Дата добавления - 12.10.2015 в 11:25
Marina_Spb Дата: Понедельник, 12.10.2015, 11:57 | Сообщение № 7
Группа: Пользователи
Ранг: Новичок
Сообщений: 16
Репутация: 0 ±
Замечаний: 20% ±

Excel 2010
Спасибо, Вам всем за участие, буду пробовать!!!


Учиться никогда не поздно)
 
Ответить
СообщениеСпасибо, Вам всем за участие, буду пробовать!!!

Автор - 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);"")



Номер мобильного модема (без голосовой связи)
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
Дата добавления - 12.10.2015 в 12:25
  • Страница 1 из 1
  • 1
Поиск:

Яндекс.Метрика Яндекс цитирования
© 2010-2025 · Дизайн: MichaelCH · Хостинг от uCoz · При использовании материалов сайта, ссылка на www.excelworld.ru обязательна!