将某些行连接到一个单元格中,忽略重复项

时间:2016-01-31 04:49:29

标签: google-sheets concatenation google-form

我有一个谷歌表单,我想在Google表格的单独表格中对其进行排序。表格的结果看起来像这样。

Id    Job
1     Shelving, Sorting
2     Sorting
1     Cleaning, Shelving
3     Customer Service
2     Shelving, Sorting

我想格式化成

Id    Jobs
1     Cleaning, Shelving, Sorting
2     Shelving, Sorting
3     Customer Service

我是否可以使用一个公式来完成此任务,并指出它会忽略重复并将不同的ID组合在一起?订购工作并不重要。

2 个答案:

答案 0 :(得分:2)

Working example here

代码如下:

=unique(transpose(split(join(", ",filter(B1:B10,A1:A10=1)),", ")))

,其中

  • filter(B1:B10,A1:A10=1)为您提供A = 1
  • 的所有B值
  • join(",", filter(...))使用“,”分隔符加入列表(例如“apple,orange”和“kiwi”变为“apple,orange,kiwi”
  • split(join(...)) splits将列表放入数组(例如返回[apple,orange,kiwi]
  • transpose(split(...)) converts水平列表到垂直列表
  • unique(transpose(...))为您提供unique值(unique()仅适用于垂直列表)

在此之后,您需要transpose然后join列表

请注意,您必须保持分隔符一致(例如,始终为“,”或“,”)

答案 1 :(得分:1)

这是Apps脚本代码而不是功能。要使用它,您需要使用“工具”菜单,然后打开脚本编辑器。然后从下拉列表中选择功能名称,然后单击"运行"按钮。

要使用此代码,您需要拥有源表和目标表。您需要将代码中的工作表名称更改为工作表名称。在此代码中,源表名为'数据'。您需要将其更改为源表的名称。在此代码中,目标工作表名为'输出',位于代码的底部。此代码从第二行开始获取数据,并从第二行开始写入输出数据。我用你的价值观测试它并且它有效。

Series