Страницы: 1
RSS
Как из диапазона чисел, вывести то, которое первое удовлетворит одному из условий.
 
Есть диапазон числел (столбец).  
 
Нужно чтобы число из этого диапазона, которое первое удовлетворит одному из двух условий, появилось в ячейке ниже.  
 
Заданные условия: "<= a" и "> b"
 
Не думал, что D_Vader самостоятельно в экселе копается.  
Формула массива:  
=ИНДЕКС(D1:D13;ПОИСКПОЗ(1;(D1:D13<=B15)+(D1:D13>B16);0);0)
 
спасибо.
 
Нужна эта же формула, только помогите модифицировать:  
 
1. Диапазон чисел может состоять из пустых ячеек или заполненных символами.  
 
2. Если формула находит число которое удовлетворяет условию <=a, то возвращаемое число должно быть не из диапазона чисел, а из установленного значения для "а" ... т.е если условие было -30, а в диапазоне первое число удовлетворяющее условию -47, то вернется -30.  
 
3. Аналогично для условия "b"
 
=ЕСЛИ(МИН(D1:D13)<=B15;B15;"")  
Аналогично для условия "b"
 
так нет, это получилась другая формула,  
Пожалуйста, помогите вышеописанные свойства задать формуле: =ИНДЕКС(D1:D13;ПОИСКПОЗ(1;(D1:D13<=B15)+(D1:D13>B16);0);0).  
 
Она делает что надо, но не правильно реагирует если есть пустые ячейки, пишет результат "s"...в диапазоне также могут присутствовать другие символы.  
И вместо найденного числа из диапазона удовлетворяющему условию, нужно чтобы выводилось число которое было условием.
 
Вам нужна именно эта формула или результат правильной работы функций в Вашей задаче?  
Покажите пример с пробелами и "символами", здесь правильно, а здесь хочу вот так...
 
Нужен правильный результат.  
Пример прикрепил.
 
=ЕСЛИ(МИН(D1:D13)<=B15;B15;ЕСЛИ(МАКС(D1:D13)>=B16;B16;""))
 
спасибо. очень помог)))
 
поторопился (  
в диапазоне чисел, отрицательные сменяют положительные, и наоборот, а могут много раз чередоваться.  
проблема: формула ищет отрицательное число пока оно не удовлетворит условию "a", и пропускает положительные числа. даже если среди положительных встречается число которое удовлетворяет условию "b". можно сделать так чтобы условие которое первое выполнится, вставило свое число?
 
помогите пожалуйста
 
Если в "лоб" решать, то так:  
=ИНДЕКС(ЕСЛИ(D19:D30<=B32;B32;ЕСЛИ((D19:D30>B33)*ЕЧИСЛО(D19:D30);B33));ПОИСКПОЗ(1=1;ЕЧИСЛО(1/(ЕСЛИ(D19:D30<=B32;B32;ЕСЛИ((D19:D30>B33)*ЕЧИСЛО(D19:D30);B33))));))  
Формула массива.
 
спасибо. а вот вопрос, можно ли подобного добиться от формулы чтобы она не была массивом? чтобы быстро копипастить можно было?
 
Можно  
=ИНДЕКС(ИНДЕКС((D19:D30<=B32)*B32+(D19:D30>B33)*ЕЧИСЛО(D19:D30)*B33;);ПОИСКПОЗ(1=1;ИНДЕКС(ЕЧИСЛО(1/((D19:D30<=B32)*B32+(D19:D30>B33)*ЕЧИСЛО(D19:D30)*B33)););))
 
на скольких форумах вы наследили, spoke? (с)
фрилансер Excel, VBA - контакты в профиле
"Совершенствоваться не обязательно. Выживание — дело добровольное." Э.Деминг
 
Можно убрать лишние действия.  
=ИНДЕКС(ИНДЕКС((D19:D30<=B32)*B32+(D19:D30>B33)*ЕЧИСЛО(D19:D30)*B33;);ПОИСКПОЗ(1=1;ИНДЕКС(ЕЧИСЛО(1/((D19:D30<=B32)+(D19:D30>B33)*ЕЧИСЛО(D19:D30))););))
 
=ИНДЕКС((D2:D13<=B15)*B15+(D2:D13>B16)*B16;ПОИСКПОЗ(1;ЗНАК((D2:D13<=B15)+(D2:D13>B16))*ЕЧИСЛО(D2:D13);))
 
Кроме планеты:  
http://www.programmersforum.ru/showthread.php?t=209351  
http://forum.msexcel.ru/microsoft_excel/kak_iz_diapazona_vyvesti_chislo_kotoroe_p­ervoe_udovletvorit_odnomu_iz_usloviy-t8438.0.html  
http://www.excelworld.ru/forum/2-2163-1  
http://www.cyberforum.ru/vba/thread636314.html  
 
-89088-
 
excel-vba.ru  
Тоже наследил. Следы стерты :)  
 
eriksun-spoke, результат такого потребительского отношения - Вам перестанут помогать.
 
{quote}{login=vikttur}{date=12.08.2012 10:04}{thema=}{post}eriksun-spoke, результат такого потребительского отношения - Вам перестанут помогать.{/post}{/quote}  
ники-то разные :))  
а кто из профессионалов и на каком форуме потратит час-другой на халявщика и лентяя - ему, в общем-то, по барабану.
фрилансер Excel, VBA - контакты в профиле
"Совершенствоваться не обязательно. Выживание — дело добровольное." Э.Деминг
 
охоспади...если кого сильно отвлек/обидел. извините. срочно нужна была помощь в этом вопросе, всем кто откликнулся спасибо.
Страницы: 1
Читают тему
Наверх