静空万里 发表于 2021-11-30 09:07:00

多行多列合并内存数组

见附件

几十里林阿陌 发表于 2022-1-4 13:49:07

=T(INDIRECT(TEXT(SMALL(IF((A2:E8>"")*MOD(COLUMN(A:E),2),ROW(2:8)*100+COLUMN(A:E)),ROW(OFFSET(A1,,,SUM((A2:E8>"")*MOD(COLUMN(A:E),2))))),"r0c00")))

后面类同,只是像B列里有文本有数值,外套T/N都用不了,有点坑,只能上高版,2019以上你有么

莊有 发表于 2022-1-8 07:28:11

我有高版本。
你上面的公式也用不了,提示“此公式使用的嵌套层数超过了您可以在当前文件格式中使用的数目。”

大草原上的小老鼠 发表于 2022-2-8 20:47:59

改XLSX格式。XLS这种太古老了。新版三脚猫写法=FILTERXML("<a><b>"&TEXTJOIN("</b><b>",1,TRANSPOSE(IF((A2:E8<>"")*MOD(COLUMN(A:E),2),A2:E8,"")))&"</b></a>","a/b")

=FILTERXML("<a><b>"&TEXTJOIN("</b><b>",1,TRANSPOSE(IF((A2:E8<>"")*MOD(COLUMN(A:E),2),B2:F8,"")))&"</b></a>","a/b")

=TRIM(MID(FILTERXML("<a><b>"&TEXTJOIN("</b><b>",1,TRANSPOSE(IF((A2:E8<>"")*MOD(COLUMN(A:E),2),A2:E8&REPT(" ",9)&B2:F8,"")))&"</b></a>","a/b"),{1,10},9))

子豪的世界 发表于 2022-2-26 08:55:00

G2
=TEXTJOIN(";",,TRANSPOSE(REPT(A2:E8,LEFT(A2:E8,2)="ks")))

H4
=TEXTJOIN(";",,TRANSPOSE(REPT(B2:F8,MOD({1,2,3,4,5},2))))

转内存数组分裂一次就好,例
=FILTERXML("<a><b>"&TEXTJOIN("</b><b>",,TRANSPOSE(REPT(A2:E8,LEFT(A2:E8,2)="ks")))&"</b></a>","//b")
页: [1]
查看完整版本: 多行多列合并内存数组