【问题标题】:Mix data of multiple columns into one column将多列数据混合为一列
【发布时间】:2019-02-24 21:58:22
【问题描述】:

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

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 表格命令来执行此操作,而不是电子表格解决方案,因为使用表格时结果值必须自动更改。

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

【问题讨论】:

    标签: google-sheets concatenation transpose array-formulas google-sheets-query


    【解决方案1】:

    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))))
    


    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))))
    


    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))))
    

    【讨论】:

    • 您的解决方案在我的大脑中创造了新的突触!这是一件了不起的事情。我认为这是一个很好的方法。
    • @oshliaer 如果您需要创建更多突触,请单击此处:webapps.stackexchange.com/a/125018/186471
    【解决方案2】:

    假设 A 在 A1 的 Row1 中并复制到适合:

    =offset(A$1,int((row()-1)/4),)&" "&offset(B$1,abs(iseven(int((row()-1)/2))-1),)&" "&offset(C$1,mod((row()-1),2),)
    

    【讨论】:

    • 输出没有空格(如果重要的话)
    【解决方案3】:

    旋转、加入、旋转、然后加入等。没有其他方法可以达到此目的。如果我有这样的任务,我会尝试将 N 个矩阵相乘 N-1 次。

    =ARRAYFORMULA(TRANSPOSE(SPLIT(
      TEXTJOIN("·",TRUE,SPLIT(
        TEXTJOIN("·",TRUE,(A2:A3&" "&TRANSPOSE(B2:B3))),
        "·")&" "&C2:C3),
      "·"
    )))
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2023-01-23
      • 1970-01-01
      • 2018-05-25
      • 2019-10-19
      • 2021-03-06
      • 2022-07-27
      • 2020-05-01
      相关资源
      最近更新 更多