Страницы: 1 2 След.
RSS
Функция ЕСЛИ, с огромным количеством условий, не справляется.
 

Добрый день, уважаемые знатоки Excel.

К сожалению не обладаю достаточными знаниями в написании формул и всех тонкостей. А так как формула нужна, а гуру тут то пожалуйста помогите.

Требуется написать (или свести воедино) формулу по условиям написанным ниже.

Файл прикладываю.

Помогите пожалуйста, руководство поставило задачу, которую я самостоятельно решить не в состоянии. Но кое какие наброски, в силу своих знаний, сделал.

К сожалению попытка разобраться в если, еслимн, и, или привела к краху.

Макрос … это вообще что то из раздела космического машиностроения.

 Полностью сообщение форму не пропускает. Поэтому условия вложил в текстовый файл.

 
Форум покурил. толком не удалось разобраться все равно.
 
отсутствие записей в C5:G5  модно проверить =СЧИТАТЬПУСТОТЫ(C5:G5) добавил формулы (выделено желтым) - соберите в одну сами.
Изменено: Vik_tor - 23.06.2022 10:45:34
 
Цитата
написал:
отсутствие записей в C5:G5  модно проверить =СЧИТАТЬПУСТОТЫ(C5:G5)
То есть мы добавим в будущую формулу и это?
А как правильно сделать основную формулу то ... вот на чем я споткнулся.
Пытался сделать матрешку вкладывая все глубже и глубже условия .... ниче не получилось.
Туповат"с
Изменено: Денис Долинский - 23.06.2022 10:40:58
 
Цитата
Денис Долинский: Форум покурил (23.06.2022 10:04:22 — 23.06.2022 10:09:57)
целых 5 минут — просто сама целеустремлённость  :D
Изменено: Jack Famous - 23.06.2022 10:44:12
Во всех делах очень полезно периодически ставить знак вопроса к тому, что вы с давних пор считали не требующим доказательств (Бертран Рассел) ►Благодарности сюда◄
 
Денис Долинский,
из сообщения 1 мы узнали:
1. что у вас не достаточно знаний
2. а формула нужна
3. руководство поставило задачу
4. если и еслимн привели к краху
5. макрос  - это что-то вообще заоблачное
6.
Цитата
Денис Долинский написал:
Требуется написать (или свести воедино) формулу по условиям написанным ниже.
а ниже.... ни одного слова о том, КАКАЯ формула вам нужна, ЧТО ВЫ ПЫТАЕТЕСЬ сосчитать? одни только причитания о сложностях и ни слова о сути задачи
Программисты - это люди, решающие проблемы, о существовании которых Вы не подозревали, методами, которых Вы не понимаете!
 
Цитата
написал:
Цитата
Денис Долинский: Форум покурил (23.06.2022 10:04:22 — 23.06.2022 10:09:57)
целых 5 минут — просто сама целеустремлённость  
Поиск с задачей близкой к моей результатов не дал.
Мониторил без регистрации.
до сих пор сижу листаю
Цитата
написал:
а ниже.... ни одного слова о том, КАКАЯ формула вам нужна, ЧТО ВЫ ПЫТАЕТЕСЬ сосчитать? одни только причитания о сложностях и ни слова о сути задачи
Не понимаю о чем вы.
Я пытался вложить и то что наваял и то что нужно в сообщение. Форум не пустил. Я вложил в текстовый файл что да как, написал что нужно, как это примерно должно работать и приложил к сообщению и написал о том что приложил.
А причитаете от невнимательности по моему вы:)
Будьте пожалуйста чуть внимательнее и чуть терпимее.  
 
Денис Долинский, сообщения, идущие подряд нужно дополнять, изменяя первое, а не плодить новые
Во всех делах очень полезно периодически ставить знак вопроса к тому, что вы с давних пор считали не требующим доказательств (Бертран Рассел) ►Благодарности сюда◄
 
