Работа со строками, моё самое не любимое занятие… работа со строками в экселе… ещё более не любимое занятие.
Но тут по работе понадобилось сделать такую замечательную вещь как вставить в ячейку ФИО и «, мать» за место «мать» может быть «отец» «бабушка» «дедушка» и «личнопросящий».
В общем облазив сеть в поисках чуда. Т.е. кто-то сделал это до меня и выложил в сеть… Как всегда поиск не увенчался успехом. Хотя очень даже увенчался я нашла нужные функции для работы… в общем. Закончив авторитетное бла-бла, Бла-Блабла. показываю результат:
Формула столбика АВ если он на том же листе:
=ЕСЛИ(ЛЕВСИМВ(F9;4)="себя";СЦЕПИТЬ(ЛЕВСИМВ(C9;60);" ");ЕСЛИ(ЛЕВСИМВ(F9;2)="её";ЕСЛИ(ИЛИ(ЛЕВСИМВ(G9;4)="дочь";ЛЕВСИМВ(G9;3)="сын");СЦЕПИТЬ(ЛЕВСИМВ(C9;60);", мать");ЕСЛИ(ИЛИ(ЛЕВСИМВ(G9;6)="внучка";ЛЕВСИМВ(G9;4)="внук");СЦЕПИТЬ(ЛЕВСИМВ(C9;60);", бабушка");"Укажите родственную связь ребенка"));ЕСЛИ(ЛЕВСИМВ(F9;3)="его";ЕСЛИ(ИЛИ(ЛЕВСИМВ(G9;4)="дочь";ЛЕВСИМВ(G9;3)="сын");СЦЕПИТЬ(ЛЕВСИМВ(C9;60);", отец");ЕСЛИ(ИЛИ(ЛЕВСИМВ(G9;6)="внучка";ЛЕВСИМВ(G9;4)="внук");СЦЕПИТЬ(ЛЕВСИМВ(C9;60);", дедушка");"Укажите родственную связь ребенка"));"введите одно из значений: её;его;себя")))
Если расположить необходимо на другом листе:
=ЕСЛИ(ЛЕВСИМВ('Пр1939-ок'!F9;4)="себя";СЦЕПИТЬ(ЛЕВСИМВ('Пр1939-ок'!C9;60);" ");ЕСЛИ(ЛЕВСИМВ('Пр1939-ок'!F9;2)="её";ЕСЛИ(ИЛИ(ЛЕВСИМВ('Пр1939-ок'!G9;4)="дочь";ЛЕВСИМВ('Пр1939-ок'!G9;3)="сын");СЦЕПИТЬ(ЛЕВСИМВ('Пр1939-ок'!C9;60);", мать");ЕСЛИ(ИЛИ(ЛЕВСИМВ('Пр1939-ок'!G9;6)="внучка";ЛЕВСИМВ('Пр1939-ок'!G9;4)="внук");СЦЕПИТЬ(ЛЕВСИМВ('Пр1939-ок'!C9;60);", бабушка");"Укажите родственную связь ребенка"));ЕСЛИ(ЛЕВСИМВ('Пр1939-ок'!F9;3)="его";ЕСЛИ(ИЛИ(ЛЕВСИМВ('Пр1939-ок'!G9;4)="дочь";ЛЕВСИМВ('Пр1939-ок'!G9;3)="сын");СЦЕПИТЬ(ЛЕВСИМВ('Пр1939-ок'!C9;60);", отец");ЕСЛИ(ИЛИ(ЛЕВСИМВ('Пр1939-ок'!G9;6)="внучка";ЛЕВСИМВ('Пр1939-ок'!G9;4)="внук");СЦЕПИТЬ(ЛЕВСИМВ('Пр1939-ок'!C9;60);", дедушка");"Укажите родственную связь ребенка"));"введите одно из значений: её;его;себя")))
ещё добавлю вспомогательную фигню которой пользовалась.(т.е. нашла в сети и она мне пригодилась)
http://www.programm-school.ru/tekstovie_funkcii_excel.html
Функции категории "Текстовые"
Итак, рассмотрим основные и полезные функции категории "Текстовые", с остальными можно ознакомиться самостоятельно.
http://exceltip.ru/логические-функции-в-excel/
ЕСЛИ(логическое_выражение; [значение_если_истина]; [значение_если_ложь]) – Проверяет логическое_выражение и возвращает значение_если_истина в ячейку если оно равно ИСТИНА, иначе возвращает значение_если_ложь.
ЕСЛИОШИБКА(значение; значение_если_ошибка) – Возвращает значение аргумента другой логической функции не содержащей ошибку, иначе возвращает значение_если_ошибка.
ЕСНД(значение; значение_если_нд) – Возвращает указанное значение_если_нд, если выражение дает результат #Н/Д; в противном случае возвращает результат выажения.
И(логическое_значение1; [логическое_значение2]; …) – Проверяет логические_значения аргументов и возвращает ИСТИНА, если все они имеют значение ИСТИНА. Если хотя бы одно значение ложно, возвращает ЛОЖЬ.
ИЛИ(логическое_значение1; [логическое_значение2]; …) — Проверяет логические_значения аргументов и возвращает ИСТИНА, если хотя бы одно имеет значение ИСТИНА. Если все значения равны ЛОЖЬ, функция ИЛИ возвращает ЛОЖЬ.
ИСКЛИЛИ(логическое_значение1; [логическое_значение2]; …) – Проверяет логические_значения аргументов и возвращает ИСТИНА, если количество истинных значений четно, в противном случае возвращает ЛОЖЬ
ИСТИНА() – аргументов нет и возвращает значение ИСТИНА.
ЛОЖЬ() – аргументов нет и возвращает значение ЛОЖЬ.
НЕ(логическое_значение) – меняет значение ИСТИНА на ЛОЖЬ, и ЛОЖЬ на ИСТИНА.