我有这样的东西:
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
是否可以做类似的事情?
答案 0 :(得分:1)
现在,我建议使用一个自定义公式,但可以将其转换为常规脚本功能。
代码如下:
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;
}