多行多列合并内存数组
见附件=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以上你有么 我有高版本。
你上面的公式也用不了,提示“此公式使用的嵌套层数超过了您可以在当前文件格式中使用的数目。” 改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)) 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]