7

Я хочу создать столбец, который будет иметь случайные строковые значения в любом порядке. Эти строковые значения должны быть из ('New', 'Mint', 'Very Good', 'Good', 'Acceptable', 'Poor') строк? Может кто-нибудь сообщить мне, как я могу использовать функцию RANDBETWEEN чтобы заполнить мои столбцы упомянутыми данными в скобках?

2 ответа2

12

Если у вас есть только несколько строк

Если ваши строки находятся в первом столбце, вы можете использовать функцию CHOOSE() следующим образом:

=CHOOSE(RANDBETWEEN(1,6),$A$1,$A$2,$A$3,$A$4,$A$5,$A$6)

RANDBETWEEN(1,6) случайным образом выберет число n от 1 до 6 - CHOOSE затем посчитает все параметры, которые вы перечислили (ваши строки в столбце A), и отобразит n-й член.

Но если у вас много строк

Если у вас есть несколько пунктов для CHOOSE , поддержание этой формулы становится громоздким.

В этом случае, вероятно, будет хорошей идеей вставить таблицу (назовем ее MyStrings), создать столбец идентификатора в столбце A, используя =ROW()-1 и переключить нашу формулу на VLOOKUP . Мы можем использовать MIN & MAX и структурированные ссылки для динамического определения количества терминов в вашей таблице для использования в RANDBETWEEN:

=VLOOKUP(RANDBETWEEN(MIN(MyStrings[ID]),MAX(MyStrings[ID])),MyStrings,2,0)

Осторожнее сейчас

RANDBETWEEN - это энергозависимая функция, которая означает, что она пересчитывает каждый раз при любых изменениях других ячеек (в любом месте вашей рабочей книги). Если вам нужно сохранить случайно сгенерированные строки такими, какие они есть, после того как вы их создали, вам нужно скопировать и вставить Special as Values.

Если вы используете много изменчивых функций, это может замедлить работу вашего журнала, но есть вещи, которые вы можете сделать, чтобы облегчить это.

8

Вы можете использовать INDEX вместе с RANDBETWEEN чтобы сделать это.

=INDEX({"New","Mint","Very Good","Good","Acceptable","Poor"},RANDBETWEEN(1,6))

Просто заполните эту формулу вниз по вашей колонке.

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