Google Apps脚本-基于复制范围的循环匹配

时间:2018-10-09 12:43:41

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

https://docs.google.com/spreadsheets/d/1wAxZROq-HqGSZIeBnOShiLP1x-maCpVhvfr6MKixVZE/edit#gid=1767460404

我正在尝试获取数据表中数据范围内的数据,然后遍历该数据,将C列中的行值与也位于C列的另一张(跟踪器)工作表中的行值匹配,并且对于匹配的数据,请将数据表中的整行复制到数据表的底部。

所有这些都应该在我在状态跟踪器的设置字段中输入“打开”时触发。

到目前为止,我(希望)所做的是在数据表中找到要匹配的值,但是现在我不确定如何正确使用.copyto函数,以便将数据复制到循环末尾。到目前为止,我的代码:(没有.copy。

function grabmyRequestID(){  
var ss = SpreadsheetApp.getActiveSpreadsheet();
var sheet = SpreadsheetApp.getActiveSheet();
var range = sheet.getActiveCell();
var ss2 = ss.getSheetByName("Status Tracker")

   var searchforrange  = ss2.getRange("C:C")
   var searchfor = searchforrange.getValues()
   Logger.log("Request ID: " +searchfor)
   return searchfor


   }
function findDuplicates(){
  var ss = SpreadsheetApp.getActiveSpreadsheet();
  var sheet = SpreadsheetApp.getActiveSheet();
  var range = sheet.getActiveCell();
  var ss2 = ss.getSheetByName("Status Tracker")
  var ss3= ss.getSheetByName("All Output")

      var sheetNametoWatch = "Status Tracker"
      var columntoWatch = 4
      var valuetoWatch = "Open"
      var searchfor = grabmyRequestID()

          if (sheet.getName() == sheetNametoWatch && range.getColumn() 
               == columntoWatch && range.getValue() == valuetoWatch){

              var data = ss3.getRange("C:C").getValues()


          for (i=0; i<data.length; i++){
              if (data[i] == searchfor && searchfor !=""){
              Logger.log('found it')
              }
             }
          } 
        }

如您所见,我正在运行两个函数,grabmyRequestID,它从跟踪表中获取ID,并找到findduplicates,将其与数据表中的ID相匹配。

我现在只希望它复制找到匹配列的整个行,并将该行复制到数据表的末尾。我尝试了几种方法,但实际上从未得到任何输出。我对此很陌生,所以希望有人能帮助我。

我也不确定我的触发器是否适用于此循环。

任何帮助将不胜感激。

0 个答案:

没有答案