该文节选自《函数宝典》OFFICE365EXCEL 4.3.18版本电子版 RANDARRAY函数
Excel中提供了三个生成随机数的函数:RAND,RANDBETWEEN,RANDARRAY。其中,RANDARRAY是新函数,只在Excel 2019以后的版本以及Office 365中才能使用。
RAND
RAND函数的作用是生成一个0-1之间的随机数(大于等于0,小于1)。生成的随机数是均匀分布的。
语法如下:
RAND()
RAND函数没有参数。
使用非常简单。

B35=RAND()
RANDBETWEEN
RANDBETWEEN函数的作用是返回给定区间的整数。
RANDBETWEEN函数在Excel 2003之前的版本中是一个加载项函数。如果没有加载分析工具加载项,这个函数使用不了。
语法如下:
RANDBETWEEN(左边界,右边界).
其中,左边界和右边界定义了返回的随机数的范围(包含左右边界)。
使用非常简单:

B54=RANDBETWEEN(-100,100)
这个公式返回的值,只会是在-100到100之间。
RANDARRAY
RANDARRAY函数的作用是生成一个给定区间的随机数数组。可以是整数,也可以是小数。
RANDARRAY函数是动态数组函数。只能在Excel 2019之后的版本或者Office 365中才能使用。
语法如下:
RANDBETWEEN([行数],[列数],[左边界],[右边界],[是否整数])
其中,
行数 => 返回数组的行数
列数 => 返回数组的列数
左边界,右边界 => 返回数组中随机数的范围
是否整数 => 指示返回的随机数是否必需为整数。逻辑值,TRUE=返回整数,FALSE=返回小数。
所有参数都可以省略。
如果不写任何参数,就等于RAND函数:
实际上,如果不指定左边界,缺省值是0,如果不指定右边界,缺省值是1。所以,下面的公式:

公式结果,返回0-100之间的随机数。

返回错误值 #VALUE! 。因为左边界=2,右边界缺省为1,左边界小于右边界,函数不支持。
完整的使用这个公式:

B69=RANDARRAY(10,3,1,100,FALSE)
得到一个动态数组。因为在参数中已经输入 10 行 3 列的 1-100 之间的随机数数组,又因为第五参数是 FALSE ,所以指定随机数会有小数点后几位。
如果只要整数的随机数数组,只要将第五参数 FALSE 改为 TRUE 。
如下表:

动态数组解释:
2018 年 9 月,office引入了动态数组公式。 动态数组公式可以自动填充或“溢出”到相邻的空白单元格中,并无需使用旧的 Ctrl+Shift+Enter (CSE) 数组公式。
每当在动态数组公式中编写感知 Excel 的公式时,它都会确定该公式是否可能返回多个值 (即使它当前只返回一个值) 。 如果它可以返回多个值,我们会将其保存为动态数组公式,在旧版 Excel 中将此公式视为旧版 CSE 公式。
在写动态数组时可能会遇到”溢出“。
返回一组值(也称为数组)的 Excel 公式将这些值返回到相邻单元格。 这种行为称为“溢出”。
可以返回可变大小的数组的公式称为 动态数组 公式。 当前返回成功溢出的数组的公式可以称为 溢出的数组 公式。
在EXCEL中,判断该公式是否是动态数组公式,直观便捷地方式是点一下动态数组公式的第一个单元格,出现下图上边框,就是动态数组公式。

RANDARRAY函数可以完全替代RAND函数和RANDBETWEEN函数的作用。
