Страницы: 1
RSS
Найти строку диапазона, в который попадает значение, и вывести случайное число из диапазона в этой строке
 
Здравствуйте.
Нужно проверять попадет ли исходное значение в диапазон. Если попадает, то из соседних ячеек взять значения для генератора случайных числе в этом диапазоне. Формула для конкретной строки работает
Код
=ЕСЛИ(И(RC[-3]>R14C3;RC[-3]<R14C4);СЛУЧМЕЖДУ(R14C1;R14C2))
Но когда задаю сопоставление по всему диапазону, то условие не выполняется.
Код
=ЕСЛИ(И(RC[-4]>R2C3:R34C3;RC[-4]<R2C4:R34C4);СЛУЧМЕЖДУ(R2C1:R32C1;R2C2:R32C2))
Как правильно задать диапазоны?
 
Если значение  из source B попадает в несколько диапазонов?
 
Pol Poloviny,  реально не совсем понятно что вы хотите на выходе при работе с диапазоном. если массив случайных значений которые лежат между... то уже это СЛУЧМЕЖДУ(R2C1:R32C1;R2C2:R32C2) не сработает,  так как она не умеет возвращать массив, до условия даже не дойдем. ну а если говорить про условие, то то как вы записали, вернет результат ЛОЖЬ даже при одном невыполнении условия, так как обработает весть массив сравнений? а не построчно. Для построчного надо заменить на умножение
=ЕСЛИ((RC[-4]>R2C3:R34C3)*(RC[-4]<R2C4:R34C4);СЛУЧМЕЖДУ(R2C1:R32C1;R2C2:R32C2)) но это не поможет из-за ранее написанного.

RANDARRAY/СЛУЧМАССИВ, которая есть в новых версиях, позволит и массив получить, но сперва надо получить новую версию.
Изменено: БМВ - 27.01.2022 21:17:27
По вопросам из тем форума, личку не читаю.
 
Строка с последним диапазоном, в который попадает значение (в Н2)
=МАКС(ЕСЛИ((F2>=$C$2:$C$34)*(F2<=$D$2:$D$34);СТРОКА($C$2:$C$34)-1))
Формула массива, вводится тремя клавишами
Случайное:
=СЛУЧМЕЖДУ(ИНДЕКС($A$2:$A$34;H2);ИНДЕКС($B$2:$B$34;H2))
 
Цитата
 RANDARRAY/СЛУЧМАССИВ
Спасибо! Изучу эту функцию.

Цитата
Если значение  из source B попадает в несколько диапазонов?
Да, действительно, я это упустил. Останавливать подбор после первого совпадения не корректно.

Спасибо! Решение близко к тому, что нужно.  
Страницы: 1
Наверх