Google apps script Google function RemovedUpplicates仅适用于精确的大小写匹配
我有一个GoogleSheets文档,其中包含姓名和电子邮件地址列表。如果电子邮件地址在同一工作表中的另一行重复,我将尝试“删除副本”。脚本工作正常,但仅当案例完全匹配时。我希望我的脚本工作,无论字母的情况。例如,如果“JOHN@JOHN.COM“和”john@john.com“都在纸上。我当前的脚本如下:Google apps script Google function RemovedUpplicates仅适用于精确的大小写匹配,google-apps-script,google-sheets,Google Apps Script,Google Sheets,我有一个GoogleSheets文档,其中包含姓名和电子邮件地址列表。如果电子邮件地址在同一工作表中的另一行重复,我将尝试“删除副本”。脚本工作正常,但仅当案例完全匹配时。我希望我的脚本工作,无论字母的情况。例如,如果“JOHN@JOHN.COM“和”john@john.com“都在纸上。我当前的脚本如下: function removeDuplicates() { var sheet = SpreadsheetApp.getActiveSheet(); var data = s
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);
}
我相信这是一个很容易修复的人谁知道如何工作。不幸的是,那个人不是我。我很少有写脚本的经验,并且非常依赖我在这个网站上能找到的东西 处理这个问题的最简单方法是将每个值转换为大写或小写,然后比较这些值。因此,请将比较从:
if(第[9]行==newData[j][9])
更改为if(第[9]行)。toLowerCase()==newData[j][9]。toLowerCase())
谢谢,但我一定是做错了什么,因为这对我不起作用。我加载了一些样本数据并处理了这个案例,但没有成功。还有其他想法吗?如果某些值中有多余的空格,可以尝试使用trim()。