我想将三列的内容合并为一列,如下例所示:

Col1  Col2  Col3
A     1     x
B     2     Y

所以结果是一列有 8 行,如下所示:
Result
A 1 X
A 1 Y
A 2 X
A 2 Y
B 1 X
B 1 Y
B 2 X
B 2 Y

我需要一个 Google Sheets 命令来执行此操作,而不是电子表格解决方案,因为在使用工作表时结果值必须自动更改。

我已经尝试过 COMBINEJOIN ,但都没有成功。
或者,如果您向我展示如何仅组合三列中的两列,那么我可以在第二步中组合第三列。

最佳答案

2列:

=ARRAYFORMULA(TRANSPOSE(SPLIT(REPT(CONCATENATE(A1:A&CHAR(9)), COUNTA(B1:B)), CHAR(9)))
 &" "&TRANSPOSE(SPLIT(CONCATENATE(REPT(B1:B&CHAR(9), COUNTA(A1:A))), CHAR(9))))
google-sheets - 将多列数据混合为一列-LMLPHP

3 列:
=ARRAYFORMULA(
 TRANSPOSE(SPLIT(REPT(CONCATENATE(
 TRANSPOSE(SPLIT(REPT(CONCATENATE(A1:A&CHAR(9)), COUNTA(B1:B)), CHAR(9)))&" "&
 TRANSPOSE(SPLIT(CONCATENATE(REPT(B1:B&CHAR(9), COUNTA(A1:A))), CHAR(9)))&CHAR(9)),
 COUNTA(C1:C)),CHAR(9)))&" "&
 TRANSPOSE(SPLIT(CONCATENATE(REPT(C1:C&CHAR(9), COUNTA(
 TRANSPOSE(SPLIT(REPT(CONCATENATE(A1:A&CHAR(9)), COUNTA(B1:B)), CHAR(9)))&" "&
 TRANSPOSE(SPLIT(CONCATENATE(REPT(B1:B&CHAR(9), COUNTA(A1:A))), CHAR(9)))))), CHAR(9))))
google-sheets - 将多列数据混合为一列-LMLPHP

3列分两步:
=ARRAYFORMULA(TRANSPOSE(SPLIT(REPT(CONCATENATE(D1:D&CHAR(9)), COUNTA(C1:C)), CHAR(9)))
 &" "&TRANSPOSE(SPLIT(CONCATENATE(REPT(C1:C&CHAR(9), COUNTA(D1:D))), CHAR(9))))
google-sheets - 将多列数据混合为一列-LMLPHP

关于google-sheets - 将多列数据混合为一列,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/54856963/

10-14 14:22