查找两个Google电子表格

时间:2018-04-10 16:54:46

标签: google-apps-script google-sheets google-sheets-api

我正在尝试创建一个脚本,该脚本将在另一个电子表格的单元格中找到重复项并添加" Invoiced"进入' J'重复的,但我甚至努力开始,因为我不太了解剧本。

要打破它Spreadsheet1包含等待多个标签发票的所有未结订单的票证,其中大多数将更改名称,可以定期添加或删除更多,两个是常量(命名为"各种" &" Service")并且不需要搜索一个(" Rad Search")

Spreadsheet2包含A列中的所有发票票号。

我需要知道列A Spreadsheet2是否出现在Spreadsheet1中任何选项卡上的任何选项卡上,不包括" Rad Search"选项卡,并添加" Invoiced"进入J栏。

如果有人对如何开始有任何建议,我将不胜感激,因为我很积极,我可以调整它以使其发挥作用。

更新......

我一直在玩一个代码,但是我无法让它工作,因为我并不真正理解脚本,我已经在不同的插座中复制了不同答案的不同元素,但如果我采用过滤器它将无法工作脚本将它放置" Invoiced"空白单元格旁边

这不是最终的代码,因为我需要它来循环除了一个以外的所有工作表,我不能使用id,因为将删除工作表,并添加和修改所以我会不断更新剧本。

    function LabelInvoiced() { 
  var s1 = SpreadsheetApp.openById("1pxWr3jOYZbcwlFR7igpSWa9BKCa2tTeliE8FwFCRTcQ").getSheetByName('cm');
  var formattedDate = Utilities.formatDate(new Date(), "GMT", "d/MM/yy");
  var s2 = SpreadsheetApp.openById("18jLxZlge_UFkdTjlO6opuDk1VKeezhEPLe9B7n1OfQs").getSheetByName(formattedDate); 
  var values = s1.getRange(4, 5, s1.getLastRow(), 1).getValues();
  var values1 = values.filter(String);
  var values2 = s2.getRange(3, 1, s2.getLastRow(), 1).getValues();
     var resultArray = [];
  for(var n in values1){
    var invoiced = false
    for(var p in values2){
      if( values1[n][0] == values2[p][0] && values1[n][1] == values2[p][1]){
        invoiced= true ; break ;
      }
    }
    if(invoiced){ resultArray.push(values1[n])}; 
    for(var i=0; i<resultArray.length; i++) {
  var data = s1.getDataRange().getValues();
   for(var m=0; m<data.length; m++) 
    if(data[m][5] == resultArray) {
   s1.getRange(m+1, 10).setValue("Invoiced");

}//end of  sheets loop.
}// end of function...
}
}

0 个答案:

没有答案