将结果从一行分组和拆分为多行

问题描述

我的行中的信息需要拆分和分组。

现在我有以下内容

ID | A | A1 | A2 | A3

具有以下输出

ID | A | A1
ID | A | A2
ID | A | A3

使用以下代码

=ARRAYFORMULA(QUERY(SPLIT(FLATTEN(A5:A7&"|"&B5:B7&"|"&C5:E7);"|";0;0);"where Col3<>''"))

但是问题是当我想要多个组参数如下:

ID | A | A1 | A2 | A3 | B | B1 | B2 | B3

具有以下输出

ID | A | A1
ID | A | A2
ID | A | A1
ID | B | B1
ID | B | B2
ID | B | B3

请参阅附件表

https://docs.google.com/spreadsheets/d/1VAORtWGRwAnu51_yD_nS7eNY6fuQxzDubz_y4Gof_78/edit?usp=sharing

我还没有找到解决方法

感谢您的帮助。

解决方法

尝试:

=ARRAYFORMULA(QUERY(SPLIT({
 FLATTEN(IF(C23:E26="";;A23:A26&"♦"&B23:B26&"♦"&C23:E26));
 FLATTEN(IF(G23:I26="";;A23:A26&"♦"&F23:F26&"♦"&G23:I26))}; "♦"); 
 "where Col1 is not null order by Col1"; 0))

enter image description here