excel函数技巧:map+textsplit+concat拆分、合并、汇总成新数据-趣帮office教程网

如何利用map textsplit concat拆分、合并、汇总成新数据?如图,A至F列为源数据,每个单元格内的数据都有数量和单位组成,有的只有一组,有的有三组,如何求得每列每组的合计汇总并在G列显示出来,公式如下:

=LET(x,TEXTSPLIT(CONCAT(A5:F5),,VSTACK("盒","小","箱"),1),

y,TEXTSPLIT(CONCAT(A5:F5),,SEQUENCE(10)-1,1),

CONCAT(MAP({"箱","盒","小"},LAMBDA(m,IF(SUM(IF(y=m,--x,0))<>0,SUM(IF(y=m,--x,0))&m,""))))

)

公式思路:公式的主体为两个textsplit进行分行,最后以单位为条件,分组求和,再用concat函数合并到一起。

第一次分行,以单位为分隔符:VSTACK("盒","小","箱"),将数据列成一行;

第二分行,以数字为分隔符:SEQUENCE(10)-1,将单位列成一行。这样实现了数字与单位的一一对应。

map函数起到快速统计的作用,这里只有"箱","盒","小"三个单位,效果还不是很明显,如果超过十几个单位,效率就提高的非常多。