如何利用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函数起到快速统计的作用,这里只有”箱”,”盒”,”小”三个单位,效果还不是很明显,如果超过十几个单位,效率就提高的非常多。
限 时 特 惠: 本站每日持续更新海量各大内部创业教程,一年会员只需98元,全站资源免费下载 点击查看详情
站 长 微 信: lzxmw777
声明:本站所有文章,如无特殊说明或标注,均为本站原创发布。任何个人或组织,在未征得本站同意时,禁止复制、盗用、采集、发布本站内容到任何网站、书籍等各类媒体平台。如若本站内容侵犯了原著者的合法权益,可联系我们进行处理。