
[英]How to refer to a specific row in Google Sheets Scripts using a variable?
[英]Google sheets scripts--how to refer to a cell given a row?
我是google脚本/ Java脚本的新手,我猜测的是我引用特定单元格的方式时遇到问题。 我要离开的是我在google上找到的代码( https://developers.google.com/apps-script/articles/removing_duplicates ),除了我不想删除重复的行(这是他们的脚本所做的)为第一个单元格橙色的背景上色。 目前它无法正常工作,相反,有些重复的单元格已上色,有些则未着色,有些非重复的单元格已上色,有些则没有。 我的猜测是,由于数组的索引为0,而工作表的索引为1,因此我需要执行sheet.getRange(i + 1,1),但这给了我一个错误。 谁能帮助我朝正确的方向发展?
function checkDuplicates() {
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]){
duplicate = true;
Logger.log(i,j)
var dup = sheet.getRange(i,1);
dup.setBackground('orange')
}
}
if(!duplicate){
newData.push(row);
}
}
}
我尝试了一下,发现以这种方式对我来说更好。
function checkDuplicates()
{
var sheet = SpreadsheetApp.getActiveSheet();
var data = sheet.getDataRange().getValues();
var newData = new Array();
for(var i=0;i<data.length;i++){//changed loop
var row = data[i];
var duplicate = false;
for(var j=0;j<newData.length;j++){//changed loop
if(row[0] == newData[j][0]){
duplicate = true;
Logger.log('%s,%s',String(i),String(j));//got and error saying that it required string parameters
var dup = sheet.getRange(i+1,1);//changed to i+1
dup.setBackground('orange')
}
}
if(!duplicate){
newData.push(row);
}
}
}
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.