如果ID重复,如何将行合并在一起(Google电子表格)

时间:2018-12-28 17:29:19

标签: google-sheets google-sheets-formula

我有这样的东西:

id  
3  200  31234
4  500  11111
3  google.com  a-site-about-google

我想发生的是,如果ID相同,则将重复项移到另一列。

id
3 200 31234 google.com a-site-about-google
4 500 11111

是否可以做类似的事情?

1 个答案:

答案 0 :(得分:1)

现在,我建议使用一个自定义公式,但可以将其转换为常规脚本功能。

enter image description here

代码如下:

function CONCAT_BYID(arrSource) { 
  var arrTarget = [],
      arrIndex = [],
      numColumns = arrSource[0].length;
  for (var i in arrSource) {
    var index = arrIndex.indexOf(arrSource[i][0]);
    var id = arrSource[i][0];
    if (index == -1) {
      arrIndex.push(id);
      arrTarget.push(arrSource[i]);
    } else {
      arrSource[i].shift();
      arrTarget[index] = arrTarget[index].concat(arrSource[i]);
      if (arrTarget[index].length > numColumns) numColumns = arrTarget[index].length;
    }
  }
  for (i in arrTarget) {
    while (arrTarget[i].length < numColumns) arrTarget[i].push('');
  }
  return arrTarget;
}