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

时间:2019-03-30 03:13:33

标签: google-sheets google-sheets-formula

我以某种方式获得数据,但是我需要将其自动转换为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

我想不出解决方案(我相对较新)。我希望有人可以指出正确的方向。在此先感谢您能获得的任何帮助!

2 个答案:

答案 0 :(得分:1)

如果没有太多的行和列,则可以使用拆分/合并方法:

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

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

enter image description here

答案 1 :(得分:0)

终极720°自由度:

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

0