乐于分享
好东西不私藏

Excel函数进阶篇|365新函数EXPAND+REPTARRAY

Excel函数进阶篇|365新函数EXPAND+REPTARRAY

Excel函数进阶篇|365新函数EXPAND+REPTARRAY

小伙伴们,今天我们分享2个365新函数,作用是对原数组进行扩充和重复,掌握这2个函数的使用方法,在平时的工作中可以起到意想不到的效果。
我们下面就详细聊聊这2个函数的使用方法。

一、EXPAND函数

EXPAND函数用于将数组扩展到指定維度。
语法:
=EXPAND(数组,行数,列数,[填充值])
参数1:必需。要扩展的数组。
参数2:必需。扩展后的数组行数,如果为0,保持原数组行数。参数2如果小于原数组行数,会返回错误值#VALUE!
参数3:可选。扩展后的数组列数,如果缺省,保持原数组列数。参数3如果小于原数组列数,会返回错误值#VALUE!
参数4:可选。用于填充扩展部分。如果省略,默认填充#N/A。可指定填充内容来规避错误值。
我们还是来举例子来说明。
实例1.
现有A2:A11数据,需要对原数组进行扩充至2列。
=EXPAND(A2:A11,,2)
可发现扩充后的列因为没有指定填充值,所以用错误值填充。
实例2.
指定填充内容。
现有A2:A11数据,需要对原数组进行扩充至2列。
=EXPAND(A2:A11,,2,"")
我们指定用空值来填充扩充后的单元格。
实例3.
如果扩充后的行或列小于原来的数组,则返回错误值。
现有A2:A11数据,需要对原数组进行扩充为3行。
=EXPAND(A2:A11,3)
因为扩充后的3行小于原来数组的行数,所以返回错误值。

二、REPTARRAY函数

reptarray函数用于按指定次数,重复数组内容,形成新的数组。
语法:
REPTARRAY(数组,[行数],[列数])
参数1:必须。数组区域,可以是一维的一行或者一列,也可以是二维的多行多列。
参数2:可选。表示在行方向上重复几次。
参数3:可选。表示在列方向上重复几次。
参数2和3都有,表示在行列都重复,也可以都不填,原样返回数组内容。
我们还是来举例子来说明。
实例4.
现有A2:A11数据,需要对原数组行和列重复2次。
=REPTARRAY(A2:A11,2,2)

三、综合运用

有的同学可能会问,这2个函数有啥用呢?确实,单独来说,可能作用不大,但是如果和其他的函数嵌套,就会起到想不到的效果。下面我们用同一个题目,用这2个函数分别作为核心驱动来解答。
需要把人物姓名重复制定次数,我们以前用TEXTSPLIT函数来完成过,今天我们用这2个函数也可以达到同样的效果。
先把公式贴出来。
=REDUCE("人物",B2:B5,LAMBDA(x,y,VSTACK(x,EXPAND(OFFSET(y,,-1),y,,OFFSET(y,,-1)))))
=REDUCE("人物",B2:B5,LAMBDA(x,y,VSTACK(x,REPTARRAY(OFFSET(y,,-1),y))))
其实这2个公式的思路是一样的,都是用REDUCE来循环,然后用EXPAND和REPTARRAY函数对数组进行扩充或重复,然后用VSTACK函数进行纵向拼接,就可以达到我们想要的效果。
这个例子很简单,小伙伴们一看就会,没啥难度,有兴趣的朋友练习起来啊!