Страницы: 1
RSS
Как проверять на соответствие условию - по убыванию и в тоже время игнорировать пропуски, если они есть
 
Добрый день!
Нужно проверить ряд ячеек с цифрами на соответствие условию "по убыванию", так то просто, но иногда проскакивают пустые ячейки, а как их учесть я не знаю.
Помогите подправить формулу, если это возможно, пожалуйста, без макросов и массивов.
например,
10пусто83пусто10
Изменено: ser987 - 13.08.2021 20:47:17
 
вы уверены в своем примере? 4-ый случай 11,5 меньше 13 - почему должно быть 1?
Соблюдение правил форума не освобождает от модераторского произвола
 
buchlotnik, вы всё правильно сделали, второпях не так выразился, спасибо!
 
так получше будет
Код
=ПРОИЗВЕД(ЕСЛИОШИБКА(--(ПОИСКПОЗ(НАИБОЛЬШИЙ(A1:F1;СТОЛБЕЦ(A1:E1));A1:F1;)<=ПОИСКПОЗ(НАИБОЛЬШИЙ(A1:F1;СТОЛБЕЦ(B1:F1));A1:F1;));1))
Соблюдение правил форума не освобождает от модераторского произвола
 
buchlotnik, Спасибо огромное, вы не представляете какого размера конструкцию с ЕСЛИ я создавал)))
 
Цитата
ser987 написал:
вы не представляете
вы недооцениваете некоторых юзеров, которые приходили на этот форум  ;)
Изменено: buchlotnik - 13.08.2021 21:18:19
Соблюдение правил форума не освобождает от модераторского произвола
 
Есть ограничение, связанное с совпадением одного из значений с MAX(A1:F1)-0,00001
=IFERROR(SIGN(SUMPRODUCT(MATCH(MAX(A1:F1)-0,00001;A1:F1;-1)));)
Изменено: БМВ - 13.08.2021 23:12:33
По вопросам из тем форума, личку не читаю.
 
БМВ, ваша формула компактней, но повторяющиеся значения не исключены.
 
поторопился... подсократить не удалось
Изменено: buchlotnik - 14.08.2021 01:34:15
Соблюдение правил форума не освобождает от модераторского произвола
 
Цитата
ser987 написал:
но повторяющиеся значения не исключены.
согласен, не учел, но и в описании не очень прослеживалось это требование. А разве у тезки учтено?

А вот так?
=IFERROR(MATCH(MAX(A1:F1)-0,00001;A1:F1;-1);)*PRODUCT(--IFERROR(MATCH(A1:F1;A1:F1;)=COLUMN(A1:F1);1))
Изменено: БМВ - 14.08.2021 22:59:20
По вопросам из тем форума, личку не читаю.
 
БМВ, buchlotnik, что-то совсем не так считает, я думал в начальном примере всё учёл, а тут вон оно как, посмотрите, пожалуйста. Может есть какой-то другой вариант проверить на убывание, если бы  были целые числа от 1-9 , то можно было бы  сцепить чтобы убрать пропуски и потом по  порядку проверить, но тут десятичные числа...
 
чуток подправим
=IFERROR(SIGN(MATCH(MAX(A2:K2)-0,00001;A2:K2;-1));)*PRODUCT(--IFERROR(IF(A2:K2="";1;MATCH(A2:K2;A2:K2;)=COLUMN(A2:K2));1))
Изменено: БМВ - 15.08.2021 19:03:44
По вопросам из тем форума, личку не читаю.
 
Цитата
БМВ написал:
А разве у тезки учтено?
учтено, только не было сказано как их интерпретировать...
равно убрать и всё:
Код
=ПРОИЗВЕД(ЕСЛИОШИБКА(--(ПОИСКПОЗ(НАИБОЛЬШИЙ(A2:K2;СТОЛБЕЦ(A2:J2));A2:K2;)<ПОИСКПОЗ(НАИБОЛЬШИЙ(A2:K2;СТОЛБЕЦ(B2:K2));A2:K2;));1))
Изменено: buchlotnik - 15.08.2021 19:13:26
Соблюдение правил форума не освобождает от модераторского произвола
 
=IFERROR(MATCH(MAX(A2:K2)-0,00001;A2:K2;-1)^0;)*PRODUCT(--IF(A2:K2="";1;COUNTIF(A2:K2;A2:K2)=1))
Или даже
=IFERROR(MATCH(MAX(A2:K2)-0,00001;A2:K2;-1)^0;)*AND(IF(A2:K2="";1;COUNTIF(A2:K2;A2:K2)=1))
это для экономии символов
=IFERROR(MATCH(MAX(A2:K2)-1%%;A2:K2;-1)^0;)*AND(IF(A2:K2="";1;COUNTIF(A2:K2;A2:K2)=1))
Изменено: БМВ - 15.08.2021 19:58:17
По вопросам из тем форума, личку не читаю.
 
Спасибо большое! Очень вам благодарен! Всё работает. Супер.
 
buchlotnik, ох я может чего-то не знаю при работе с массивами, но двигая формулу она перестаёт работать, пример в файле, почему?

перенёс на другой чистый лист и всё работает, чудеса)
Изменено: ser987 - 15.08.2021 21:18:13
 
Цитата
ser987 написал:
я может чего-то не знаю при работе с массивами
нет, при работе со ссылками - как бы буквы имеют значение...
=ПРОИЗВЕД(ЕСЛИОШИБКА(--(ПОИСКПОЗ(НАИБОЛЬШИЙ(G55:Q55;СТОЛБЕЦ($A55:$J55));G55:Q55;)<ПОИСКПОЗ(НАИБОЛЬШИЙ(G55:Q55;СТОЛБЕЦ($B55:$K55));G55:Q55;));1))
Изменено: buchlotnik - 15.08.2021 21:17:48
Соблюдение правил форума не освобождает от модераторского произвола
 
buchlotnik, никогда бы не догадался, я в итоге на новый лист данные перенёс и как в примере сделал, спасибо!
Страницы: 1
Наверх