如何将同一行不同列的单元格合并到同一列不同行的单元格?

How do I combine cells from different columns on the same row to cells on different rows in the same column?

我有以某种方式传入的数据,但我需要它自动转换为 Google Data Studio 中特定图表的不同布局。

基本上,我想从这里开始

Date    Apple   Banana   Cherry

Jan 1   500     800      2000
Jan 2   800     920      2878
Jan 3   1700    1850     3000

为此:

Date     Type     Amount

Jan 1    Apple    500
Jan 1    Banana   800 
Jan 1    Cherry   2000
Jan 2    Apple    800
Jan 2    Banana   920
Jan 2    Cherry   2878
Jan 3    Apple    1700
Jan 3    Banana   1850
Jan 3    Cherry   3000

我想不出解决方案(我对此比较陌生)。我希望有人能指出我正确的方向。提前感谢我能得到的任何帮助!

如果您没有太多的行和列,您可以使用 split/join 方法:

=ArrayFormula({"Date","Type","Amount";split(transpose(split(textjoin("♫",,A2:A4&"♪"&B1:D1&"♪"&B2:D4),"♫")),"♪")})

因为这会在拆分之前将数据合并到一个单元格中,所以数据加上分隔符的字符数限制为 50,000 个。

720°无极限自由度:

=ARRAYFORMULA({"Date", "Type", "Amount"; 
 SPLIT(TRANSPOSE(SPLIT(TRANSPOSE(QUERY(TRANSPOSE(QUERY(TRANSPOSE(
 IF(B2:Z<>"", A2:A&"♠"&B1:1&"♠"&B2:Z&"♦", )), , 500000)), , 500000)), "♦")), "♠")})