我正在制作一个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');
}
}
}
}