Excel怎么生成随机数_Excel随机整数小数生成不重复技巧【干货】

浅磊同学_8272

浅磊同学_8272

2026-03-25

1870人浏览

原创

excel生成随机数需据需求选函数:rand/randbetween基础随机;randarray批量动态生成;辅助列排序或sequence+sortby实现不重复;vba保障严格不重复。

excel怎么生成随机数_excel随机整数小数生成不重复技巧【干货】

如果您需要在Excel中生成随机数,但发现默认函数可能产生重复值或无法满足整数/小数的特定要求,则可能是由于未正确设置函数参数或未结合去重逻辑。以下是实现随机整数、随机小数及不重复随机数的多种方法:

一、使用RAND和RANDBETWEEN生成基础随机数

RAND函数返回0到1之间均匀分布的随机小数,RANDBETWEEN可指定上下限生成随机整数,二者均为易失性函数,每次计算自动更新。

1、在目标单元格输入=RAND(),按回车生成0–1之间的随机小数。

2、在目标单元格输入=RANDBETWEEN(1,100),按回车生成1至100之间的随机整数。

3、如需生成指定范围的小数(例如1.5至8.7之间),输入=1.5+RAND()*(8.7-1.5)。

二、用RANDARRAY函数批量生成动态数组随机数

RANDARRAY是Microsoft 365及Excel 2021新增函数,支持一次性生成多行多列的随机数值数组,并可设定类型与范围。

1、生成5行3列的随机小数(默认0–1):=RANDARRAY(5,3)。

2、生成10个10–50之间的随机整数:=RANDARRAY(10,1,10,50,TRUE),其中第5个参数TRUE表示整数。

3、生成8个0.1–0.9之间保留一位小数的随机值:=ROUND(RANDARRAY(8,1,0.1,0.9),1)。

三、通过辅助列+排序法生成不重复随机整数

利用RAND生成临时随机序号,再按该序号对有序序列排序,可间接获得不重复随机排列。

1、在A1:A100中依次输入1至100(即候选整数列表)。

Excel Auto Clean
Excel Auto Clean

自动整理Excel表格、去重、排序、生成报表

下载

2、在B1:B100中全部输入=RAND(),为每个数字分配随机权重。

3、选中A1:B100区域,点击【数据】→【排序】,主关键字选择“列B”,排序依据为“数值”,次序为“升序”。

4、此时A列前N行即为从1–100中无重复抽取的N个随机整数。

四、用SEQUENCE结合INDEX与SORTBY生成不重复随机序列

此方法无需手动排序,纯公式驱动,适用于Microsoft 365及以上版本。

1、生成1–50中不重复的12个随机整数:=INDEX(SORTBY(SEQUENCE(50),RANDARRAY(50)),SEQUENCE(12))。

2、生成A1:A20对应内容的随机打乱结果:=INDEX(A1:A20,SORTBY(SEQUENCE(20),RANDARRAY(20)))。

3、若需固定结果不随计算刷新,复制结果区域后使用【选择性粘贴】→【数值】覆盖原公式。

五、借助VBA生成指定范围不重复随机整数(无重复保障)

VBA可通过循环+集合判断确保严格不重复,适合大范围低密度抽样场景。

1、按Alt+F11打开VBA编辑器,插入新模块。

2、粘贴以下代码:Sub GenerateUniqueRandom()
Dim i As Long, num As Long, dict As Object
Set dict = CreateObject("Scripting.Dictionary")
Do While dict.Count   num = Int((100 - 1 + 1) * Rnd + 1)
  If Not dict.Exists(num) Then dict.Add num, 1
Loop
For i = 0 To dict.Count - 1
  Cells(i + 1, 1).Value = dict.Keys(i)
Next i
End Sub

3、运行宏后,A1:A15将填入1–100间互异的15个随机整数。

相关文章

PHP速学视频免费教程(入门到精通)
PHP速学视频免费教程(入门到精通)

PHP怎么学习?PHP怎么入门?PHP在哪学?PHP怎么学才快?不用担心,这里为大家提供了PHP速学教程(入门到精通),有需要的小伙伴保存下载就能学习啦!

下载

相关标签:

excel

本站声明:本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn

相关专题

更多
counta和count的区别
counta和count的区别

Count函数用于计算指定范围内数字的个数,而CountA函数用于计算指定范围内非空单元格的个数。本专题为大家提供相关的文章、下载、课程内容,供大家免费下载体验。

2023.11.20

2568

5

while的用法
while的用法

while的用法是“while 条件: 代码块”,条件是一个表达式,当条件为真时,执行代码块,然后再次判断条件是否为真,如果为真则继续执行代码块,直到条件为假为止。本专题为大家提供while相关的文章、下载、课程内容,供大家免费下载体验。

2023.09.25

334

5

string转int
string转int

在编程中,我们经常会遇到需要将字符串(str)转换为整数(int)的情况。这可能是因为我们需要对字符串进行数值计算,或者需要将用户输入的字符串转换为整数进行处理。php中文网给大家带来了相关的教程以及文章,欢迎大家前来学习阅读。

2023.08.02

5439

3

int占多少字节
int占多少字节

int占4个字节,意味着一个int变量可以存储范围在-2,147,483,648到2,147,483,647之间的整数值,在某些情况下也可能是2个字节或8个字节,int是一种常用的数据类型,用于表示整数,需要根据具体情况选择合适的数据类型,以确保程序的正确性和性能。本专题为大家提供相关的文章、下载、课程内容,供大家免费下载体验。

2024.08.29

2745

6

c++怎么把double转成int
c++怎么把double转成int

本专题整合了 c++ double相关教程,阅读专题下面的文章了解更多详细内容。

2025.08.29

3388

10

C++中int的含义
C++中int的含义

本专题整合了C++中int相关内容,阅读专题下面的文章了解更多详细内容。

2025.08.29

2445

10

vsd文件打开方法
vsd文件打开方法

vsd文件打开方法有使用Microsoft Visio软件、使用Microsoft Visio查看器、转换为其他格式等。想了解更多vsd文件相关内容,可以阅读本专题下面的文章。

2023.10.30

1222

5

excel对比两列数据异同
excel对比两列数据异同

Excel作为数据的小型载体,在日常工作中经常会遇到需要核对两列数据的情况,本专题为大家提供excel对比两列数据异同相关的文章,大家可以免费体验。

2023.07.25

4681

7

excel重复项筛选标色
excel重复项筛选标色

excel的重复项筛选标色功能使我们能够快速找到和处理数据中的重复值。本专题为大家提供excel重复项筛选标色的相关的文章、下载、课程内容,供大家免费下载体验。

2023.07.31

2856

5

热门下载

更多
网站特效
/
网站源码
/
网站素材
/
前端模板

精品课程

更多
相关推荐
/
热门推荐
/
最新课程
Excel 教程
Excel 教程

共162课时 | 43.6万人学习

成为PHP架构师-自制PHP框架
成为PHP架构师-自制PHP框架

共28课时 | 3.5万人学习