夜雨聆风学习资料网

ARTICLE · 1005519

一组高效Excel动态数组公式,请收好

一组高效Excel动态数组公式,请收好
小伙伴们好啊,今天和大家分享一组简单高效的Excel函数公式,点滴积累,也能提高工作效率。
1、每列最大值求和
如下图,希望计算每个人的最高成绩之和。
H2输入以下公式:
=SUM(BYCOL(B2:F6,LAMBDA(x,MAX(x))))
LAMBDA函数将B2:F6区域中的每一列定义为x,再用MAX函数分别计算出x的最大值。
也可以简化LAMBDA部分,写成语法糖的形式:
=SUM(BYCOL(B2:F6,MAX))

2、计算最多连胜次数

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

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

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

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

“00111001011”

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

……111…1…11

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

3、按指定次数重复显示
如下图所示,希望根据B列的次数来重复显示A列标签内容。
C2单元格输入以下公式:
=TEXTSPLIT(CONCAT(REPT(A2:A8&"/",B2:B8)),,"/",1)
A2:A8&"/"部分,先将A2:A8单元格中的每一项分别与斜杠进行连接,再用REPT函数,根据B列的数字来重复显示这些内容。
接下来使用CONCAT函数将这些内容连接到一起:
"半成品区/半成品区/半成品区/原料区/原料区/原料区/……/暂存区/"
最后使用TEXTSPLIT函数,以斜杠为间隔符号,将以上字符串进行拆分。

相关学习资料