【发布时间】:2010-05-08 19:42:40
【问题描述】:
我正在寻找一个简单的函数,它将一个数字输入到单个单元格中,比如 20,然后将其均匀随机地分配到其他三个单元格中,所有值都不能为 0。
即。 A1 = 20 然后 B1=6 C1=8 D1=6
谢谢!!
【问题讨论】:
标签: function excel-2007 excel-formula cells
我正在寻找一个简单的函数,它将一个数字输入到单个单元格中,比如 20,然后将其均匀随机地分配到其他三个单元格中,所有值都不能为 0。
即。 A1 = 20 然后 B1=6 C1=8 D1=6
谢谢!!
【问题讨论】:
标签: function excel-2007 excel-formula cells
我面前没有 Excel,但有类似的东西
B1: =Round(Rand()*(a1-3)+1, 0)
C1: =Round(Rand()*(a1-b1-2)+1, 0)
D1: =A1-B1-C1
【讨论】:
我认为您必须编写一个宏来自动将值扩展为 B1、C1、D1,但我这样做的方法是将以下代码放入 B1:
=RANDBETWEEN(1, (A1-2))
以下进入C1:
=RANDBETWEEN(1, (A1-B1-1))
下面进入D1:
=A1-B1-C1
如果您没有可用的 RANDBETWEEN() 函数,这里是如何启用它:
【讨论】:
如果没有宏,我看不出有什么办法可以绕过显示一些临时值。
看看我的插图,它可以实现您想要实现的目标: http://www.gratisupload.dk/download/43627/
A2 保存要拆分的初始值
临时值:
C2,D2,E2 就是 =RAND()
您的均匀但随机拆分的值将出现在这些单元格中:
C5 = A2 / (C2 + D2 + E2) * C2
D5 = A2 / (C2 + D2 + E2) * D2
E5 = A2 / (C2 + D2 + E2) * E2
编辑:当然,您可以在单独的工作表上显示临时值(C2、D2、E2)。不过,只是为了避免宏的邪恶世界。
【讨论】: