将行的所有可能组合相乘 - 交叉连接设置具有多列的行

问题描述 投票:0回答:1

嗨,我在 Google 表格中遇到了类似的问题,已在该线程中解决:

生成列的所有可能组合(交叉连接或笛卡尔积)

我正在尝试将多行与列数连接起来 我尝试使用 FLATTEN & TRANSPOSE 但没有给我我想要的

下面是一个谷歌表格,显示了我拥有的(数据)和想要的(应该看起来像) 数据集

如有任何帮助,我们将不胜感激!

我尝试使用 excel 和 power 查询,这很好,但我想在 google 表格中执行此操作,但不能

google-sheets google-sheets-formula cartesian-product cross-join
1个回答
0
投票

尝试以下公式(请参阅您的 gs harun24hr 表)。

=QUERY(
HSTACK(MAKEARRAY(ROWS(DATA!A2:D5)*COLUMNS(DATA!E1:P5),ROWS(DATA!A2:D5),LAMBDA(r,c,INDEX(DATA!A2:D5, ROUNDUP(r/COLUMNS(DATA!E1:P5),0),c))),
FLATTEN(SPLIT(JOIN("",INDEX(REPT(DATA!E1:P1&"|",ROWS(DATA!A2:D5)))),"|")),
FLATTEN(DATA!E2:P5)),
"select * where Col6 is not null",0)

© www.soinside.com 2019 - 2024. All rights reserved.