如何在单个公式中使用RANDBETWEEN()x次?


0

我想制作一个基本上可以计算骰子卷的平均输出的公式,想想龙与地下城。

我想使用单个公式计算任何可能的滚动,使用输入中的每个数字。 如果我想计算一个1d3 + 2的滚动,我可以使用= RANDBETWEEN(1,3)+2,但是如何在不编辑公式的情况下计算2d3滚动?我如何在一个公式中执行任意次数的RANDBETWEEN()?

计划是可以使用这个可能成百上千的卷,所以我想避免用公式填充行和行,我打算使用不同的卷作为行,以及多个不同的可能性作为列,所以我也想节省空间。 这是我到目前为止所拥有的 但正如你所看到的,每个卷的公式不足以满足一个骰子。

我愿意不接受答案,如果必须的话,我可以在VBA中创建一个解决方案,但我想知道Excel是否可以为了简单起见而处理这个问题。


您是否可以在单个单元格中输入3个条目?一个是骰子的数量,边数和加法?
Scott Craner

我,这就是我到目前为止所拥有的。
Bazul

Answers:


2

首先,您需要创建一个表示骰子数量的表格。所以在A6中放下以下公式并复制下来,因为你需要骰子的总数:

=IF(ROW(1:1)<=$A$2,ROW(1:1),"")

这将参考A2,其中我把所需的骰子数量。

然后在B6中放入并复制下来:

=IF(A6<>"",RANDBETWEEN(1,$B$2),"")

这将创建这些骰子的随机“滚动”。每个骰子1排。 B2包含边数。

然后求和并添加常量:

=SUM($B$6:$B$1000)+$C$2

enter image description here


要在一个单元格中执行此操作,请使用以下数组公式:

=SUM(RANDBETWEEN(1,(ROW(INDEX($A:$A,1):INDEX($A:$A,$A2))<=$A2)*$B2))+$C2

作为数组公式,需要在退出编辑模式时使用Ctrl-Shift-Enter而不是Enter来确认。

这将执行A2中记录的RandBetweens的数量,其中随机数的上限由边数设置。

enter image description here


谢谢斯科特,但我应该更清楚我原来的问题。我想知道我是否有办法在一个单元格中多次使用RANDBETWEEN(),假设我不知道可能需要多少卷,并且不能为骰子卷保留无限数量的单元格。我已经在问题中添加了更多信息。 “无法做到”是一个可以接受的答案。
Bazul

我可能会误解,但听起来你想模拟数百或数千个随机骰子卷以找到平均输出。如果骰子是“公平的”,则平均值由边数和骰子数决定。事实上,有一个 方便的计算器 线上。也许这会做你想要的?
Bandersnatch

@Bazul看编辑。
Scott Craner

谢谢Scott,这是一个完美的解决方案,它允许我比较许多不同的情况,以及许多数据点: i.imgur.com/LmHHqL4.jpg 。 @Bandersnatch我知道那些是可用的,我通过其他方式做了我自己的,但这恰好是特定的。在Excel中拥有所有数据,表格和计算可以使事情变得更加容易。
Bazul
By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.