Выбор номера в столбце «x» случайным образом между n, m - PullRequest
0 голосов
/ 27 сентября 2018

У меня есть числа в столбце (то есть от 1 до 10 в столбце A) и несколько чисел в другом столбце (т.е. шесть чисел в столбце E).Я хочу разместить номера столбца E в столбце B случайным образом, чтобы абсолютная разница между Ai и Bi находилась между n и m, которые находятся в D1 и D2.Я использую функцию AGGREGATE

AGGREGATE(15,6,$E$2:$E$7/(And(ABS($E$2:$E$7-A2)>=$D$1;ABS($E$2:$E$7-A2)<=$D$2)),RANDBETWEEN(1,SUMPRODUCT(--(And(ABS($E$2:$E$7-A2)>=$D$1;ABS($E$2:$E$7-A2)<=$D$2))))

Но не запускаю

1 Ответ

0 голосов
/ 28 сентября 2018

Функция AND сведет ваш массив к одному элементу: =AND({1,2,4,8}>2,{1,2,3,4}<7) станет =AND({False,False,True,True},{True,True,True,False}), но следующим шагом будет =FALSE

Вы хотите использовать -- и * вместо этого, вот так: =--(({1,2,4,8}>2)*--({1,2,3,4}<7) становится =({False,False,True,True})*--({True,True,True,False}), затем ={0,0,1,1}*{1,1,1,0} и, наконец, ={0,0,1,0}

Кроме того: вместо SUMPRODUCT в середине будет проще / быстрее просто использоватьпара COUNTIFS?

=AGGREGATE(15,6,$E$2:$E$7/--((ABS($E$2:$E$7-$A2)>=$D$1)*(ABS($E$2:$E$7-$A2)<=$D$2)),RANDBETWEEN(1,COUNTIFS($E$2:$E$7,">=" & ($A2+$D$1),$E$2:$E$7,"<="&($A2+$D$2))+COUNTIFS($E$2:$E$7,">=" & ($A2-$D$2),$E$2:$E$7,"<="&($A2-$D$1))))
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...