在没有VBA的Excel中组合动态数组



我在同一个电子表格中有两个动态数组,称为InputLength:

Input=TRANSPOSE(BASE(DEC2BIN(CODE(MID(A1,(SEQUENCE(1,LEN(A1),,1)),1))),10,8))

Length=TRANSPOSE(MID(BASE((LEN(A1)*8),2,64),SEQUENCE(1,8,,8),8))

Input       Length
01010011    00000000
01101111    00000000
01101101    00000000
01100101    00000000
00100000    00000000
01100111    00000000
01110101    00000000
01101001    10110000
01100100    
01100001    
01101110    
01100011    
01100101    
00100000    
01101110    
01100101    
01100101    
01100100    
01100101    
01100100    
00100000    
00100000

我想把它们组合成一个数组:

01010011
01101111
01101101
01100101
00100000
01100111
01110101
01101001
01100100    
01100001    
01101110    
01100011    
01100101    
00100000    
01101110    
01100101    
01100101    
01100100    
01100101    
01100100    
00100000    
00100000
00000000
00000000
00000000
00000000
00000000
00000000
00000000
10110000

我尝试使用的公式是:

=INDEX((Input,Length),SEQUENCE(ROWS(Input)+ROWS(Length)))

然而,Length范围正在生成#REF!错误,我无法解决:

01010011
01101111
01101101
01100101
00100000
01100111
01110101
01101001
01100100    
01100001    
01101110    
01100011    
01100101    
00100000    
01101110    
01100101    
01100101    
01100100    
01100101    
01100100    
00100000    
00100000
#REF!
#REF!
#REF!
#REF!
#REF!
#REF!
#REF!
#REF!

我尝试使用其他函数,这些函数未能组合数组,和/或生成了其他各种#NUM!#VALUE!错误。

我还将顺序从InputLength交换为LengthInput,这将为第二个阵列生成相同的#REF!错误。

我怀疑我看得太久了,只是需要新鲜的眼光。

我想使用本机Excel函数和公式,而不是VBA或其他编程方法。

单向:

=TEXT(FILTERXML("<a><b>"&TEXTJOIN("</b><b>",1,TRANSPOSE(IFNA(IF(SEQUENCE(,2,0),Length,Input),"")))&"</b></a>","//b"),REPT(0,8))

更严格的替代方案:

=LET(α,ROWS(Input),β,ROWS(Length),γ,MAX(α,β),δ,SEQUENCE(2*γ,,0),ε,INDEX(CHOOSE(SEQUENCE(,2),Input,Length),1+MOD(δ,γ),1+QUOTIENT(δ,γ)),FILTER(ε,1-ISNA(ε)))

最新更新