Shellr57s
@Shellr57s

Как сгенерировать случайные числа при определённых условиях?

Задача в следующем: в пяти ячейках A1—A5 сгенерировать случайные числа от 0 до 200(целое) так, чтобы сумма этих чисел не была больше значения в ячейке B1 (например, 700).

upd:
=СЛУЧМЕЖДУ(0;B1/5) = не решает проблему, потому как будет генерировать от 0 до 140, а не до 200. Так же как я понял, эта функция не разрешает дубликаты случайных чисел. А для меня такой вариант шанса рандома что указал ниже, вполне устраивает/нужна поддержка:
200
0
100
200
200
  • Вопрос задан
  • 913 просмотров
Решения вопроса 1
ForestAndGarden
@ForestAndGarden
Совершенствовать среду обитания
Верхняя граница для 4 и 5 чисел (Сл4, Сл5) должна проверяться, а не просто приниматься равной 200.

6208dd18e916d416693599.png
=RANDBETWEEN(0;200)
=RANDBETWEEN(0;200)
=RANDBETWEEN(0;200)
=RANDBETWEEN(0;IF(B1-SUM(B3:B5)<200;B1-SUM(B3:B5);200))
=RANDBETWEEN(0;IF(B1-SUM(B3:B6)<200;B1-SUM(B3:B6);200))
=SUM(B3:B7)

Один хороший человек показал, что IF — лишнее. Элегантнее так:
=RANDBETWEEN(0;200)
=RANDBETWEEN(0;200)
=RANDBETWEEN(0;200)
=RANDBETWEEN(0;MIN(B1-SUM(B3:B5);200))
=RANDBETWEEN(0;MIN(B1-SUM(B3:B6);200))
=SUM(B3:B7)
Ответ написан
Пригласить эксперта
Ответы на вопрос 2
ProgrammerForever
@ProgrammerForever Куратор тега Excel
Учитель, автоэлектрик, программист, музыкант
Генерируйте в диапазоне 0..B1/5, это гарантирует выполнение условия.
=ЦЕЛОЕ(СЛУЧМЕЖДУ(0;$B$1/5))
Ответ написан
! явно только GCX будут
=СЛУЧМЕЖДУ(0;200)
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы