无法在Google Apps脚本

时间:2018-01-27 04:06:52

标签: javascript google-apps-script google-sheets duplicates

我有两列数据。其中一列(在不同的工作表上)是已批准的客户(已批准的客户)列表。另一个是当前工作表中的列(currentClients)。我的目标是查看另一个工作表中的列和此工作表中的列,并显示当前工作表中的差异。

例如,如果[1,2,3,4,5,6]是当前列,而另一个工作表上的列是[1,3,5,6],我希望我的结果为[2,4],因为2和4是值它存在于当前列中,但不存在于另一个工作表的列中。

当我运行下面的代码时,我没有收到任何错误,但是当我记录unknownClients时,我得到了this。怎么了?

function myFunction() {
 var sheet = SpreadsheetApp.getActiveSheet();
 var ui = SpreadsheetApp.getUi();
 var cell;
 var range;

  switchSheets('Results');
  var currentClients = sheet.getRange('B2:' + sheet.getLastRow()); //gets the clients that are currently connected. 
  switchSheets('Approved clients');
  var approvedClients = sheet.getRange('A2:' + sheet.getLastRow()); //gets the clients that are approved to connect.
  switchSheets('Results');
  var unknownClients = new Array();

  for(i in currentClients){
    var row = currentClients[i];
    var duplicate = false;
    for(j in unknownClients){
      if(row == unknownClients[j]){
        duplicate = true;
      }
    }
    if(!duplicate){
      unknownClients.push(row);
    }
  }
  Logger.log(unknownClients);
}

1 个答案:

答案 0 :(得分:0)

这是我的错误:
- 我没有得到细胞的价值。我得到了一个工作表对象。它记录了工作表对象的所有方法 - 我试图将connectedClients列表与unknownClients列表进行比较,这是一个空数组。我将对unknownClients的两个引用更改为approvedClients 我所做的更改都是大写的。

我非常感谢这个社区的帮助。我尽力回答,我感谢你这样做。

function myFunction() {
 var sheet = SpreadsheetApp.getActiveSheet();
 var ui = SpreadsheetApp.getUi();
 var cell;
 var range;

  switchSheets('Results');
  var currentClients = sheet.getRange('B2:' + sheet.getLastRow()).getValues(); //ADDED THE GET VALUES
  switchSheets('Approved clients');
  var approvedClients = sheet.getRange('A2:' + sheet.getLastRow()).getValues(); //ADDED THE GET VALUES
  switchSheets('Results');
  var unknownClients = new Array();

  for(i in currentClients){
    var row = currentClients[i];
    var duplicate = false;
    for(j in approvedClients){ //CHANGED UNKNOWN TO APPROVED
      if(row == approvedClients[j]){ //CHANGED UNKNOWN TO APPROVED
        duplicate = true;
      }
    }
    if(!duplicate){
      unknownClients.push(row);
    }
  }
  Logger.log(unknownClients);
}