夜雨聆风学习资料网

ARTICLE · 1201106

Excel 生成随机数的 5 种方法,从简单到进阶,一篇讲透!

Excel 生成随机数的 5 种方法,从简单到进阶,一篇讲透!

从简单到进阶,一篇讲透

Excel 生成随机数的

5种方法

做数据模拟、抽样抽签、财务敏感性分析的时候,我们经常需要用到随机数。很多人只知道一个 RAND 函数,但其实 Excel 里生成随机数的方法有 5 种之多 —— 从最简单的一键生成,到支持多种分布的专业工具,再到 VBA 自定义,各有各的适用场景。

今天就把这些方法一次性讲透,每个方法都附公式和示例,看完就能根据自己的需求选对方法。

生成随机数的五大方法

一、RAND 函数:

最基础的随机小数生成器

语法

=RAND()

没有参数,直接输入即可,返回 0 ~ 1 之间的随机小数(不包含 0 和 1),服从均匀分布。按 F9 键可以随时刷新数值。

两个扩展公式

1. 生成 X 到 Y 之间的随机小数

=RAND()*(Y-X)+X

2. 生成 X 到 Y 之间的随机整数

=ROUND(RAND()*(Y-X)+X, 0)

用 ROUND 函数四舍五入到 0 位小数,支持负数范围。

示例:门店客流随机模拟

模拟某连锁门店一周的到店客流(80~120 人之间):

多次按 F9 刷新可以看到,数值会在 80~120 之间均匀波动。

适用场景

简单的随机模拟、概率计算、生成随机比例等。优点是所有 Excel 版本通用;缺点是只能生成均匀分布,整数场景需要嵌套函数。

二、RANDBETWEEN 函数:

整数随机数专用

语法

=RANDBETWEEN(下限, 上限)

直接返回上下限之间的随机整数,包含上下限本身,比 RAND 嵌套 ROUND 的写法简洁得多。

示例

=RANDBETWEEN(1, 100)  // 生成1到100的随机整数=RANDBETWEEN(-5, 5)   // 生成-5到5的随机整数

示例:员工随机抽签分组

12 名员工随机抽签,按随机编号排序分成 3 组:

后续对「随机编号」列排序,前 4 个一组、中间 4 个一组、后 4 个一组,即可实现无规则随机分组。

适用场景

生成随机整数、抽签、编号、随机抽取等。所有 Excel 版本通用,是日常最常用的随机整数函数。

三、RANDARRAY 函数:

批量生成随机数数组

语法

=RANDARRAY([行数], [列数], [最小值], [最大值], [是否整数])

  • 行数 / 列数:要生成的数组大小

  • 最小值 / 最大值:随机数范围,默认 0 和 1

  • 是否整数:TRUE 返回整数,FALSE 返回小数,默认 FALSE

一个公式就能自动溢出填充整片区域,是动态数组的典型用法。

示例

生成 4 行 3 列、6~14 之间的随机整数:

=RANDARRAY(4, 3, 6, 14, TRUE)

示例:产品季度销量随机模拟

只需要在B2单元格输入一个公式,一次性生成 5 个产品、4 个季度的随机销量(100~500 件):

公式:=RANDARRAY(5,4,100,500,TRUE),按一次 F9 整张表全部刷新。

适用场景

批量生成模拟数据、搭建动态数组模型。仅支持 Excel 365/2021 及以上版本,低版本不可用。

四、分析工具库:

不用公式,专业级随机数生成

特点

Excel 自带的免费加载项,不需要写公式,可视化界面操作,支持均匀分布、正态分布、泊松分布等多种统计分布,还可以设置随机种子,保证结果可复现。

开启方法

  1. 点击【文件】→【选项】→【加载项】

  2. 选择【Excel 加载项】→ 点击【转到】

  3. 勾选【分析工具库】→ 确定

  4. 此时【数据】选项卡会出现【数据分析】按钮

操作步骤

  1. 点击【数据】→【数据分析】→ 选择【随机数发生器】→ 确定

  2. 按需设置参数:

  • 变量个数:生成几列数据

  • 随机数个数:生成几行数据

  • 分布:选择分布类型(均匀 / 正态 / 泊松等)

  • 参数:设置对应分布的参数(如均值、标准差)

  • 随机数基数:可选,输入固定数字可复现相同结果

  • 输出区域:选择结果存放位置

示例:正态分布身高模拟

生成 10 个样本的成年男性身高模拟值(均值 175cm,标准差 5cm):

适用场景

统计模拟、财务建模、科研数据生成等需要特定分布的专业场景。

五、VBA:自定义随机数生成

特点

通过 VBA 代码自定义生成规则,可以批量写入单元格、弹窗显示、结合业务逻辑生成,适合复杂的随机需求。

基础操作

  1. 按 Alt+F11 打开 VBA 编辑器

  2. 点击【插入】→【模块】

  3. 粘贴代码,按 F5 运行

代码示例 1:弹窗显示随机数

运行后弹窗显示 0~1 之间的随机数。

代码示例 2:批量生成单元格随机整数

在 A1 到 A10 单元格生成 3~10 之间的随机整数:

适用场景

批量自动化生成、结合业务逻辑的随机场景、需要固定种子重复生成等。

补充:如何生成不重复的随机数?

以上方法都可能生成重复值,如果需要无重复随机数,推荐以下 3 种方案:

方案 1:函数法(全版本通用)

先用 RANDBETWEEN 生成辅助列随机数,再用 RANK.EQ+COUNTIF 实现去重排名:

方案 2:动态数组法

一个公式搞定 1~10 的不重复随机排序,取前 5 个:

=INDEX(SORTBY(SEQUENCE(10),RANDARRAY(10)),SEQUENCE(5))

仅支持 Excel 365/2021 及以上版本,低版本不可用。

方案 3:VBA 法

代码循环生成并检测重复,适合大量数据的无重复随机场景。

方法对比速查表

为了方便大家快速对照、按需选择,我把 Excel 生成随机数的 5 种方法整理成了这份对比速查表。从生成类型、支持分布、版本要求到适用场景一目了然,收藏起来,下次需要生成随机数时,对着表格选对应方法即可。

最后提醒

Excel 里的随机数都是伪随机数,由算法生成,满足大多数办公和模拟场景完全够用。如果需要极高安全性的真随机数,需要借助外部接口。

  • 按 F9 可以刷新所有随机数

  • 如果想让随机数固定下来,复制后右键 → 选择性粘贴 → 值即可

END

🔥 别让Excel拖垮你! “效率神书” 帮你反向卷赢职场!

还在为数据杂乱、公式报错、重复劳动 熬夜加班?别挣扎了!下面的Excel实战圣经,直接把 “加班元凶” 按在地上摩擦👇

👍早一天掌握,早一天告别加班!

打开以下链接,让Excel从“职场累赘”变成你的升职加速器 ✨

— END —

全新的阅读模式

全方位技术指导

多媒体全景学习模式

长按二维码关注

点击“阅读原文”进入我们的官方网站,精彩尽在其中!

点击【推荐💗】谢谢您~

相关学习资料