Excel公式实现每3个逗号后换行(无需VBA)
用Excel公式实现每3个逗号后添加换行
可以实现,以下是适用于Excel 365/2021及以上版本的公式(支持动态数组),假设目标内容在A1单元格:
=TEXTJOIN(CHAR(10),TRUE,BYROW(WRAPROWS(TEXTSPLIT(A1,","),3),LAMBDA(x,TEXTJOIN(",",TRUE,x)&IF(COUNTA(x)=3,",",""))))
公式分步说明:
TEXTSPLIT(A1,","):将A1内容按逗号拆分为单个元素的数组,比如得到{"2","1.5","2","3","1","2","4","3.1","2.1","9"}。WRAPROWS(...,3):把拆分后的数组每3个元素分为一组,生成二维数组:{"2","1.5","2"; "3","1","2"; "4","3.1","2.1"; "9","",""}BYROW(...,LAMBDA(x,...)):遍历每一组,用TEXTJOIN合并组内元素,若组内有3个元素则末尾加逗号,否则直接合并,最终得到每组的字符串:"2,1.5,2,"、"3,1,2,"、"4,3.1,2.1,"、"9"。TEXTJOIN(CHAR(10),TRUE,...):将所有组的字符串用换行符(CHAR(10))连接,完成格式转换。
注意:设置公式后需开启单元格的「自动换行」,才能在单元格内看到换行效果;若要在编辑栏查看换行,直接点击编辑栏即可。
内容的提问来源于stack exchange,提问作者Werner
相关产品推荐
相关产品推荐

