Google apps script Google脚本从选择范围中删除重复项(不是整个工作表)
下面是一个用于从电子表格中删除重复行的GoogleSheets脚本。在删除重复行的同时,它也会在过程中销毁单元格内的公式。我目前有一系列的工作表,其中所有原始数据都包含在列Google apps script Google脚本从选择范围中删除重复项(不是整个工作表),google-apps-script,google-sheets,Google Apps Script,Google Sheets,下面是一个用于从电子表格中删除重复行的GoogleSheets脚本。在删除重复行的同时,它也会在过程中销毁单元格内的公式。我目前有一系列的工作表,其中所有原始数据都包含在列a:P中,我的所有公式都被归入列Q:T 在我尝试将以下脚本限制为仅对列A:p工作时,我在运行脚本时收到一个缺少参数的错误 var sheet = SpreadsheetApp.getActiveSheet(); var data = sheet.getDataRange("A2:P").getValues(); TL:博士,
a:P
中,我的所有公式都被归入列Q:T
在我尝试将以下脚本限制为仅对列A:p
工作时,我在运行脚本时收到一个缺少参数的错误
var sheet = SpreadsheetApp.getActiveSheet();
var data = sheet.getDataRange("A2:P").getValues();
TL:博士,我喜欢这个脚本,但我想限制它的运行范围。有什么帮助吗?多谢各位
编辑:我相信以下是一个有效的问题,但我想补充一个新的观察,可能会对正在发生的事情产生一些影响(??)。当我从工作表中启动查找和替换以删除单词“null”的所有实例时,工作表将删除null并保留其他单元格。但是,如果我运行一个脚本来删除“null”,它会重新格式化我的所有单元格,将日期和时间更改为小数。等等。是否有一种方法可以运行脚本并避免整个意外操作,如图纸范围的重新格式化?您需要使用函数指定要使用的范围
var sheet = SpreadsheetApp.getActiveSheet();
var rng = sheet.getRange("A2:P")
var data = rng.getValues();
另外,您可以使用以下行清除整个工作表sheet.clearContents()代码>改为使用此
rng.clearContents()
这样,您只能清除rng
您的最终代码应该如下所示
function removeDuplicates() {
var sheet = SpreadsheetApp.getActiveSheet();
var rng = sheet.getRange("A2:P")
var data = rng.getValues();
var newData = new Array();
for(i in data){
var row = data[i];
var duplicate = false;
for(j in newData){
if(row.join() == newData[j].join()){
duplicate = true;
}
}
if(!duplicate){
newData.push(row);
}
}
rng.clearContents();
sheet.getRange(1, 1, newData.length,
newData[0].length).setValues(newData);
}
我
function removeDuplicates() {
var sheet = SpreadsheetApp.getActiveSheet();
var rng = sheet.getRange("A2:P")
var data = rng.getValues();
var newData = new Array();
for(i in data){
var row = data[i];
var duplicate = false;
for(j in newData){
if(row.join() == newData[j].join()){
duplicate = true;
}
}
if(!duplicate){
newData.push(row);
}
}
rng.clearContents();
sheet.getRange(1, 1, newData.length,
newData[0].length).setValues(newData);
}