Srikanth Asked: 2025-02-14 20:58:06 +0800 CST2025-02-14 20:58:06 +0800 CST 2025-02-14 20:58:06 +0800 CST 将列范围转换为单列,下一列下方一列 772 我有特定的行和列数据。我需要逐一转换所有列。 =LET(a,A2:A11,cn,COUNTA(B2:D2),_a,TEXTSPLIT(REPT(TEXTJOIN(",",,a)&"$",cn),,{",","$"},1),_a) 我尝试了多种方法来获取其他列(ID,Region,WC),如下图所示,但都没有成功。 非常感谢您的帮助。 谢谢。 excel 2 个回答 Voted Best Answer Black cat 2025-02-14T21:53:59+08:002025-02-14T21:53:59+08:00 此公式中的 cols列数是具有唯一列名的列数。 sta包含从第二列到范围末尾的列,这些列堆叠在一列中, fir并且par将第一列重复多次作为cols值。 =LET(a,A2:D5, cols,COLUMNS(a)-1, sta,TOCOL(DROP(a,,1),0,TRUE), fir,REPT(TEXTJOIN("|",FALSE,TAKE(a,,1))&"|",cols), par,DROP(TOCOL(TEXTSPLIT(fir,"|")),-1), HSTACK(par,sta)) P.b 2025-02-15T07:40:34+08:002025-02-15T07:40:34+08:00 =LET(a,A2:D5,c,TOCOL,HSTACK(c(IFS(LEN(DROP(a,,1)),TAKE(a,,1)),2,1),c(DROP(a,,1),1,1))) 或者: =LET(a,A2:D5, L,LAMBDA(x,TOCOL(IFS(LEN(DROP(a,,1)),x),3,1)), HSTACK(L(TAKE(a,,1)), L(DROP(a,,1))))
此公式中的
cols
列数是具有唯一列名的列数。sta
包含从第二列到范围末尾的列,这些列堆叠在一列中,fir
并且par
将第一列重复多次作为cols
值。=LET(a,A2:D5,c,TOCOL,HSTACK(c(IFS(LEN(DROP(a,,1)),TAKE(a,,1)),2,1),c(DROP(a,,1),1,1)))
或者: