【问题标题】:How can I concatenate a range of cells according to adjacent value?如何根据相邻值连接一系列单元格?
【发布时间】:2017-09-19 14:48:29
【问题描述】:

在下表中,我想根据A列中的字符串连接B列的数字:

例如,与XX 相邻的所有数字都将被复制到另一个单元格中,格式如下:12, 12, 21, 23, 31, 32

我可以使用以下方法手动连接整个 B 列:

=ArrayFormula(concatenate(B2:D&", "))

但我需要根据 A 列拆分这些值。

我可以在 Google 表格、Excel 或 Numbers 中处理这些数据。

【问题讨论】:

    标签: excel excel-formula google-sheets array-formulas apple-numbers


    【解决方案1】:

    试试这个:

     =ARRAYFORMULA({UNIQUE(A1:A5), TRIM(TRANSPOSE(QUERY(IF(transpose(UNIQUE(A1:A5))=A1:A5,B1:B5&",",""),,500000)))})
    

    我希望你的行不超过 500000 并且你没有空格。

    【讨论】:

      【解决方案2】:

      在 Excel 中:

      =TEXTJOIN(", ",TRUE,IF(A1:A9 = "XX",B1:B9,""))
      

      作为数组公式,使用 Ctrl-Shift-Enter 代替 Enter。

      在 Google 表格中:

      =JOIN(", ",FILTER(B1:B9,A1:A9="XX"))
      

      【讨论】:

      • 谢谢 - 这适用于示例中的范围。我的表有数千行,我希望能够在不手动指定字符串的情况下达到相同的效果(例如XX)。这可能吗?
      • 是的,只需将 "XX" 替换为包含所需条件的单元格引用即可。
      • 再次感谢 - 所以我想连接 B:B,然后将数组拆分为在 A:A 中定义的组。我尝试了=JOIN(", ",FILTER(B:B,A:A=A:A)),但它只是连接了B 列中的所有值。我想要一系列数组,而不是一个长数组。
      • 复制并粘贴 A 列,然后删除重复项。然后用公式引用每个单元格。
      • 抱歉,这是我现在拥有的 - imgur.com/a/egutm - 你的意思是不同的吗?
      猜你喜欢
      • 2020-02-19
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2014-06-11
      • 1970-01-01
      • 1970-01-01
      • 2016-07-24
      相关资源
      最近更新 更多