从Google表格标签更新数据,并将查询的数据恢复为原始标签

时间:2017-07-27 17:49:28

标签: javascript google-apps-script

我正在制作一个Google应用脚本,以便在开始更大的项目之前练习理解使用Google表格中的数组。

表格中有两个标签。第一个包含一系列数据,如帐户注册,第二个包含已过滤的交易数据,构成第一张需要支付的工作表。我用这个脚本的目标是阅读哪些交易有"付费"在一列中标记并返回到原始工作表并将其标记为已付款。两个数组的第一列都是唯一的id。

我认为我的问题是我如何从for循环中声明变量。

我非常感谢任何关于我做错事的方向。

function updatePaid() {
  var ss = SpreadsheetApp.getActiveSpreadsheet();
  var paid = ss.getSheets()[2];// sheet containing filtered data
  var lPaid = paid.getLastRow();
  var pData = paid.getRange(1,6,lPaid,6);// range containg values of filtered data
  var data = ss.getSheets()[1];// sheet containing entire register of data
  var lData = data.getLastRow();
  var dData = data.getRange(1,1,lData,10);//range containg original data
  var x=0;
  var id=0;
  // for loop to identify filtered data marked "Paid"
  for(i=0;i<pData.length;++i){
    if(pData[i][5]='Paid'){
      id = pData[i][1];
      // for loop to find matching transaction on original data
      for(a=0;a<dData.length;++a){
        if(dData[a][0]=id){
          x = i;
        }
      // two different attemps to mark transaction in orignial data as "Paid"
      data.getRange(x,10).setValue('Paid');
      ss.getSheets()[1].getRange(x,10).setValue('Paid');
      }
    }
  }
}

0 个答案:

没有答案