根据 A 列中的值旋转 B 列、C 列等值
Rotate column B, C, etc values based on values in column A
我知道 Python pandas 您可以 melt
旋转单元格值。
这里我想根据A列旋转B列和C列的值:
期望的结果:
当我更改 Google sheet 中的其他值时,我需要它即时更新,否则,我会将其导出到 pandas 数据框并从那里融化.
如何在 Google 工作表中 "melt" 使此轮播动态更新?如果没有内置函数,我将如何在 Google Sheets javascript 中执行此操作?
注意:Transpose
(=TRANSPOSE(A2:C2)
) 看起来很有希望,但它不会旋转 table,它只会将 B 和 C 中的单元格值移动到 A 下方:
screenshot of example
第 1 行在 A、B、C 等列中包含 "hello world" "stringA" "stringB" 等
我从第 3 行开始输出。(输出到 A、B 列,从第 3 行开始。)
您可以在第二列中使用转置,例如像这样将你的转置放在 B3 中:
=TRANSPOSE(B1:1)
然后可以在 A3 中实现 A 列的静态值:
=ARRAYFORMULA(if(NOT(ISBLANK(B3:B)),$A,""))
表示要关注 B 列,从第 3 行开始,如果 B 列中有内容,则添加 A1 中的静态值。
这会在您在第 1 行中添加值时动态增加垂直列表,并且静态值遵循 A1 的值。
您可以使用典型的连接拆分组合
=ARRAYFORMULA(SPLIT(A2&""&TRANSPOSE(B2:C2),""))
=ARRAYFORMULA(TRIM(SPLIT(TRANSPOSE(SPLIT(QUERY(TRANSPOSE(QUERY(TRANSPOSE(
IF(B1:C<>"", "♠"&A1:A&"♦"&B1:C, )), , 999^99)), , 999^99), "♠")), "♦")))
={{A1:A2,B1:B2};{A1:A2,C1:C2};{A1:A2,D1:D2}}
在此数组中添加尽可能多的列。我假设数据有 4 列,A 列是前导列。
snapshot of the data and the solution
我知道 Python pandas 您可以 melt
旋转单元格值。
这里我想根据A列旋转B列和C列的值:
期望的结果:
当我更改 Google sheet 中的其他值时,我需要它即时更新,否则,我会将其导出到 pandas 数据框并从那里融化.
如何在 Google 工作表中 "melt" 使此轮播动态更新?如果没有内置函数,我将如何在 Google Sheets javascript 中执行此操作?
注意:Transpose
(=TRANSPOSE(A2:C2)
) 看起来很有希望,但它不会旋转 table,它只会将 B 和 C 中的单元格值移动到 A 下方:
screenshot of example
第 1 行在 A、B、C 等列中包含 "hello world" "stringA" "stringB" 等
我从第 3 行开始输出。(输出到 A、B 列,从第 3 行开始。)
您可以在第二列中使用转置,例如像这样将你的转置放在 B3 中:
=TRANSPOSE(B1:1)
然后可以在 A3 中实现 A 列的静态值:
=ARRAYFORMULA(if(NOT(ISBLANK(B3:B)),$A,""))
表示要关注 B 列,从第 3 行开始,如果 B 列中有内容,则添加 A1 中的静态值。
这会在您在第 1 行中添加值时动态增加垂直列表,并且静态值遵循 A1 的值。
您可以使用典型的连接拆分组合
=ARRAYFORMULA(SPLIT(A2&""&TRANSPOSE(B2:C2),""))
=ARRAYFORMULA(TRIM(SPLIT(TRANSPOSE(SPLIT(QUERY(TRANSPOSE(QUERY(TRANSPOSE(
IF(B1:C<>"", "♠"&A1:A&"♦"&B1:C, )), , 999^99)), , 999^99), "♠")), "♦")))
={{A1:A2,B1:B2};{A1:A2,C1:C2};{A1:A2,D1:D2}}
在此数组中添加尽可能多的列。我假设数据有 4 列,A 列是前导列。
snapshot of the data and the solution