(* 這個問題比
uj5u.com熱心網友回復:
=LET(x,ROWS(A2:A4),y,COLUMNS(B1:E1),z,SEQUENCE(x*y)-1,CHOOSE({1,2,3},INDEX(B1:E1,1 MOD(z,y)),INDEX(A2:A4,1 INT(z/y)),INDEX(B2:E4,1 INT(z/y),1 MOD(z,y))))
感謝 Jos Woolley 完成所有前期作業。
并過濾掉空值和沒有值的行,您可以使用:
=LET(x,ROWS(A2:A4),y,COLUMNS(B1:E1),z,SEQUENCE(x*y)-1,a,INDEX(B2:E4,1 INT(z/y),1 MOD(z,y)),b,CHOOSE({1,2,3},INDEX(B1:E1,1 MOD(z,y)),INDEX(A2:A4,1 INT(z/y)),IF(a="","",a)),FILTER(b,INDEX(b,,3)<>""))

uj5u.com熱心網友回復:
這次的方法略有不同:
=LET(x,SMALL(IF(D4:G6<>"",10^5*SEQUENCE(ROWS(D4:G6)) SEQUENCE(,COLUMNS(D4:G6))),SEQUENCE(COUNT(D4:G6))),y,INT(x/10^5),z,MOD(x,10^5),CHOOSE({1,2,3},INDEX(D3:G3,z),INDEX(C4:C6,y),INDEX(D4:G6,y,z)))
然而,很可能可以改進。
編輯: 注意:在您的示例中,非空白條目D4:G6都是數字。如果這并不一定總是如此然后更換COUNT(D4:G6)有COUNTIF(D4:G6,"<>")一個更廣義的建立。
轉載請註明出處,本文鏈接:https://www.uj5u.com/shujuku/352395.html
上一篇:Excel回傳錯誤回應
下一篇:使用動態陣列公式轉換表格
