Страницы: 1
RSS
Формула для поиска в диапазоне с двумя условиями
 
Есть диапазон, идущий в горизонтальном направлении. Т.е. диапазон берётся из одной строки, но разных столбцов:  
 
__А10_|__B10_|__C10_|__D10_|__E10_|  
-0.69 | 2.11 | -1.70 | 0.89 | 1.20  
 
Есть два пороговых значения: минимума и максимума. Нужно проверить диапазон на их наличие и вернуть первое из них (в случае если встречается значение меньше порогового минимума, то возвращается пороговый минимум; если встречается значение больше порогового максимума, то возвращается пороговый максимум; иначе последнее значение диапазона), либо значение в последнем столбце, если ни одно из них не найдено.    
Допустим пороговый минимум у нас -0.25, а максимум 2.00, то из приведённого в качестве примера диапазона должно вернуться -0.25 (-0.69 меньше чем -0.25, соответственно возвращаем пороговый минимум -0.25; в диапазоне также присутствует пороговый максимум — 2.11, но он идёт позже, поэтому его не учитываем).  
Допустим пороговый минимум у нас -1.50, а пороговый максимум 1.50. Значит из приведённого примера должно вернуться 1.50 (2.11 больше порогового максимума 1.50 и встречается раньше, чем пороговый минимум).  
 
Помогите с формулой для этой задачи. Пока что пришёл к такой формуле:  
 
ЕСЛИ(МИНА(A10:E10) < -1.50;1.50;ЕСЛИ(МАКСА(A10:E10) > 1.50;1.50;E10))  
 
Но это формула работает не совсем так, как мне надо. Если в строке присутствует пороговый минимум, то она все равно вернёт его, даже если он идёт позже порогового максимума.    
Подскажите решение.
 
А не проще было маленький пример в виде файла приложить, чем здесь рисовать?... за вас ведь все равно ни кто файл составлять не будет....
 
здесь старая формула( с одним условием минимальным пороговым значением -1,60 )
 
Для данных с такой структурой и форматом ввода(включая эти текстовые х) вроде так:  
=ПРОСМОТР(9E+307;ЕСЛИ(A5:X5<=-0,25;-0,25;ЕСЛИ(A5:X5>=2;2;A5:X5))*ЕСЛИ(СТОЛБЕЦ(A5:X5)=ПОИСКПОЗ(ИСТИНА;(A5:X5<=-0,25)+(A5:X5>=2)+НЕ(ЕЧИСЛО(B5:Y5))>0;0);1;НД()))  
массив, при вводе ctrl+shift+enter.  
 
Но не уверен, что это решение работает правильно, да и если и работает, что оно оптимально, т к нынче пьян.
 
Благодарю, проверю )))
 
Все, надоело :)  
Понравилась задача, вот такое вышло (формула массива):  
=ЕСЛИ(ИНДЕКС(A5:X5;МИН(ЕСЛИ((A5:X5<=$O$2)+(A5:X5>=$P$2);СТОЛБЕЦ(A5:X5);ПОИСКПОЗ(10;A5:X5;1))))<$O$2;$O$2;МАКС(ПРОСМОТР(10;A5:X5);(СЧЁТЕСЛИ(A5:X5;">="&$P$2)>0)*$P$2))  
min и max значения заданы в ячейках O2 и P2.  
Формула работает с наличием пустых ячеек в диапазоне, также если вместо текстового значения ("х") пусто или  "х" - в непрерывном диапазоне в конце строки.    
По данным таблицы можно сделать вывод, что наибольшее значение <10, поэтому ПОИСКПОЗ(10;A5:X5;1).
 
Если пороговый максимум может быть <0, то предыдущая формула будет врать. Корректировка для такого случая:  
=ЕСЛИ(ИНДЕКС(A5:X5;МИН(ЕСЛИ((A5:X5<=$O$2)+(A5:X5>=$P$2);СТОЛБЕЦ(A5:X5);ПОИСКПОЗ(10;A5:X5;1))))<$O$2;$O$2;ЕСЛИ(СЧЁТЕСЛИ(A5:X5;">="&$P$2);$P$2;ПРОСМОТР(10;A5:X5)))
 
Добрый день!  
 
Подскажите, пожалуйста, формулу для следующей задачи:  
 
Если в диапозоне присутствует хотябы одно значение Х, возвращать "о", если нет такого значения - "5".  
 
Например:  
В диапозоне присутствует "Нет": Да Да Да Нет Да, необходимо, чтобы формула возвращала "0";  
Если все значения = "Да" (Да Да Да Да Да), возвращала значение "5".  
 
Заранее спасибо!
 
{quote}{login=lenik2}{date=15.09.2011 11:07}{thema=Поиск значения в диапозоне}{post}  
Если в диапозоне присутствует хотябы одно значение Х, возвращать "о", если нет такого значения - "5".  
 
Например:  
В диапозоне присутствует "Нет": Да Да Да Нет Да, необходимо, чтобы формула возвращала "0";  
Если все значения = "Да" (Да Да Да Да Да), возвращала значение "5".{/post}{/quote}И где здесь хоть один Х?  
 
формула массива  
=И({"Да";"Да";"Да";"Нет";"Да"}="Да")*5
 
И где здесь хоть один Х?  
 
формула массива  
=И({"Да";"Да";"Да";"Нет";"Да"}="Да")*5{/post}{/quote}  
 
Х - это значение "Нет"
 
Вы бы конкретный пример, а не промежуточные вычисления, выложили.  
 
 
----  
78688
"..Сладку ягоду рвали вместе, горьку ягоду я одна."
 
Уж не знаю, куда более конкретно.  
 
В приложении файл.    
 
Диапозон поиска - столбец С, ячейки с 5 по 9.  
 
Необходимо, в ячейку D4 написать формулу, которая будет возвращать "0", если в диапозоне присутствует значение "Нет"; в противном случае возвращать "5".
 
{quote}{login=lenik2}{date=15.09.2011 12:03}{thema=}{post}Уж не знаю, куда более конкретно.  
{/post}{/quote}  
 
.. Не надо нервничать.  
 
----  
90901
"..Сладку ягоду рвали вместе, горьку ягоду я одна."
 
=ЕСЛИ(СУММ(-ЕЧИСЛО(ПОИСКПОЗ("Нет";C5:C9;)));0;5)  
=(СЧЁТЕСЛИ(C5:C9;"Нет")=0)*5
 
vikttur, огромное спасибо!
 
Добрый день! Необходимо определить в тех. карте дату начала и завершения работ на определенном поле, по информации о полевых работах содержащихся в базе данных. Реальный объем базы данных составляет 4000 строк. Воспользоваться формулой массива по причине допущенной ошибки в формуле или большого объема данных не удается. Пожалуйста помогите!
 
Это задача на сообразительность?  
На листе Тех.карта: "Требуется определить" и "Критерий". Что определить? Где критерий?
Страницы: 1
Читают тему
Loading...