Денис Долинский, не знаю как остальные, но если на понимание задачи у меня уходит более 5 минут, включая чтение, то это задача или плохо описана или тянет на платную ветку. Судя по файлу приложенному  - прям ТЗ. Перенести в платный раздел?  Иди будете тут ждать?
По вопросам из тем форума, личку не читаю.
 
разбирать то, что вы наваяли и оно не работает
а) не интересно
б) бесполезно пытаться угадать задачу по не работающему решению. (по работающему не всегда получается понять)
если вам интересно решение - от вас требуется описание задачи
обьясните простыми словами на примере своего файла что и где вы хотите сосчитать
Программисты - это люди, решающие проблемы, о существовании которых Вы не подозревали, методами, которых Вы не понимаете!
 
Цитата
написал:
Денис Долинский, не знаю как остальные, но если на понимание задачи у меня уходит более 5 минут, включая чтение, то это задача или плохо описана или тянет на платную ветку. Судя по файлу приложенному  - прям ТЗ. Перенести в платный раздел?  Иди будете тут ждать?
мне сложно судить плохо я описал задачу или нет ... я постарался сократить время тех людей кто откликнется на просьбу помочь  максимально подробно, буду ждать тут ... куда мне деваться то ... если откликнуться и помогут будет здорово ... нет, пойду дальше искать
условия все равно от этого не поменяются) но я буду благодарен, если кому то удастся мне помочь  
 
Денис Долинский, обычно комплексные задачи размещают в разделе "Работа". разбейте свою задачу на подзадачи. попытайтесь реализовать формулой. потом соберите формулы в одну. 1. проверка заполнения. проверка условия "нефть" 3 поиск остатков. Сборка. Проверка.
 
Цитата
написал:
обьясните простыми словами на примере своего файла что и где вы хотите сосчитать
простыми словами:
выбрал тип костюма, выбрал пол, подставил рост и размер и получил данные в ячейке есть ли он и в каком количестве.
 
Денис Долинский, вот вам пример вложенных ЕСЛИ
Код
=ЕСЛИ(B1=1;"один";
ЕСЛИ(B1<10;"менее десятка";
ЕСЛИ(B1>100;"больше сотни";
"между 10 и 100")))
Во всех делах очень полезно периодически ставить знак вопроса к тому, что вы с давних пор считали не требующим доказательств (Бертран Рассел) ►Благодарности сюда◄
 
Цитата
написал:
потом соберите формулы в одну. 1
Вот проблема в том что я не понимаю как правильно их в одну собрать.
По отдельности они работают, две работают. а как впихнуть три не знаю
 
Цитата
написал:
вот вам пример вложенных ЕСЛИ
на блоки что следом зачем обрабатывать и при каких условиях понятно.
Спасибо
осталось понять как в блоке разместить их правильно

=ЕСЛИ(D5="Нефть";ЕСЛИ(F5="158-164";ЕСЛИМН(G5="44-46";'Исходные данные'!$I36;G5="48-50";'Исходные данные'!$I37);"Одын");ЕСЛИ(F5="170-176";ЕСЛИМН(G5="48-50";'Исходные данные'!$I38;G5="52-54";'Исходные данные'!$I39;G5="56-58";'Исходные данные'!$I40);"Одын");ЕСЛИ(F5="182-188";ЕСЛИМН(G5="48-50";'Исходные данные'!$I41;G5="52-54";'Исходные данные'!$I42;G5="56-58";'Исходные данные'!$I43);G5="60-62";'Исходные данные'!$I44);"");ЕСЛИ(F5="194-200";ЕСЛИМН(G5="56-58";'Исходные данные'!$I45;G5="60-62";'Исходные данные'!$I46;G5="64-66";'Исходные данные'!$I47);"Одын")))));"Бубука")

Изменено: Денис Долинский - 23.06.2022 11:18:20
 
допустим вы занимаетесть строительством домов, а я жирный заказчик
я вам говорю:
-- можете построить мне дачу моей мечты?
вы:
-- могу
я:
-- стройте! деньги не вопрос.
-------------------------
но у меня вопрос: вы сможете построить мне дачу моей мечты (с количеством этажей, комнат,  с нужным количеством гаражей, с бассейном правильного размера, в конце концов с вертолетной площадкой, сможете???)

