我在Google工作表中有很多行,有些行是相同的。参见图片:https : //tof.cx/images/2018/04/15/4cc45aff5aa8f357527731e0bae3a1bc.png
我试图清除重复的行,使其类似于下一个屏幕。参见图片:https : //tof.cx/images/2018/04/15/8a16f3bb8dfcc758b649074574fafbfa.png
我在脚本编辑器中使用了此代码,但是运行脚本时没有任何反应。
有没有人可以帮助我找到好方法。
function removeDuplicates() {
var sheet = SpreadsheetApp.getActiveSheet();
var data = sheet.getDataRange().getValues();
var newData = new Array();
for(i in data){
var row = data[i];
var duplicate = false;
for(j in newData){
if(row[0] == newData[j][0] && row[1] == newData[j][1] && row[2] == newData[j][2] && row[3] == newData[j][3] && row[4] == newData[j][4]){
duplicate = true;
}
}
if(!duplicate){
newData.push(row);
}
}
sheet.clearContents();
sheet.getRange(1, 1, newData.length, newData[0].length).setValues(newData);
}
谢谢
这些修改如何?
getDisplayValues()
代替getValues()
。
duplicate
将值添加到row
。
function removeDuplicates() {
var sheet = SpreadsheetApp.getActiveSheet();
var data = sheet.getDataRange().getDisplayValues(); // Modified
var newData = new Array();
data.forEach(function(_, i){ // Modified
var row = data[i];
var duplicate = false;
for(j in newData){
if(row[0] == newData[j][0] && row[1] == newData[j][1] && row[2] == newData[j][2] && row[3] == newData[j][3] && row[4] == newData[j][4]){
duplicate = true;
}
}
if(!duplicate){
newData.push(row);
} else {
newData.push(["", "", "", "", "", row[5], row[6]]); // Added
}
});
sheet.clearContents();
sheet.getRange(1, 1, newData.length, newData[0].length).setValues(newData);
}
如果这不是您想要的,对不起。
本文收集自互联网,转载请注明来源。
如有侵权,请联系 [email protected] 删除。
我来说两句