本帖最后由 liujunwei4321 于 2025-4-1 16:29 编辑
同时拆分到行和列,顺便避免使用offset,因为如果对中间变量过程拆分,而源数据不是在单元格中offset出错。
=IFNA(REDUCE(A1:C1,SEQUENCE(3),LAMBDA(x,y,VSTACK(x,IF(SEQUENCE(,7)<3,INDEX(A2:B4,y,),HSTACK(REPTARRAY(1,,2),TEXTSPLIT(INDEX(C2:C4,y),",",";")))))),"")
上面的第一个sequence中的3是因为不算表头有3行数据
第二个sequence中的7是假设按列拆分后不大于7列,它后面的<3是因为待拆分列是在第3列,前面还有A和B列
reptarray是为了扩充拆分后的区域,A和B列已经有两列了,扩充两列点位
公式2(更健壮):
=LET(rng,A1:C5,REDUCE(INDEX(rng,1,),SEQUENCE(ROWS(rng)-1),LAMBDA(x,y,VSTACK(x,LET(s,TEXTSPLIT(INDEX(rng,y+1,COLUMNS(rng)),",",";"),HSTACK(IF(SEQUENCE(ROWS(s)),INDEX(rng,y+1,SEQUENCE(1,COLUMNS(rng)-1))),s)))))) |