описавая задачу, вы никому не делаете одолжения
описание по типу: "на, подавись!" все еше не позволяет приступить к решению))
удачи!
Программисты - это люди, решающие проблемы, о существовании которых Вы не подозревали, методами, которых Вы не понимаете!
 
Цитата
Vik_tor: попытайтесь реализовать формулой. потом соберите формулы в одну
Денис Долинский, это ваш вариант. Если при сборке вы не можете заменить ссылку на ячейку на формулу из этой ячейки, то я этим точно заниматься не буду
Во всех делах очень полезно периодически ставить знак вопроса к тому, что вы с давних пор считали не требующим доказательств (Бертран Рассел) ►Благодарности сюда◄
 
Цитата
написал:
описание по типу: "на, подавись!" все еше не позволяет приступить к решению))удачи!
Цитата
написал:
то я этим точно заниматься не буду
Ребята ... я не прошу за меня сделать, я не понимаю где я допустил ошибку/ошибки ... то что я в кучу свалил не работает ... но эксель не обясняет почему то что сделал не работает ... а я сделал вот так ...

=ЕСЛИОШИБКА(ЕСЛИ($C5<1;"";ЕСЛИ(D5="Нефть";ЕСЛИ(F5="158-164";ЕСЛИМН(G5="44-46";'Исходные данные'!$I36;G5="48-50";'Исходные данные'!$I37);"Одын");ЕСЛИ(F5="170-176";ЕСЛИМН(G5="48-50";'Исходныеданные'!$I38;G5="52-54";'Исходные данные'!$I39;G5="56-58";'Исходные данные'!$I40);"Одын");ЕСЛИ(F5="182-188";ЕСЛИМН(G5="48-50";'Исходные данные'!$I41;G5="52-54";'Исходные данные'!$I42;G5="56-58";'Исходные данные'!$I43);G5="60-62";'Исходные данные'!$I44);"");ЕСЛИ(F5="194-200";ЕСЛИМН(G5="56-58";'Исходные данные'!$I45;G5="60-62";'Исходные данные'!$I46;G5="64-66";'Исходные данные'!$I47);"Одын")(ЕСЛИ(E5="Мужской";ЕСЛИ(E5="158-164";ЕСЛИМН(G5="44-46";'Исходные данные'!$I3;G5="48-50";'Исходные данные'!$I4);"ТУ");ЕСЛИ(E5="170-176";ЕСЛИМН(G5="48-50";'Исходные данные'!$I5;G5="52-54";'Исходные данные'!$I6;G5="56-58";'Исходные данные'!$I7);"ТУ");ЕСЛИ(E5="182-188";ЕСЛИМН(G5="48-50";'Исходные данные'!$I8;G5="52-54";'Исходные данные'!$I9;G5="56-58";'Исходные данные'!$I10);G5="60-62";'Исходные данные'!$I11);"ТУ");ЕСЛИ(E5="194-200";ЕСЛИМН(G5="56-58";'Исходные данные'!$I12;G5="60-62";'Исходные данные'!$I13;G5="64-66";'Исходные данные'!$I14)"ТУ");ЕСЛИ(E5="Женский";ЕСЛИ(E5="146-152";ЕСЛИМН(G5="40-42";'Исходные данные'!$I17;G5="44-46";'Исходные данные'!$I18;G5="48-50";'Исходные данные'!$I19);"ТРЭС");ЕСЛИ(E5="158-164";ЕСЛИМН(G5="40-42";'Исходные данные'!$I20;G5="44-46";'Исходные данные'!$I21;G5="48-50";'Исходные данные'!$I22);"ТРЭС");ЕСЛИ(E5="170-176";ЕСЛИМН(G5="48-50";'Исходные данные'!$I23;G5="52-54";'Исходные данные'!$I24;G5="56-58";'Исходные данные'!$I25);"ТРЭС");ЕСЛИ(E5="182-188";ЕСЛИМН(G5="48-50";'Исходные данные'!$I26;G5="52-54";'Исходные данные'!$I27;G5="56-58";'Исходные данные'!$I28);G5="60-62";'Исходные данные'!$I29);"ТРЕС");ЕСЛИ(E5="194-200";ЕСЛИМН(G5="56-58";'Исходные данные'!$I30;G5="60-62";'Исходные данные'!$I31;G5="64-66";'Исходные данные'!$I32)"ТРЕС");0)"")

Но это не правильно ... и я пытаюсь понять где допустил ошибку.
 
Денис Долинский, последний раз скажу: разбейте вашего монстра на работающие куски в отдельных столбцах, связанных между сосбой ссылками на ячейки. Потом соберите в один, меняя ссылку на столбец на формулу из него
Во всех делах очень полезно периодически ставить знак вопроса к тому, что вы с давних пор считали не требующим доказательств (Бертран Рассел) ►Благодарности сюда◄
 
Цитата
написал:
Денис Долинский, последний раз скажу: разбейте вашего монстра на  работающие куски в отдельных столбцах , связанных между сосбой ссылками на ячейки. Потом соберите в один, меняя ссылку на столбец на формулу из него
Уже занимаюсь.
 
а я пытаюсь в вашем сообщении прочитать описание задачи (точное и по возможности лаконичное, наждеюсь, оно буде короче, чем приведенная выше формула))
Программисты - это люди, решающие проблемы, о существовании которых Вы не подозревали, методами, которых Вы не понимаете!
 
