2000元课程
免费学7天
函数+VBA
Expand有扩大、扩展、膨胀的意思。
Excel365版本新增函数EXPAND用来扩展数组,给数据区域“增肌塑形”。当然现在wps最新版也支持这个函数
=EXPAND(array, rows, [columns], [pad_with])
array:要扩展的数组。
row:扩展后的行数
[columns]:扩展后的列数
[pad_with]:填充到扩展区域中的值。默认值为 #N/A。
如下公式,将A1:A2区域扩展为4行3列,扩出部分用”PPT”填充。
=EXPAND(A1:A2,4,3,"PPT")
按指定次数重复文本
按指定次数重复文本是Excel中很经典的案例,在低版本中解决方案十分的复杂,而EXPAND的出现让事情变得简单,新手也能秒懂。
=EXPAND(A2,,B2,A2)
插入空白行
要在每个姓名的下方插入空白行,EXPAND将数据区域由1列扩展到2列,并用空值填充扩充的单元格,再由TOCOL整合为1列:
=TOCOL(EXPAND(A2:A5,,2,""),,0)
预设范围
目的:产生一个1~100内的随机数数组,数量5~10之间随机。
用RANDBETWEEN产生一个5~10的随机数,作为数量:
=RANDBETWEEN(5,10)
RANDARRAY可以产生随机数数组,其第一参数设置为上诉RANDBETWEEN公式,以此达到数量为5~10之间随机的目的:
=RANDARRAY(RANDBETWEEN(1,5),,1,100,TRUE)
公式完成后按F9刷新结果。
尝试多次刷新会有“溢出”提示。
这是因为Excel无法确定溢出数组的大小,因为它取决于RANDBETWEEN,是易变的。
数组的大小在计算过程中持续变化且不稳定,Excel会将动态数组解析为 #溢出!。
既然根本原因是数组大小的不确定,那么把它确定下来是不是就可以解决了呢?
=EXPAND(RANDARRAY(RANDBETWEEN(5,10),,1,100,TRUE),10,,"")
EXPAND第二参数设置为10,即预设数组大小为10;第四参数设置为空,当RANDARRAY产生的数组小于10时,其他单元格为空。
按F9刷新88次没有“溢出”提示,算不算亲测有效呢?
好了,今天的Excel小课堂就到此结束,大家赶紧实际操作联系一下吧,有不懂的问题可以留言问我!感谢关注Excel880,还请多多转发,持续关注我们呀!
买课程可进永久答疑群,课程可免费试学点击下方链接即可