Как объединить строки, если дублировать идентификатор (электронная таблица Google) - PullRequest
0 голосов
/ 28 декабря 2018

У меня есть что-то вроде этого:

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

Я хочу, чтобы, если идентификаторы были одинаковыми, перенесите дубликат в другой столбец.

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

Возможно ли сделать что-то подобное?

1 Ответ

0 голосов
/ 28 декабря 2018

Теперь я предлагаю собственную формулу, но ее можно преобразовать в общую функцию скрипта.

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;
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...