【问题标题】:List unique values in 1 column and concatenate corresponding values in other column列出 1 列中的唯一值并连接其他列中的相应值
【发布时间】:2019-10-15 19:47:21
【问题描述】:

C 列应包含 A 列的唯一值,D 列应结合 B 列中的相应值,如所附示例所示。

最好使用带有QUERYARRAYFORMULA 的公式(因此不必向下拖动公式),因为此列表是自动生成的并且可能很长(超过 10000 行)

我已经创建了一个谷歌脚本来执行此操作,但由于性能原因希望能够使用公式来执行此操作。

【问题讨论】:

    标签: regex google-sheets google-sheets-formula array-formulas google-sheets-query


    【解决方案1】:

    试试这样:

    =ARRAYFORMULA({SORT(UNIQUE(FILTER(A:A, A:A<>""))),
     REGEXREPLACE(SUBSTITUTE(TRIM(TRANSPOSE(QUERY(QUERY(QUERY(
     IF(A:A<>"", {A:A, B:B&","}, ), 
     "select max(Col2) where Col1 !='' group by Col2 pivot Col1"), 
     "offset 1", 0),,999^99))), ", ", ","), ",$", )})
    

    【讨论】:

      【解决方案2】:

      在 C1 中,试试这个公式:

      =arrayformula(regexreplace({unique(A1:A), trim(transpose(query(if((transpose(unique(A1:A))=A1:A)*len(A1:A),B1:B&",",),,50000)))},",$", ))
      

      【讨论】:

      • 谢谢您,它适用于简短的示例,但是当我将此公式应用于长列表时,我收到此错误“函数 ARRAY_ROW 参数 2 的行大小不匹配。预期:5704。实际:1。我确保 A 列和 B 列的长度相同,但这并不能解决问题。
      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2020-11-15
      • 2015-05-30
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2023-04-10
      相关资源
      最近更新 更多