Google apps script 取决于(Id)。如何将此数据库(Ppt)放入(MP04/MP 05)
描述:我有一张带有Id、贷项和借项列表的Ppto表。如果Id相等,我想将这些事务转移到MP05。如果ID不相等,则移动到MP04。标准:如果Id=使用MP05。如果Id≠ 使用MP04。 我是谷歌脚本的新手,我需要一些支持 谢谢你的关注Google apps script 取决于(Id)。如何将此数据库(Ppt)放入(MP04/MP 05),google-apps-script,google-sheets,Google Apps Script,Google Sheets,描述:我有一张带有Id、贷项和借项列表的Ppto表。如果Id相等,我想将这些事务转移到MP05。如果ID不相等,则移动到MP04。标准:如果Id=使用MP05。如果Id≠ 使用MP04。 我是谷歌脚本的新手,我需要一些支持 谢谢你的关注 function mp() { var ss = SpreadsheetApp.getActiveSpreadsheet(); var ppto = ss.getSheetByName('Ppto.'); var Id = ppto.getRange('
function mp() {
var ss = SpreadsheetApp.getActiveSpreadsheet();
var ppto = ss.getSheetByName('Ppto.');
var Id = ppto.getRange('B5:B12').getValues();
var cedent = ppto.getRange('D5:D12').getValues();
var recept = ppto.getRange('E5:E12').getValues();
for (var i = 0; i < cedent.length; i++) {
for (var j = 0; j < recept.length; j++) {
if (cedent[i] != '' ) {
if (recept[j] != '' ) {
//if (Id === Id) // MP-05
//if (Id != Id) // MP-04
{
ppto.getRange('H5:H12').setValues(cedent);
ppto.getRange('I5:I12').setValues(recept);
Logger.log(cedent[i]);
ppto.getRange('j5:j12').setValues(cedent);
ppto.getRange('k5:k12').setValues(recept);
}
}
}
}
}
}
函数mp(){
var ss=SpreadsheetApp.getActiveSpreadsheet();
var ppto=ss.getSheetByName('ppto');
var Id=ppto.getRange('B5:B12').getValues();
var cedent=ppto.getRange('D5:D12').getValues();
var recept=ppto.getRange('E5:E12').getValues();
对于(变量i=0;i
策略:
- 先进先出:先进先出
- 使用
forEach
- 如果存在信用,则使用
再次循环所有行以查找收据some
- 如果第一个循环中的贷方
等于第二个循环中的收据e[2]
,请检查idf[3]
[0]
- 如果ID相等,则在末端拼接两个空列,否则在第二个位置拼接以创建统一的6列阵列
- 将该数组设置回图纸
getRange(i,).copyTo()而不是splice
。但是,我不会为你做的。阅读上面的示例脚本,阅读上面的参考资料,完成教程链接中的所有练习,阅读工作表文档,然后尝试几天。起初你会失败,但如果你不放弃,你会成功的。。但是你必须付出更多的努力。试啊试啊。干杯。在其中,您必须将Id、转让人和接收人分别放入其中。非常好,再次感谢@TheMaster对您的支持。为你和你的健康。
function transactionSegregator() {
var ss = SpreadsheetApp.getActiveSpreadsheet();
var ppto = ss.getSheetByName('Ppto.');
var data = ppto.getRange('B5:E12').getValues();
data.forEach(function(e) {
//e: Each row
if (e[2] && e.length == 4) {
//e[2]:credits; If this row is not spliced
data.some(function(f) {
//f:Each row; Second loop
if (e[2] == f[3]) {
//if credits = debit
if (e[0] == f[0]) {
//if id = id, splice two empty columns after Col4, else after Col2
e.splice(4, 0, '', '');
f.splice(4, 0, '', '');
} else {
e.splice(2, 0, '', '');
f.splice(2, 0, '', '');
}
return true;
}
});
}
});
Logger.log(data);
ppto.getRange(5, 6, data.length, data[0].length).setValues(data);// F5
}