根据A列中的值旋转B,C等值

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

我知道在Python pandas中你可以做melt来旋转单元格值。

在这里,我想根据A列旋转B列和C列:

enter image description here

期望的结果:

enter image description here

当我更改Google表格中的其他值时,我需要随时更新,否则,我会将其导出到pandas数据框并从那里融化。

我如何在Google表格中“融化”,以便轮流更新?如果没有内置功能,我将如何在Google表格javascript中执行此操作?


注意:Transpose=TRANSPOSE(A2:C2))似乎很有希望,但它不会转动表格,它只会将A和B中的单元格值移动到A:

enter image description here

google-sheets array-formulas google-sheets-formula
4个回答
1
投票
=ARRAYFORMULA(TRIM(SPLIT(TRANSPOSE(SPLIT(QUERY(TRANSPOSE(QUERY(TRANSPOSE(
 IF(B1:C<>"", "♠"&A1:A&"♦"&B1:C, )), , 999^99)), , 999^99), "♠")), "♦")))

0


1
投票

Example on Sheets.

screenshot of example

第1行在A,B,C等列中包含“hello world”“stringA”“stringB”等。

我在第3行开始输出。(从第3行开始输出到A,B列)

您可以在第二列中使用转置,例如将你的转置放在B3中,如下所示:

=TRANSPOSE(B1:1)

然后在A3中可以实现A列的静态值:

=ARRAYFORMULA(if(NOT(ISBLANK(B3:B)),$A$1,""))

它表示要继续关注B列,从第3行开始,如果B列中有某些内容,则从A1添加静态值。

当您在第1行中添加值时,这会动态增加垂直列表,静态值将遵循A1的值。


0
投票

您可以使用典型的连接拆分组合

=ARRAYFORMULA(SPLIT(A2&"🔺"&TRANSPOSE(B2:C2),"🔺"))

0
投票
={{A1:A2,B1:B2};{A1:A2,C1:C2};{A1:A2,D1:D2}}

在此数组中添加尽可能多的列。我假设数据有4列,列A是前导列。

snapshot of the data and the solution

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