5

У меня есть базовая формула:

=(RANDBETWEEN(1,20))

что дает мне значение, то, что я хочу сделать, это взять это значение (ради аргумента '12') и использовать его, чтобы получить другую ячейку с помощью другой формулы, т.е.

=(RANDBETWEEN(1, B<result>))

где B - столбец, <result> - результат первой формулы.

Можно ли это сделать? (Я использую Excel 2013)

2 ответа2

3

Попробуйте использовать INDEX, поэтому, если у вас есть =RANDBETWEEN(1,20) в ячейке D1, вы можете использовать эту формулу в другой ячейке.

=RANDBETWEEN(1,INDEX(B:B,D1))

Если первая формула возвращает 12, то часть INDEX вернет значение из B12

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

=RANDBETWEEN(1,INDEX(B:B,RANDBETWEEN(1,20)))

0

Вы можете сделать макрос Excel, чтобы решить эту проблему.

  • Нажмите на вкладку "Вид" на ленте.
  • Нажмите "Макросы".
  • Введите RandomCell , затем нажмите "Создать".

Когда откроется окно VBA, вставьте этот код непосредственно в Sub RandomCell:

Dim Low As Double
Dim High As Double
Dim R As Double
Low = 1
High = 20
R = Int((High - Low + 1) * Rnd() + Low)
ActiveCell.Offset(R, 1).Select

Если вы находитесь в ячейке A1, это выберет ячейку B [случайное число]. Сохраните книгу и закройте окно VBA. Запустите макрос, выполнив следующие действия:

  • Нажмите на вкладку "Вид" на ленте.
  • Нажмите "Макросы".
  • Выберите "RandomCell" и нажмите "Выполнить".

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