新函数EXPAND 居然这么厉害

文摘   2024-12-25 12:59   湖北  

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,还请多多转发,持续关注我们呀!

买课程可进永久答疑群,课程可免费试学点击下方链接即可

郑广学Excel实战教程






EXCEL880
Excel/WPS办公技巧分享 郑广学VBA/VSTO/JSA教程分享 课程咨询及付费定制表格加EXCEL880B
 最新文章