跳转至

RAND 函数

1. 函数概述

RAND 是 Excel 中用于生成随机小数的函数。它每次计算时都会返回一个大于等于 0 且小于 1的随机数,即区间为:

  • 0 ≤ RAND() < 1

RAND 常用于:抽样、随机排序、模拟数据、生成随机测试用输入、蒙特卡洛类计算的基础随机源等。


2. 基础语法

RAND()

3. 参数说明

RAND 没有参数

  • 不需要传入任何值
  • 直接调用即可生成随机数

4. 基础用法示范

4.1 生成 0 到 1 之间的随机小数

在任意单元格输入:

=RAND()

回车后会得到一个随机小数,例如 0.327451...(每次可能不同)。


4.2 生成指定范围内的随机整数

思路:先用 RAND() 生成 [0,1) 的随机小数,再映射到指定整数区间。

目标:生成 ab 的随机整数(包含两端)。

=INT(RAND()*(b-a+1))+a

示例:生成 1 到 100 的随机整数:

=INT(RAND()*100)+1

解释:

  • RAND()*100 得到 [0,100) 的随机小数
  • INT(...) 向下取整得到 0~99
  • +1 平移到 1~100

4.3 生成指定范围内的随机小数

目标:生成 ab 的随机小数(含 a,通常不含 b,取决于小数精度显示)。

=RAND()*(b-a)+a

示例:生成 10 到 50 的随机小数:

=RAND()*40+10

解释:

  • b-a = 40
  • RAND()*40 得到 [0,40)
  • +10 得到 [10,50)

4.4 生成带固定小数位的随机数

如果希望控制显示或结果的小数位数,可使用 ROUND

示例:生成 0 到 1 之间、保留 4 位小数的随机数:

=ROUND(RAND(),4)

示例:生成 10 到 50 之间、保留 2 位小数的随机数:

=ROUND(RAND()*40+10,2)

4.5 批量生成随机数(填充多单元格)

步骤示例:

  1. 在 A1 输入:
    =RAND()
    
  2. 选中 A1,向下拖拽填充柄到 A100

结果:A1:A100 每个单元格都会各自生成一个随机数。


4.6 用随机数实现随机排序

常见做法:给每条数据生成一列随机数作为“随机键”,然后按该列排序。

示例流程(以 A 列为原始数据,B 列为随机键):

  1. 在 B2 输入:
    =RAND()
    
  2. 向下填充到所有数据行
  3. 按 B 列升序排序即可得到随机顺序

5. 总结

  • RAND() 用于生成 [0,1) 区间的随机小数,语法简单且无参数
  • 通过与 INTROUND 等函数组合,可以生成:

    • 指定范围的随机整数:=INT(RAND()*(b-a+1))+a
    • 指定范围的随机小数:=RAND()*(b-a)+a
    • 固定小数位随机数:=ROUND(表达式,位数)
  • RAND 也常用于随机排序、抽样与模拟数据场景。