Ігор Гончаренко, ну вообще-то условия и принцип работы формулы изложены в файле "Что требуется".
Вам с медведем не угодишь - то задачу подавай, то многабукаф. А если в задаче много условий, как её описать коротко?  :D
    Ну и не стоит забывать, что иногда действительно нужно просто поправить, что есть, а не выяснять всю историю и сооружать что-то новое "как положено"  :)
Изменено: Jack Famous - 23.06.2022 11:46:08
Во всех делах очень полезно периодически ставить знак вопроса к тому, что вы с давних пор считали не требующим доказательств (Бертран Рассел) ►Благодарности сюда◄
 
ну собрал в n5.
 
Цитата
написал:
ну собрал в n5.
Вот что тут скажешь. Вы крутой, я нубасина.
Ваша формула легкая и выполняет все поставленные задачи.

А вот что мои кривые руки собрали(хоть и работает):

=ЕСЛИ(D5="Нефть";(ЕСЛИ(F5="158-164";ЕСЛИМН(G5="44-46";'Исходные данные'!$I36;G5="48-50";'Исходные данные'!$I37);ЕСЛИ(F5="170-176";ЕСЛИМН(G5="48-50";'Исходные данные'!$I38;G5="52-54";'Исходные данные'!$I39;G5="56-58";'Исходные данные'!$I40);ЕСЛИ(F5="182-188";ЕСЛИМН(G5="48-50";'Исходные данные'!$I41;G5="52-54";'Исходные данные'!$I42;G5="56-58";'Исходные данные'!$I43;G5="60-62";'Исходные данные'!$I44);ЕСЛИ(F5="194-200";ЕСЛИМН(G5="56-58";'Исходные данные'!$I45;G5="60-62";'Исходные данные'!$I46;G5="64-66";'Исходные данные'!$I47);"Тупой ЧАСТЬ 1")))));ЕСЛИ(E5="Мужской";(ЕСЛИ(F5="158-164";ЕСЛИМН(G5="44-46";'Исходные данные'!$I3;G5="48-50";'Исходные данные'!$I4);ЕСЛИ(F5="170-176";ЕСЛИМН(G5="48-50";'Исходные данные'!$I5;G5="52-54";'Исходные данные'!$I6;G5="56-58";'Исходные данные'!$I7);ЕСЛИ(F5="182-188";ЕСЛИМН(G5="48-50";'Исходные данные'!$I8;G5="52-54";'Исходные данные'!$I9;G5="56-58";'Исходные данные'!$I10;G5="60-62";'Исходные данные'!$I11);ЕСЛИ(F5="194-200";ЕСЛИМН(G5="56-58";'Исходные данные'!$I12;G5="60-62";'Исходные данные'!$I13;G5="64-66";'Исходные данные'!$I14);"Тупой ЧАСТЬ 2")))));ЕСЛИ(E5="Женский";(ЕСЛИ(F5="146-152";ЕСЛИМН(G5="40-42";'Исходные данные'!$I17;G5="44-46";'Исходные данные'!$I18;G5="48-50";'Исходные данные'!$I19);ЕСЛИ(F5="158-164";ЕСЛИМН(G5="40-42";'Исходные данные'!$I20;G5="44-46";'Исходные данные'!$I21;G5="48-50";'Исходные данные'!$I22);ЕСЛИ(F5="170-176";ЕСЛИМН(G5="48-50";'Исходные данные'!$I23;G5="52-54";'Исходные данные'!$I24;G5="56-58";'Исходные данные'!$I25);ЕСЛИ(F5="182-188";ЕСЛИМН(G5="48-50";'Исходные данные'!$I26;G5="52-54";'Исходные данные'!$I27;G5="56-58";'Исходные данные'!$I28;G5="60-62";'Исходные данные'!$I29);ЕСЛИ(F5="194-200";ЕСЛИМН(G5="56-58";'Исходные данные'!$I30;G5="60-62";'Исходные данные'!$I31;G5="64-66";'Исходные данные'!$I32);"Тупой ЧАСТЬ 3"))))));"Бананыкокосы")))

