我有一个google工作表文档,其中包含名称和电子邮件地址列表。如果电子邮件地址在同一张表格中的另一行上重复,我正在尝试“删除重复”。该脚本工作正常,但只有在案例是一个确切的匹配。无论字母的情况如何,我都希望我的脚本能够正常工作。例如,如果“JOHN@JOHN.COM”和“john@john.com”都在工作表上,则删除重复。我目前的脚本如下:
function removeDuplicates() {
var sheet = SpreadsheetApp.getActiveSheet();
var data = sheet.getDataRange().getValues();
var newData = new Array();
var doc = DocumentApp.getActiveDocument();
for(i in data){
var row = data[i];
var duplicate = false;
for(j in newData){
if(row[9] == newData[j][9]){
duplicate = true;
}
}
if(!duplicate){
newData.push(row);
}
}
sheet.clearContents();
sheet.getRange(1, 1, newData.length, newData[0].length).setValues(newData);
}
我确信对于了解其工作原理的人来说,这是一个简单的解决方法。不幸的是那个人不是我。我在编写脚本方面经验很少,并且在很大程度上依赖于我在本网站上可以找到的内容。
答案 0 :(得分:0)
我要处理的最简单方法是将每个值转换为大写或小写并比较这些值。因此,请将您的比较从if(row[9] == newData[j][9])
改为if(row[9].toLowerCase() == newData[j][9].toLowerCase())
。