powered by simpleCommunicator - 2.0.61     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / Microsoft Office [игнор отключен] [закрыт для гостей] / Из 4-х работающих формул не могу собрать 1 работающую.
6 сообщений из 6, страница 1 из 1
Из 4-х работающих формул не могу собрать 1 работающую.
    #34825671
d34
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
d34
Гость
Есть 4 формулы:
Код: plaintext
1.
2.
3.
 1 . =ЕСЛИ(ЕОШИБКА(ВПР(ЛЕВСИМВ(A1; 3 );"CodePrAll"; 3 ));"ошибк";ВПР(ЛЕВСИМВ(A1; 3 );"CodePrAll"; 3 ))
 2 . =ЕСЛИ(И(ИЛИ(D1="FZ";D1="RE");НЕ(ЕОШИБКА(ВПР(ЛЕВСИМВ(A1; 3 );"CodePrFr"; 3 ))));ВПР(ЛЕВСИМВ(A1; 3 );"CodePrFr"; 3 );"ошибк")
 3 . =ЕСЛИ(И(ИЛИ(D1="WM";D1="DR";D1="DW");НЕ(ЕОШИБКА(ВПР(ЛЕВСИМВ(A1; 3 );"CodePrW"; 3 ))));ВПР(ЛЕВСИМВ(A1; 3 );"CodePrW"; 3 );"ошибк")
 4 . =ЕСЛИ(И(ИЛИ(D1="MW";D1="CK";D1="HB";D1="OV";D1="HD");НЕ(ЕОШИБКА(ВПР(ЛЕВСИМВ(A1; 3 );"CodePrFood"; 3 ))));ВПР(ЛЕВСИМВ(A1; 3 );"CodePrFood"; 3 );"код не найден")

По отдельности работают. Вложенные тоже работают, но только если используется 3, а не 4 формулы.
Вкладываю 2-ю в 1-ю на место "ошибк", 3-ю в получившееся на место теперешнего "ошибк" и т.д.

В итоге получаю ошибку на ЛЕВСИМВ.
Кто подскажет, где переборщил?
...
Рейтинг: 0 / 0
Из 4-х работающих формул не могу собрать 1 работающую.
    #34826122
Deggasad
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Абсолютно уверен. что формулу чожно изменить и значительно оптимизировать, но сейчас об этом речь вести не буду. У вас как мне кажется возникает ошибка из-за того, что формула слишком "глубокая" (не знаю как по научному). ЛЕВСИМВ - это уже восьмая в глубину фцнкция, а функция если () не понимает более 7.
Чтобы не использовать 8-й уровень в глубину можно вместо конструкции
НЕ(ЕОШИБКА(ВПР(ЛЕВСИМВ(A1;3);"CodePrFr";3)))
использовать
ЕЧИСЛО(ПОИСКПОЗ(ЛЕВСИМВ(A1;3);ИНДЕКС("CodePrFr";;3)))
Это был ответ на вопрос
d34Кто подскажет, где переборщил?
А вцелом считаю что формулу можно значительно упростить.
...
Рейтинг: 0 / 0
Из 4-х работающих формул не могу собрать 1 работающую.
    #34826304
Сергей06
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Не все понял, в какой последовательности должны появляться "Ошибк" и "Код не найден"
но может так пойдет?


=ЕСЛИ(И(ЕСЛИ(ЕОШИБКА(ВПР(ЛЕВСИМВ(A1;3);"CodePrAll";3));1;ВПР(ЛЕВСИМВ(A1;3);"CodePrAll";3));ЕСЛИ(И(ИЛИ(D1="FZ";D1="RE");НЕ(ЕОШИБКА(ВПР(ЛЕВСИМВ(A1;3);"CodePrFr";3))));ВПР(ЛЕВСИМВ(A1;3);"CodePrFr";3);1);ЕСЛИ(И(ИЛИ(D1="WM";D1="DR";D1="DW");НЕ(ЕОШИБКА(ВПР(ЛЕВСИМВ(A1;3);"CodePrW";3))));ВПР(ЛЕВСИМВ(A1;3);"CodePrW";3);1));"ошибк";ЕСЛИ(И(ИЛИ(D1="MW";D1="CK";D1="HB";D1="OV";D1="HD");НЕ(ЕОШИБКА(ВПР(ЛЕВСИМВ(A1;3);"CodePrFood";3))));ВПР(ЛЕВСИМВ(A1;3);"CodePrFood";3);"код не найден"))
...
Рейтинг: 0 / 0
Из 4-х работающих формул не могу собрать 1 работающую.
    #34826687
d34
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
d34
Гость
DeggasadАбсолютно уверен. что формулу чожно изменить и значительно оптимизировать, но сейчас об этом речь вести не буду.
Согласен на все 100%. Но в данный момент не так много времени, а знаний в области EXCEL не много.

DeggasadЧтобы не использовать 8-й уровень в глубину можно вместо конструкции
НЕ(ЕОШИБКА(ВПР(ЛЕВСИМВ(A1;3);"CodePrFr";3)))
использовать
ЕЧИСЛО(ПОИСКПОЗ(ЛЕВСИМВ(A1;3);ИНДЕКС("CodePrFr";;3)))

Спасибо, помогло. Правда вместо ИНДЕКС("CodePrFr";;3) я поставил просто "CodePrFr" и добавил условие 0 для ПОИСКПОЗ. Просто не понял как ИНДЕКС работает без указания строки.
...
Рейтинг: 0 / 0
Из 4-х работающих формул не могу собрать 1 работающую.
    #34827144
Deggasad
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
d34
Спасибо, помогло. Правда вместо ИНДЕКС("CodePrFr";;3) я поставил просто "CodePrFr" и добавил условие 0 для ПОИСКПОЗ. Просто не понял как ИНДЕКС работает без указания строки.

извмняюсь, имел ввиду
ЕЧИСЛО(ПОИСКПОЗ(ЛЕВСИМВ(A1;3);ИНДЕКС("CodePrFr";;1);0))

ИНДЕКС("CodePrFr";;1) - значит что искать в перво столбце, если столбцов несколько!
...
Рейтинг: 0 / 0
Из 4-х работающих формул не могу собрать 1 работающую.
    #34827424
d34
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
d34
Гость
Deggasad
ИНДЕКС("CodePrFr";;1) - значит что искать в перво столбце, если столбцов несколько!

Еще раз спасибо .
...
Рейтинг: 0 / 0
6 сообщений из 6, страница 1 из 1
Форумы / Microsoft Office [игнор отключен] [закрыт для гостей] / Из 4-х работающих формул не могу собрать 1 работающую.
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]