Ну я ее еще собирался завернуть в ЕСЛИОШИБКА
 
Цитата
написал:
ну собрал в n5.
Однозначно, спасибо вам, что облегчили формулу.  Сам бы я так не собрал.

Цитата
написал:
вот вам пример вложенных ЕСЛИ
Вам спасибо, что дали направление. Это помогло решить задачу. Тем паче что мне самому интересно.
 
Денис Долинский, пожалуйста)
Редактируйте сообщение вместо написания нового. Чтобы модераторы удалили ошибочное сообщение можно оставить в нём текст del
Во всех делах очень полезно периодически ставить знак вопроса к тому, что вы с давних пор считали не требующим доказательств (Бертран Рассел) ►Благодарности сюда◄
 
Цитата
написал:
Денис Долинский, пожалуйста)
Редактируйте сообщение вместо написания нового. Чтобы модераторы удалили ошибочное сообщение можно оставить в нём текст  del
Сделал тяжелую формулу. результат тот который мне нужно, хоть теперь файл и подтормаживает, но как упросить ее именно с теми условиями которые я прописал в формуле я к сожалению не знаю.
Файл выкладываю, вдруг кому пригодится.
Спасибо всем кто откликнулся и помог)
Тем кто всем недоволен, не спасибо, но ребята,будьте добрее :)
 
Цитата
Денис Долинский: файл и подтормаживает
можно макросом вычислять и вставлять, когда и куда нужно. Освободится куча ресурсов, участвующих в постоянном пересчёте.
Во всех делах очень полезно периодически ставить знак вопроса к тому, что вы с давних пор считали не требующим доказательств (Бертран Рассел) ►Благодарности сюда◄
 
Денис Долинский, вроде сошлись на более короткой формуле, чем ваша в #28
Код
=ЕСЛИ(СЧИТАТЬПУСТОТЫ(A6:G6);0;ЕСЛИ(D6="Нефть";СУММЕСЛИМН('Исходные данные'!$I$3:$I$49;'Исходные данные'!$F$3:$F$49;D6;'Исходные данные'!$G$3:$G$49;F6;'Исходные данные'!$H$3:$H$49;G6);СУММЕСЛИМН('Исходные данные'!$I$3:$I$49;'Исходные данные'!$F$3:$F$49;E6;'Исходные данные'!$G$3:$G$49;F6;'Исходные данные'!$H$3:$H$49;G6)))
Страницы: 1 2 След.
Наверх