Страницы: 1 2 След.
RSS
Слишком много аргументов
 
=ЕСЛИ(Q11="dd1";ВПР(N11;'Расчетные коэф.'!A7:'Расчетные коэф.'!A7:D19;2;0);ЕСЛИ(ИЛИ(Q11="dd2";Q11="dd3");ВПР(N11;'Расчетные коэф.'!A23:D35;2;0));ЕСЛИ(ИЛИ(Q11="dd4";Q11="ddс");ВПР(N11;'Расчетные коэф.'!A23:D35;2;0)))  
Мне пишет, что для данной функции слишком много аргументов но вроде excel позволяет вводить до 255 аргументов, Как так?
 
ЕСЛИ(условие;1;2)  
А у Вас ЕСЛИ(условие;1;2;ЕСЛИ(...))  
Второе ЕСЛИ уже сверх лимита.  
Давайте кусочек файла и описание, что нужно получить, поможем.
 
Извините, не то.  
Диапазон ВПР - 'Расчетные коэф.'!A7:'Расчетные коэф.'!A7:D19.  
В любом случае, с файлом нагляднее.  
Да и справку не отменяли.
 
Еще скобка не там и в последней ЕСЛИ нет условия_ложь (поставил ААА):  
=ЕСЛИ(Q11="dd1";ВПР(N11;'Расчетные коэф.'!A7:D19;2;0);ЕСЛИ(ИЛИ(Q11="dd2";Q11="dd3");ВПР(N11;'Расчетные коэф.'!A23:D35;2;0);ЕСЛИ(ИЛИ(Q11="dd4";Q11="ddс");ВПР(N11;'Расчетные коэф.'!A23:D35;2;0);ААА)))  
Чует мое сердце, что можно упростить :)
 
Вот файл. Суть его - это калькулятор, есть базовая цена услуги, в самом калькуляторе задается несколько параметров, и у каждого параметра свой коэффициент , который от многих параметров зависит, и в итоге считается базовая стоимость умножить на все коэффициенты. Вот я и пытался через если и впр тащить коэффициенты.
 
Глянул бы, но я все еще дежурю, .xlsx здесь не вижу...
 
Что то файл криво прикрепился еще раз пробую
 
{quote}{login=vikttur}{date=29.07.2010 01:07}{thema=}{post}Извините, не то.  
Диапазон ВПР - 'Расчетные коэф.'!A7:'Расчетные коэф.'!A7:D19.  
В любом случае, с файлом нагляднее.  
Да и справку не отменяли.{/post}{/quote}  
 
Попробовал так =ЕСЛИ(Q11="dd1";ВПР(N11;'Расчетные коэф.'!A7:D19;2;0);ЕСЛИ(ИЛИ(Q11="dd2";Q11="dd3");ВПР(N11;'Расчетные коэф.'!A23:D35;2;0));ЕСЛИ(ИЛИ(Q11="dd4";Q11="ddc1");ВПР(N11;'Расчетные коэф.'!A39:D51;2;0)))    
Все равно то же самое говорит.
 
=ЕСЛИ(Q11="dd1";ВПР(N11;'Расчетные коэф.'!$A$7:$D$19;2;0);ЕСЛИ(ИЛИ(Q11="dd2";Q11="dd3");ВПР(N11;'Расчетные коэф.'!$A$23:$D$35;2;0);ЕСЛИ(ИЛИ(Q11="dd4";Q11="DDC1");ВПР(N11;'Расчетные коэф.'!$A$23:$D$35;2;0);"")))
 
Можно короче, но непонятнее  
=ИНДЕКС('Расчетные коэф.'!$B$7:$B$51;ПОИСКПОЗ(N11;'Расчетные коэф.'!$A$7:$A$19;0)+ВЫБОР((Q11="DD1")+2*ИЛИ(Q11="DD2";Q11="DD3")+3*ИЛИ(Q11="DD4";Q11="DDC1");0;16;32))  
 
Еще вариант в файле (ячейка Т39 и рядом закрашенный диапазон). Использование ИНДЕКС с областями:  
=ИНДЕКС(('Расчетные коэф.'!B7:B19;'Расчетные коэф.'!B23:B35;'Расчетные коэф.'!B39:B51);ПОИСКПОЗ(N11;'Расчетные коэф.'!$A$7:$A$19;0);;ВПР(Q11;Q83:R87;2;0))
 
/
 
Спасибо большое!!! Сейчас буду разбираться что к чему...
 
=ЕСЛИ(O11="до 10000";ЕСЛИ(P11="dd1";ВПР(M11;'Расчетные коэф.'!$A$7:$D$19;2;0);ЕСЛИ(ИЛИ(P11="dd2";P11="dd3");ВПР(M11;'Расчетные коэф.'!$A$23:$D$35;2;0);ЕСЛИ(ИЛИ(P11="dd4";P11="DDC1");ВПР(M11;'Расчетные коэф.'!$A$23:$D$35;2;0);"")));ЕСЛИ(O11="10000-50000";ЕСЛИ(P11="dd1";ВПР(M11;'Расчетные коэф.'!$A$7:$D$19;3;0);ЕСЛИ(ИЛИ(P11="dd2";P11="dd3");ВПР(M11;'Расчетные коэф.'!$A$23:$D$35;3;0);ЕСЛИ(ИЛИ(P11="dd4";P11="DDC1");ВПР(M11;'Расчетные коэф.'!$A$23:$D$35;3;0);""))));если(O11="более 50 000";ЕСЛИ(P11="dd1";ВПР(M11;'Расчетные коэф.'!$A$7:$D$19;2;0);ЕСЛИ(ИЛИ(P11="dd2";P11="dd3");ВПР(M11;'Расчетные коэф.'!$A$23:$D$35;2;0);ЕСЛИ(ИЛИ(P11="dd4";P11="DDC1");ВПР(M11;'Расчетные коэф.'!$A$23:$D$35;2;0);""))));"")  
 
С первым коэффициентом разобрался а теперь выбор двух коэффициентов встал...
 
И самое главное для первых двух переменных работает а на третью говорит что уже много аргументов...
 
vikttur а в чем именно суть проблемы? что действительно слишком много аргументов? Или что то в самой формуле неверно?
 
{quote}{login=Степан}{date=29.07.2010 04:35}{thema=}{post}И самое главное для первых двух переменных работает а на третью говорит что уже много аргументов...{/post}{/quote}Степан, я так понял что это уже новая задача? Можете её сформулировать? Что где не получается?
 
Что Вы хотите от формулы? В O11 текст ("Москва"), а не число, М11 - текст и т.д. То ли формула из другого файла, то ли вы все переделали.  
Почитайте справку по функциям.  
В прошлом примере я Вам показал, как заменить коэффициенты с помощью таблицы соответствий. Для другого попытайтесь сделать так же.
 
{quote}{login=Serge 007}{date=29.07.2010 04:44}{thema=Re: }{post}{quote}{login=Степан}{date=29.07.2010 04:35}{thema=}{post}И самое главное для первых двух переменных работает а на третью говорит что уже много аргументов...{/post}{/quote}Степан, я так понял что это уже новая задача? Можете её сформулировать? Что где не получается?{/post}{/quote}  
 
Задача такая есть 13 типов объекта у каждого типа 5 услуг (но коэф. только для 3 различаются) каждый коэф. зависит от трех факторов.  
 
