在excel中利用数组公式生成不重复的随机整数列

时间:2023-11-21 22:25:53 

要在Excel中生成不重复的随机整数列,例如将1-22这22个数进行随机排列,通常用在辅助列中输入RAND函数并排序的方法来实现。如果不用辅助列和VBA,用数组公式也可以实现。在A2单元格中输入数组公式:

=LARGE(ROW($1:$22)*(1-COUNTIF($A$1:A1,ROW($1:$22))),INT(RAND()*(23-ROW(A1))+1))

公式输入完毕按Ctrl+Shift+Enter结束,然后拖到填充柄填充公式到A23,即可在A2:A23中生成1-22这22个数,并随机排序。


说明:

1. “ROW($1:$22)”产生一列包含1-22的垂直数组,如果需要更多的数值,将“22”改为所需数值即可。

“1-COUNTIF($A$1:A1,ROW($1:$22))”用COUNTIF函数判断已产生的数值,如果某个数字已在A列出现,则其对应位置为0,否则为1。

上述两项相乘后得到一个包含“0”和未出现数字的数组,并作为LARGE函数的第一个参数。例如在A9单元格中两项相乘的结果为数组:

{0;0;3;4;0;6;0;8;9;10;11;0;0;14;15;16;17;18;19;20;0;22}

其中“13、7、5、1、12、2、21”这7个数已在A列中出现,其对应位置为“0”。

2.“INT(RAND()*(23-ROW(A1))+1)”为LARGE函数的第二个参数,其作用是产生一个随机整数,以A9单元格为例,由于已出现7个数字,还有15个数字未出现,故随机数的最大值为15,该项产生一个1-15之间的随机整数。

如果要在行中生成随机整数列,可用下面的数组公式,以B3单元格为例:

=LARGE(COLUMN($A3:$V3)*(1-COUNTIF($A3:A3,COLUMN($A3:$V3))),INT(RAND()*(23-COLUMN(A3))+1))

然后向右拖到公式到W3即可。也可选择B3:W3继续向下填充公式在多行中产生随机整数列,如图。


标签:公式,数组,整数,随机,Excel函数
0
投稿

猜你喜欢

  • Office2007中SmartArt排版拼图方法介绍

    2023-08-02 04:43:47
  • 使用VBA代码来实现excel 循环累加的方法

    2023-08-26 13:16:08
  • 怎样取消wps保护表格模式

    2023-04-18 10:41:12
  • Windows10如何更改个人文件夹位置 Win10更改个人文件夹位置图文教程

    2023-04-19 13:50:10
  • Excel 如何利用COMBIN函数 实现计算给定数目对象的组合数

    2023-08-08 13:50:16
  • Excel QUOTIENT 函数 使用实例教程

    2022-03-29 15:42:41
  • Lightroom 与 Lightroom Classic 有何不同?

    2023-05-17 09:16:52
  • Xperia XZ深蜜粉配色发布:少女心又被撩起来了!

    2022-07-17 15:27:00
  • win7电脑如何删除被占的PID?PID是什么意思?

    2023-12-28 10:57:35
  • WORD中破折号的输入技巧

    2022-06-22 01:02:44
  • word2007表格怎么添加标注? word表格添加题注的教程

    2022-06-25 09:12:28
  • Win7注册表锁定及解锁的方法

    2023-07-05 11:23:33
  • 无他相机如何拍摄拉长效果视频 无他相机拉长效果视频拍摄方法

    2023-04-30 20:00:26
  • 怎么用excel求偏差和标准偏差

    2022-02-21 09:49:34
  • 电脑开机画面怎么修改 Win7修改系统开机界面图文教程

    2022-07-10 07:04:59
  • 百度输入法怎么截图

    2023-08-14 03:16:44
  • word怎么组合形状

    2022-04-18 13:56:52
  • Excel中进行表格计算分类求和的操作技巧

    2023-05-15 06:27:13
  • 小编教你bios恢复出厂设置怎么操作

    2022-08-21 19:01:23
  • 手机wps如何设置字体样式

    2023-01-25 00:35:22
  • asp之家 电脑教程 m.aspxhome.com