Excel怎么用公式生成0到100的随机数

讲清在Excel里生成0到100之间随机数的函数公式,包括RANDBETWEEN和INT加RAND两种写法的区别,以及如何让随机数固定不变或手动刷新。

在做抽奖名单、随机分组、模拟数据或者练习题的时候,很多人都需要在 Excel 里快速生成一批 0 到 100 之间的随机数。手动一个个输入显然不现实,网上搜到的写法又五花八门,有的用 ROUND,有的用 INT,结果有的数字出现得明显更少。本文面向需要在 Excel 中生成随机数的普通用户,讲清楚常用的公式怎么写、它们有什么区别,以及如何让结果固定下来或者重新刷新。

读完之后,你可以直接在单元格里输入一条公式,得到整数或小数形式的 0 到 100 随机数,并知道在什么情况下需要把公式结果转成固定数值,避免表格一改动数字就跟着变。

Excel 怎么用公式生成 0 到 100 的随机数?一句话结论

生成 0 到 100 之间的整数,直接使用 RANDBETWEEN 函数,写作 =RANDBETWEEN(0,100);需要小数则用 RAND 函数乘以 100。具体选哪种写法,取决于你要的是整数还是小数,以及结果是否需要固定。

你的情况推荐做法原因
需要 0 到 100 之间的整数,两端都可能出现=RANDBETWEEN(0,100)函数直接指定小值和大值,结果均匀,写法简单
老版本 Excel 中没有 RANDBETWEEN,或想理解底层逻辑=INT(RAND()*101)RAND 得到 0 到 1 之间的小数,乘以 101 再取整,得到 0 到 100 的整数
需要带小数的随机数=RAND()*100结果在 0 到 100 之间,保留小数,不做取整
需要结果保持不变,用于存档或核对先生成,再复制并选择性粘贴为数值公式会随表格重算而变化,粘贴为数值后结果才固定
想用 =ROUND(RAND()*100,0) 取整不建议用于抽样0 和 100 各只有约一半的机会被取到,分布不均匀

开始之前:先确认这几点

动手输入公式前,有几件事会影响结果是否符合你的预期。

  • 确认你需要的是整数还是小数。 抽奖编号、分组、考试分数一般需要整数,用 RANDBETWEEN 省事;模拟测量数据之类的场景可能需要小数,就用 RAND 乘以 100。
  • 确认是否包含 0 和 100。 RANDBETWEEN(0,100)的结果包含这两个端点。如果你只想要 1 到 100,应改成 =RANDBETWEEN(1,100),而不是在结果上做加减。
  • 确认 Excel 版本。 RANDBETWEEN 在较新的版本中都可以直接使用。如果你的版本较旧,或者公式提示找不到函数,可以改用 INT 加 RAND 的写法。
  • 确认是否需要固定结果。 RAND 和 RANDBETWEEN 属于易失性函数,只要表格发生任何计算,它们都会重新取值。如果结果将用于存档、发给别人核对,或者不希望它自己变化,就要在生成后转为数值。
  • 确认公式输入环境。 函数名和括号、逗号要用英文半角符号输入。如果在中文输入法状态下输入逗号,公式会出错。

在 Excel 中输入随机数公式的步骤

下面以生成一列 20 个 0 到 100 之间的整数为例。

  1. 打开 Excel 工作表,点击要放置随机数的单元格,比如 A1。
  2. 在编辑栏或单元格中输入 =RANDBETWEEN(0,100),按回车确认,A1 会显示一个 0 到 100 之间的整数。
  3. 把鼠标移到 A1 右下角的填充柄上,向下拖动到 A20,所有单元格都会生成独立的随机数。
  4. 如果需要小数,可以在另一列输入 =RAND()*100,同样向下填充,结果会保留小数位。
  5. 需要改变数值范围时,修改括号中的两个数字即可,例如 =RANDBETWEEN(1,50) 生成 1 到 50 之间的整数。
  6. 如果要刷新全部随机数,按 F9 键,所有易失性公式会重新计算一次。
  7. 如果希望结果固定,选中整列并复制,然后在原位置使用 Excel 的选择性粘贴功能,只保留数值。这样单元格里保存的就是当前数字,不再随表格变化。
  8. 最后保存文件。若保存后再次打开时数字变了,说明没有完成第 7 步,需要重新转为数值。

做完后逐项核对

生成随机数后,建议花一分钟检查下面几项,尤其是结果要用于正式场合时。

检查项怎么看有问题怎么办
数值范围是否正确用 MIN 和 MAX 函数统计这一列,小值应不小于 0,大值应不大于 100检查括号中的两个数字是否写反或多了空格,修改后重新填充
结果是否为整数观察单元格是否有小数点,或用 INT 判断如果误用了 RAND 乘以 100,改用 RANDBETWEEN,或用 ROUND 包裹后再核对
结果是否会自动变化随便修改一个无关单元格,看随机数是否跟着改变说明仍是公式,按上面的步骤转为数值
0 和 100 的出现频率生成大量数据后,统计 0 和 100 出现的次数,与其他数字大致接近即可若明显偏少,检查是否用了 ROUND(RAND()*100,0)这种写法,改用 RANDBETWEEN
有没有重复值用 COUNTIF 统计某个数字出现的次数RANDBETWEEN 允许重复,如果需要不重复,见下文常见问题

需要说明的是,Excel 生成的随机数属于伪随机数,适合日常的抽样、分组和练习,不适合对安全性要求高的场合,例如生成密码或密钥。

🎯 哪种做法适合你?

如果你只是想快速得到一批整数,直接使用 RANDBETWEEN 即可,几乎不需要额外设置。如果你要做的是模拟实验,需要大量小数并且之后还要进行统计,RAND 乘以 100 更合适,记得统计前先确认结果是否已经固定。如果你要把结果交给他人核对,或者作为正式记录保存,就要在生成后转为数值,并在文件里注明生成日期,方便追溯。

❓ 常见问题(FAQ)

1. RANDBETWEEN(0,100)生成的数字会不会重复?

会。RANDBETWEEN 每次独立取值,同一个数字可能在多个单元格中出现。如果需要不重复,可以在旁边一列用 RAND 生成辅助数,再对两列整体按辅助列排序,前若干行即为不重复的随机结果。

2. 为什么我输入公式后显示的是小数,而不是整数?

这通常是因为单元格格式设置为了常规或数字并保留了小数位。RAND 本身返回的就是小数,如果需要整数,应使用 RANDBETWEEN 或在外层包裹 INT 函数。

3. 怎样只生成一个随机数,不想每次刷新?

在单元格中输入公式后,直接复制,再选择性粘贴为数值,即可得到一个固定的数字。之后无论怎样计算,它都不会再变。

4. 公式计算很慢,是不是随机数的问题?

如果工作簿中有大量 RAND 或 RANDBETWEEN 公式,每次编辑都会触发重算,表格会变慢。此时可以把不再需要变动的结果转为数值,减少易失性公式的数量。

📝 总结

在 Excel 中生成 0 到 100 的随机整数,直接的写法是 =RANDBETWEEN(0,100);需要小数则用 =RAND()*100。无论用哪种,只要结果需要固定,都应复制后选择性粘贴为数值,并在使用前检查范围和分布,这样生成的随机数才可靠。

打开 OmniDoc,处理你的表格文件

更新于 2026-11-04