我平时文章中用到的各种案例,经常需要构建大量数据,总不能一个个手工输入,所以往往需要用随机函数来创建。
用 Excel 做的各种抽奖软件,也离不开随机函数。
O365 这次出了个 RANDARRAY 函数,完全可以同时取代原有的 rand 和 randbetween 两个函数。
函数说明:
作用:
返回一组随机数字 可指定要填充的行数和列数、最小值和最大值,以及是否返回整数或小数值。
语法:
RANDARRAY([rows],[columns],[min],[max],[whole_number])
参数:
[rows]:可选,要返回的行数。[columns]:可选,要返回的列数。[min]:可选,要返回的最小值。[max]:可选,要返回的最大值。[whole_number]:可选,返回整数或十进制值TRUE:表示整数FALSE(或省略):表示十进制数
说明:
如果不输入行或列参数,RANDARRAY 将返回 0 到 1 之间的单个值。如果不输入最小值或最大值参数,默认分别为 0 和 1。最小数必须小于最大数,否则将返回 #VALUE! 错误。如果不输入 whole_number 参数,RANDARRY 会默认为 FALSE,或十进制数值。RANDARRAY 函数将返回一个数组,如果该数组是公式的最终结果,将会溢出。这意味着,当按下回车键时,Excel 将动态创建相应大小的数组范围。如果数据位于 Excel 表格中,若使用结构化引用,则从数组范围中添加或删除数据时,数组将自动重设大小。RANDARRAY 与 RAND 函数的不同之处是,RAND 不能返回数组,因此需要将 RAND 公式复制到整个区域。可将数组视为一行、一列或几行和几列的组合。Excel 对工作簿之间的动态数据提供有限支持,并且仅当这两个工作簿时都处于打开状态时才支持此方案。如果关闭源工作簿,刷新时,任何链接的动态数组公式都将返回 #REF! 错误 。
案例:
创建一个 0 到 1 之间的随机数创建一个 4 行 3 列的区域,其中的每个单元格为一个随机生成的手机号码
效果如下图 1、2 所示。
解决方案 1:
在 A1 单元格中输入以下公式:
=RANDARRAY()
公式释义:
产生一个 0 到 1 之间的随机数
按 F9,随机数就会发生变化。
解决方案 2:
在 A1 单元格中输入以下公式:
=RANDARRAY(4,3,13000000000,19999999999,1)
公式释义:
生成一个 4 行 3 列的随机数组区域;区域中的每个单元格为数字在 13000000000 和 19999999999 之间的整数