You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Excel实现固定值随机拆分:生成多个相加等于固定额的随机数

固定总和为300的三数随机拆分Excel实现方案

核心逻辑不需要做复杂的逐层扣减校验,本质是通过随机分界点切割0-300的数值区间,切出来的三段长度天然满足三数相加等于固定值,支持数值重复、数值不等的所有随机情况,完全匹配你给出的样例结果。

通用小数结果实现(无概率偏差版)

这个版本生成的三个数所有组合概率均等,不会出现某一个位置数值普遍偏大/偏小的偏差:

  • 任选三个空白单元格(例如A1、B1、C1存放n1、n2、n3)
  • A1单元格输入公式:=MIN(RAND(),RAND())*300
  • B1单元格输入公式:=MAX(RAND(),RAND())*300 - A1
  • C1单元格输入公式:=300 - A1 - B1

正整数结果实现(适合金额拆分场景)

如果要求拆分结果为整数(比如精确到元、精确到分),用随机整数函数即可,以下公式默认三个数均≥1,不会出现0值:

  • A1单元格输入公式:=RANDBETWEEN(1,298)
  • B1单元格输入公式:=RANDBETWEEN(1,299 - A1)
  • C1单元格输入公式:=300 - A1 - B1
    如果允许拆分结果出现0,把两个公式里的RANDBETWEEN下限从1改成0、上限对应调整为300即可。

操作技巧

  • 按下键盘F9可以随时刷新随机结果,生成新的符合要求的三数组合
  • 如果需要固定生成的结果不随表格编辑自动刷新,选中三个结果单元格按Ctrl+C复制,右键选择「粘贴为值」即可把动态公式转为固定数值
  • 如果你使用的是Excel 365/2021及以上支持动态数组的版本,可以直接在单个单元格输入以下公式,自动溢出生成三个结果,无需分别填三个单元格:
=LET(
  x, RANDARRAY(2,1,0,300,FALSE),
  s, SORT(x),
  HSTACK(INDEX(s,1), INDEX(s,2)-INDEX(s,1), 300-INDEX(s,2))
)

公式最后一个参数FALSE改为TRUE即可生成整数结果。

注意:很多教程用「先生成第一个0-300随机数,再生成0到剩余值的随机数,最后算差值」的方法,这个方法会导致第一个数的期望为150、后两个数期望仅为75,生成的组合概率不均等,不建议使用。

内容的提问来源于stack exchange,提问作者Alex W

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.09.01 14:01:26