Например: коэффициент за местоположение, есть москва мо регионы, и 13 типов объекта, и 3 вида услуг. я сперва отВПРил  виды услуг ЕСЛИ($P$11="dd1";ВПР(M11;'Расчетные коэф.'!$A$7:$D$19;2;0);ЕСЛИ(ИЛИ(P11="dd2";P11="dd3");ВПР(M11;'Расчетные коэф.'!$A$23:$D$35;2;0);ЕСЛИ(ИЛИ(P11="dd4";P11="DDC1");ВПР(M11;'Расчетные коэф.'!$A$23:$D$35;2;0) в формуле в зависимости от вида услуг меняются таблицы для ВПР, а потом я с помощью ЕСЛИ выбираю один из трех местоположений, =ЕСЛИ($O$11="до 10000" ..... и меняю столбец ВПР по типам объекта.  И он мне находит нужный коэффициент с нужным типом объекта, с нужным параметром коэффициента.
 
И все в общем виде:  =ЕСЛИ($O$11="до 10000";ЕСЛИ($P$11="dd1";ВПР(M11;'Расчетные коэф.'!$A$7:$D$19;2;0);ЕСЛИ(ИЛИ(P11="dd2";P11="dd3");ВПР(M11;'Расчетные коэф.'!$A$23:$D$35;2;0);ЕСЛИ(ИЛИ(P11="dd4";P11="DDC1");ВПР(M11;'Расчетные коэф.'!$A$23:$D$35;2;0);"")));ЕСЛИ($O$11="10000-50000";ЕСЛИ(P11="dd1";ВПР(M11;'Расчетные коэф.'!$A$7:$D$19;3;0);ЕСЛИ(ИЛИ(P11="dd2";P11="dd3");ВПР(M11;'Расчетные коэф.'!$A$23:$D$35;3;0);ЕСЛИ(ИЛИ(P11="dd4";P11="DDC1");ВПР(M11;'Расчетные коэф.'!$A$23:$D$35;3;0);""))));если($O$11="более 50000";ЕСЛИ(P11="dd1";ВПР(M11;'Расчетные коэф.'!$A$7:$D$19;3;0);ЕСЛИ(ИЛИ(P11="dd2";P11="dd3");ВПР(M11;'Расчетные коэф.'!$A$23:$D$35;3;0);ЕСЛИ(ИЛИ(P11="dd4";P11="DDC1");ВПР(M11;'Расчетные коэф.'!$A$23:$D$35;3;0);"")))))    
На что он мне говорит что аргументов слишком много
 
Решил отойти от этой затеи и все таки разобраться с ИНДЕКС и ВЫБОР
 
{quote}{login=vikttur}{date=29.07.2010 03:08}{thema=}{post}Можно короче, но непонятнее  
=ИНДЕКС('Расчетные коэф.'!$B$7:$B$51;ПОИСКПОЗ(N11;'Расчетные коэф.'!$A$7:$A$19;0)+ВЫБОР((Q11="DD1")+2*ИЛИ(Q11="DD2";Q11="DD3")+3*ИЛИ(Q11="DD4";Q11="DDC1");0;16;32))  
 
Еще вариант в файле (ячейка Т39 и рядом закрашенный диапазон). Использование ИНДЕКС с областями:  
=ИНДЕКС(('Расчетные коэф.'!B7:B19;'Расчетные коэф.'!B23:B35;'Расчетные коэф.'!B39:B51);ПОИСКПОЗ(N11;'Расчетные коэф.'!$A$7:$A$19;0);;ВПР(Q11;Q83:R87;2;0)){/post}{/quote}  
 
Выбрал это =ИНДЕКС('Расчетные коэф.'!$B$7:$B$51;ПОИСКПОЗ(N11;'Расчетные коэф.'!$A$7:$A$19;0)+ВЫБОР((Q11="DD1")+2*ИЛИ(Q11="DD2";Q11="DD3")+3*ИЛИ(Q11="DD4";Q11="DDC1");0;16;32))  
 
А что означаетя ;0;16;32) ? и почему он ищет только N11;'Расчетные коэф.'!$A$7:$A$19;0) а выводит верные показатели и по другим таблицам?
 
Это частный пример формулы, приспособленный к Вашим исходным таблицам.  
 
<почему он ищет только N11;'Расчетные коэф.'!$A$7:$A$19;0) а выводит верные показатели и по другим таблицам>  
Нет необходимости усложнять формулу, т.к. позиция N11 во всех таблицах одинакова.  
 
<что означаетя ;0;16;32)>  
Находим позицию N11 и сдвигаем эту позицию на определенное число строк (при другом количестве строк между таблицами числа нужно изменять)
 
{quote}{login=vikttur}{date=29.07.2010 05:59}{thema=}{post}Это частный пример формулы, приспособленный к Вашим исходным таблицам.  
 
<почему он ищет только N11;'Расчетные коэф.'!$A$7:$A$19;0) а выводит верные показатели и по другим таблицам>  
Нет необходимости усложнять формулу, т.к. позиция N11 во всех таблицах одинакова.  
 
<что означаетя ;0;16;32)>  
Находим позицию N11 и сдвигаем эту позицию на определенное число строк (при другом количестве строк между таблицами числа нужно изменять){/post}{/quote}  
 
 
А как добавить ВЫБОР ВЫБОР((P11="DD1")+2*ИЛИ(P11="DD2";P11="DD3")+3*ИЛИ(P11="DD4";P11="DDC1");0;16;32)) только чтобы он еще столбцы менял по местонахождению, так как если это москва то один столбец если МО то другой, а сейчас он ищет только по тому столбцу который я укажу.. Делать через ЕСЛИ, тогда  боюсь он снова скажет что аргументов слишком много...
 
ЕСЛИ можно применять, но зачастую формула получается громоздкая и плохочитаема.  
Присмотритесь к варианту с доп. таблицей (post_141786.xls, Q83:R87).
 
{quote}{login=vikttur}{date=29.07.2010 06:15}{thema=}{post}ЕСЛИ можно применять, но зачастую формула получается громоздкая и плохочитаема.  
Присмотритесь к варианту с доп. таблицей (post_141786.xls, Q83:R87).{/post}{/quote}  
В этом примере исчезли с листа Расчетные коэф. столбцы, а в них находлись нужные данные, и вот как по ним тоже поиск осуществлять
 
Да не исчезли они, я их удалил для уменьшения размера файла!  
Важно, чтобы Вы поняли сам принцип.
 
{quote}{login=vikttur}{date=29.07.2010 06:36}{thema=}{post}Да не исчезли они, я их удалил для уменьшения размера файла!  
Важно, чтобы Вы поняли сам принцип.{/post}{/quote}  
 
Вот я и не понимаю принцип хоть убейте..((((( Пробую сделать вот так
 
{quote}{login=}{date=29.07.2010 06:43}{thema=Re: }{post}{quote}{login=vikttur}{date=29.07.2010 06:36}{thema=}{post}Да не исчезли они, я их удалил для уменьшения размера файла!  
Важно, чтобы Вы поняли сам принцип.{/post}{/quote}  
 
Вот я и не понимаю принцип хоть убейте..((((( Пробую сделать вот так{/post}{/quote}  
 
Чтото из 2010 экселя не крепится файл
 
В Вашей формуле разбираться не стал - букаф много...  
Исправил несоответствие скобок.
 
Насколько я понял, формула может быть такой:  
=ЕСЛИ(ИЛИ(L11={"менее 50% завершенности";"до 95% завершенности";"100% завершенности, арендаторов менее 50%"});ИНДЕКС('Расчетные коэф.'!$H$7:$H$51;ПОИСКПОЗ(M11;'Расчетные коэф.'!$A$7:$A$19;)+ВПР(P11;{"DD1";0:"DD2";16:"DD3";16:"DD4";32:"DDC1";32};2;));"")  
 
Или даже:  
 
=ЕСЛИ(ИЛИ(L11=$L$83:$L$85);ИНДЕКС('Расчетные коэф.'!$H$7:$H$51;ПОИСКПОЗ(M11;'Расчетные коэф.'!$A$7:$A$19;)+ВПР(P11;{"DD1";0:"DD2";16:"DD3";16:"DD4";32:"DDC1";32};2;));"")  
 
Но последнюю прийдется вводить как формулу массива.
Страницы: 1 2 След.
Читают тему
Наверх