效率神器:5个高效Excel动态数组公式

效率神器:5个高效Excel动态数组公式

编码文章call10242025-08-01 16:30:383A+A-

小伙伴们好啊,今天和大家分享一组简单高效的函数公式,点滴积累,也能提高工作效率。

1、两列转四列

如下图,希望将左侧数据分成4列显示。

D2单元格公式为:

=WRAPROWS(TOCOL(A2:B11),4)

先使用TOCOL(A2:B11)函数将左侧数据转换为1列。再使用WRAPROWS函数将一列数据转换为4列。

2、一列转多列

如下图所示,为了便于打印,要将A列中的姓名,转换为多行多列。

D6单元格输入以下公式,按回车:

=INDEX(A:A,SEQUENCE(E3,E4,2))&""

先使用SEQUENCE函数,根据E3和E4单元格中指定的行列数,得到一个从2开始的多行多列的序号。再使用INDEX函数返回A列对应位置的内容。

3、每列最大值求和

如下图,希望计算每个人的最高成绩之和。

H2输入以下公式:

=SUM(BYCOL(B2:F6,LAMBDA(x,MAX(x))))

LAMBDA函数将B2:F6区域中的每一列定义为x,再用MAX函数分别计算出x的最大值。

在新版本中也可以简化LAMBDA部分,写成语法糖的形式:

=SUM(BYCOL(B2:F6,MAX))

4、计算最多连胜次数

如下图所示,B列是某联赛的比赛成绩,希望计算出最多连胜场次。

=MAX(LEN(TEXTSPLIT(CONCAT(IF(B2:B12="胜",1,0)),0)))

IF函数部分,判断B列胜负,胜返回1,负返回0。如下图所示。

接下来使用CONCAT函数将这些内容连接到一起,结果为:

“00111001011”

再使用TEXTSPLIT函数,用0做为间隔符进行拆分,拆分结果为:

……111…1…11

最后用LEN函数计算出以上结果的字符数,再用MAX函数计算出最多的字符数,其结果就是最大连胜次数。

5、按指定次数重复显示

如下图所示,希望根据B列的次数来重复显示A列标签内容。

C2单元格输入以下公式:

=TEXTSPLIT(CONCAT(REPT(A2:A8&"/",B2:B8)),,"/",1)


A2:A8&"/"部分,先将A2:A8单元格中的每一项分别与斜杠进行连接,再用REPT函数,根据B列的数字来重复显示这些内容。

接下来使用CONCAT函数将这些内容连接到一起:

"半成品区/半成品区/半成品区/原料区/原料区/原料区/……/暂存区/"

最后使用TEXTSPLIT函数,以斜杠为间隔符号,将以上字符串进行拆分。



点击这里复制本文地址 以上内容由文彬编程网整理呈现,请务必在转载分享时注明本文地址!如对内容有疑问,请联系我们,谢谢!
qrcode

文彬编程网 © All Rights Reserved.  蜀ICP备2024111239号-4