1

我正在寻找一个简单的函数,它将一个数字输入到单个单元格中,比如 20,然后将其均匀随机地划分到其他三个单元格中,没有一个值可以为 0。

IE。A1 = 20 然后 B1=6 C1=8 D1=6

谢谢!!

4

3 回答 3

1

我面前没有 Excel,但是像这样

B1: =Round(Rand()*(a1-3)+1, 0)
C1: =Round(Rand()*(a1-b1-2)+1, 0)
D1: =A1-B1-C1
  • B1 设置为从 1 到 A1-2 的数字
  • C1 设置为从 1 到 A1-B1-1 的数字
  • D1 设置为剩下的。
于 2010-05-08T19:57:00.253 回答
1

我认为您必须编写一个宏来自动将值扩展为 B1、C1、D1,但我这样做的方法是将以下代码放入 B1:

=RANDBETWEEN(1, (A1-2))

下面进入C1:

=RANDBETWEEN(1, (A1-B1-1))

下面进入D1:

=A1-B1-C1

如果您没有可用的 RANDBETWEEN() 函数,这里是如何启用它:

  1. 从“工具”菜单中,选择“加载项”
  2. 找到对“分析工具包”的引用并在框中打勾
  3. 选择“确定”
于 2010-05-08T20:04:15.370 回答
1

如果没有宏,我看不出有任何方法可以绕过显示一些临时值。

看看我的插图,它可以实现您想要实现的目标: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)。仍然,只是为了避免宏的邪恶世界。

于 2010-05-08T20:26:33.250 回答