Не можу розібратися в формулі Excel

Автор Pazan, 31 Жовтень 2016, 14:54:13

Попередня тема - Наступна тема

Pazan

Вітаю,
у Книзі є 2 аркуші:
Ос_дані
ПІБ

Ос_дані містить: А1 - Прізвище, В1 - Ім'я, С1 - По батькові
ПІБ містить: А1 - Прізвище ініціали, В1 Код ДРФО і т.д.

У комірці А1 дані беруться з листа 1_Ос_дані за формулою:
=CONCATENATE(Ос_дані!A2;" ";(LEFT(Ос_дані!B2;1));". ";(LEFT(Ос_дані!C2;1));".")

Усе було б добре, але зустрічаються ПОДВІЙНІ ІМЕНА, наприклад, Ілона-Марія, Оксана-Анна і т.д.

Для цих випадків вирішив змінити формулу на таку:

=CONCATENATE(Ос_дані!A3;" ";(CONCATENATE(LEFT(Ос_дані!B3;1);"."));(CONCATENATE(MID(Ос_дані!B3;FIND("-";Ос_дані!B3;1);2);"."));(LEFT(Ос_дані!C3;1));".")

Вона працює лише, коли є подвійні імена. Коли звичайне ім'я, то видає помилку #VALUE.

Якось можливо пов'язати ці дві формули? Для наочності прикріпив скріншоти


[вложение удалено администратором]

aNGeL

Логична такая ошибка. Так как ты поменяв формулу - идет поиск по знаку "-" только. Все остальное выдает ошибку.
Тебе нужно смотреть в сторону функциий "IF" и "ELSE". И идти по алгоритму - есть "-" нет - то делать как раньше, иначе делать по новой формуле.
[CCCР]: ИС-7, ИС-4, Об. 277, Об.705А, СТ-II, Об. 268, Об. 268\4, Об. 261, Об. 140, Т-62А, Об. 430У, К-91
[Германия]: Maus, Е100, G.W. E 100 [США]: T110E5 [Франция]: AMX M4 mle. 54, AMX 50B [Британия]: Super Conqueror

max.sim

#2
 Нужно было поставить проверку, есть ли вообще символ "-" в искомом тексте.

Цитата: Pazan від 31 Жовтень 2016, 14:54:13
Для цих випадків вирішив змінити формулу на таку:

=CONCATENATE(Ос_дані!A3;" ";(CONCATENATE(LEFT(Ос_дані!B3;1);"."));(CONCATENATE(MID(Ос_дані!B3;FIND("-";Ос_дані!B3;1);2);"."));(LEFT(Ос_дані!C3;1));".")
вроде бы так работает.
=CONCATENATE(Ос_дані!A3;" ";CONCATENATE(LEFT(Ос_дані!B3;1);".");IF(ISERROR(FIND("-";Ос_дані!B3;1));"";CONCATENATE(MID(Ос_дані!B3;FIND("-";Ос_дані!B3;1);2);"."));LEFT(Ос_дані!C3;1);".")

И у тебя что-то слишком много лишних (), не знаю, нужно ли это вообще даже в целях совместимости.  ;)

Pazan

Цитата: max.sim від 31 Жовтень 2016, 15:37:15
Нужно было поставить проверку, есть ли вообще символ "-" в искомом тексте.
Про це не подумав. Саме із-за цього формула і не працювала. Тепер все гаразд. Дякую