excel函数技巧:expand/rept扩展列的两种方法-趣帮office教程网

如图A列为数据源,同一列数字组成,要求用公式将它们复制多列。具体数量由B1单元格决定。公式如下:

=DROP(REDUCE("",A3:A9,LAMBDA(x,y,VSTACK(x,EXPAND(y,,B1,y)))),1)

本公式的主体为reduce(vstack(expand……

reduce将A列每个数值进行遍历,以变量y传递给expand。

expand将变量y以B1单元格里的数字为列数进行复制。

vstack将expand得到的结果全部竖向堆叠起来,形成表格。

本例使用了expand进行复制,除了这个函数还有一个函数也可以实现这样的效果,那就是rept函数,公式如下:

=TRANSPOSE(TEXTSPLIT(REPT(TEXTJOIN(",",1,A3:A9)&".",B1),",",".",1))

rept函数支持数组操作所以不用使用reduce函数循环,先将所有的源数据合并成含有间隔符标志的字符串,然后再用textsplit函数根据这些间隔符拆分。

那么你喜欢哪一种呢?