繁体   English   中英

Google表格脚本-如何引用给定行的单元格?

[英]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.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM