Я пытаюсь создать оператор IF с Randbetween в Excel, = IF(K3:K34 = TRUE RANDBETWEEN(L3, L34))

Я пытаюсь сказать, что если столбец K3-K34 верен, возьмите имена в столбце рядом с этим столбцом, перемешайте имена и вставьте их, где бы я ни выделил.
Я, вероятно, далеко, но может кто-нибудь помочь мне переписать заявление.

1 ответ1

2

RandBetween возвращает число между двумя числами, а не значение ячейки между двумя ячейками.

Это вернет уникальный список, организованный случайным образом:

=INDEX(L:L,AGGREGATE(15,6,ROW($K$3:$K$34)/(($K$3:$K$34)*(COUNTIF($N$2:N2,$L$3:$L$34)=0)),RANDBETWEEN(1,COUNTIF($K$3:$K$34,TRUE)-ROW(1:1)+1)))

Вставьте N3 и скопируйте вниз. Формула должна быть помещена в ячейку, по крайней мере, на одну ячейку над ней, значение в этой ячейке не имеет значения, если она не включена в J3:J34. Ссылка $ N $ 2:N2 должна указывать на ячейку выше, где формула занимает первое место. Обратите особое внимание на абсолютную / относительную ссылку, так как важно, чтобы диапазон увеличивался по мере его уменьшения.

Он будет перебирать диапазон и создавать массив номеров строк, которые истинны в K3:K34, а значение в L3:L34 еще не использовалось. Затем он случайным образом выберет один из этих номеров строк и вернет его в INDEX. Индекс затем вернет значение в этой строке.

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .