本帖最后由 edwin11891 于 2024-6-25 19:47 编辑
认真学习楼上各位的思路方法,各种奇思妙想。
为不重复,换个思路,另辟蹊径:先按照首行数字分类展开一列、跟原数据并列,然后根据分类进行重组分列。
- =LET(t,DROP(TEXTSPLIT(CONCAT(TOCOL(MAP(TOROW(SEQUENCE(COLUMNS(C1:J1))),C1:J1,LAMBDA(x,y,REPT(x&"@",y))),3)),,"@"),-1),Res,REDUCE("",UNIQUE(t),LAMBDA(x,y,HSTACK(x,FILTER(TAKE(A1:A30,SUM(C1:J1)),t=y)))),IFNA(DROP(Res,,1),""))
复制代码
或者:
- =LET(t,DROP(REDUCE(0,C1:J1,LAMBDA(x,y,VSTACK(x+1,MAKEARRAY(y,1,LAMBDA(m,n,0))))),1),Res,REDUCE("",UNIQUE(t),LAMBDA(x,y,HSTACK(x,FILTER(TAKE(A1:A30,SUM(C1:J1)),t=y)))),IFNA(DROP(Res,,1),""))
复制代码
|