MICROSOFT

EP03. “Random Numbers 随机数生成”

首页 Microsoft 工具 Excel · Functions · Statistical · EP03
约 5 分钟· #EP03#Excel#Statistical
🔒 登录后可标记已读
  • 整理 Excel 里生成随机数的几种方法:RAND、RANDBETWEEN、RANDARRAY
  • 也讲怎么固定住随机数结果、怎么生成不重复的随机数
  • 还有一段简单的 VBA 写法
  • 前置知识是基本的公式输入和填充手柄操作
  • 学完能应付抽奖、抽样、模拟数据这类需求

重点内容


适用版本

RAND、RANDBETWEEN 桌面版通用;RANDARRAY 需要 Excel 365 或 Excel 2021。


随机数方法怎么选

方法生成内容版本要求
RAND0~1 之间的随机小数桌面版通用
RANDBETWEEN两个边界之间的随机整数桌面版通用
RANDARRAY指定行列数的随机数组,可设范围/整数Excel 365 / 2021

RAND 函数:0~1 之间的随机小数

  1. 选中单元格 A1
  2. 输入 =RAND() 并按 Enter(这个函数不需要任何参数)
  3. 拖动 A1 右下角填充手柄向下复制,生成一整列随机小数
  4. 因为 RAND 是易失性函数,工作表每次重新计算都会变,如果要固定住结果:复制这些单元格,右键选「粘贴为数值」(Paste As Values)
  5. 粘贴后可以在公式栏确认,单元格里存的是固定数值而不是公式

RANDBETWEEN 函数:两个边界之间的随机整数

  1. 选中单元格 A1
  2. 输入 =RANDBETWEEN(50,75) 并按 Enter,会生成 50 到 75 之间的随机整数
  3. 如果需要小数而不是整数,要改用 RAND 函数自行运算

RANDARRAY 函数:动态数组随机数(Excel 365/2021)

  • 默认生成 0~1 之间的随机小数,例如生成 5 行 2 列的数组,一个公式就能自动「溢出」(spilling)填满多个单元格
  • 生成指定范围的小数:例如 99~100 之间、1 行 5 列
  • 生成指定范围的整数:把第五个参数设为 TRUE,例如 20~80 之间、10 行 1 列

随机数生成器的几种做法

方法一:按 F9 强制刷新 在 A1:A10 输入 =RANDBETWEEN(0,100),每按一次 F9 键,所有随机数会重新计算一次。

方法二:UNIQUE + RANDARRAY 生成不重复随机数 把 UNIQUE 函数包在 RANDARRAY 外面,可以避免结果里出现重复数字。

方法三:VBA 宏

Dim rng As Range, cell As Range
Set rng = Selection
For Each cell In rng
cell.Value = WorksheetFunction.RandBetween(0, 100)
Next cell

选取一个范围后运行这段宏,范围内每个单元格都会被填入 0~100 之间的随机整数。


函数速查

函数语法用途例子
RAND=RAND()生成 0~1 之间随机小数=RAND()
RANDBETWEEN=RANDBETWEEN(bottom,top)生成两数之间随机整数=RANDBETWEEN(50,75)
RANDARRAY=RANDARRAY([rows],[columns],[min],[max],[whole_number])生成随机数组(动态溢出)=RANDARRAY(10,1,20,80,TRUE)

学完你会

  • ✅ 能用 RAND、RANDBETWEEN 生成随机小数或随机整数
  • ✅ 能用「粘贴为数值」固定住随机数结果,避免每次重算都变
  • ✅ 能用 UNIQUE + RANDARRAY 组合生成不重复的随机数

常见错误

  • 忘记「粘贴为数值」就直接拿 RAND/RANDBETWEEN 结果去做记录,结果每次打开文件数字都变了
  • 在旧版本 Excel(非 365/2021)里使用 RANDARRAY,函数不存在会直接报错
  • 需要「不重复」的随机数却单纯用 RANDBETWEEN 拖填,容易产生重复值,应该改用 UNIQUE + RANDARRAY 组合

Sources

Blog / Website:

  1. Random Numbers