有人可以帮忙吗,因为我是 Google Scripts 的新手。
我有这个简单的代码可以将值从一张纸复制到另一张纸
function copyrevision() {
var ss = SpreadsheetApp.getActiveSpreadsheet ();
var destSheet = ss.getSheetByName("Fallas Tecnicas");
//DATE
var source = ss.getRange ("D4");
var destRange = destSheet.getRange(destSheet.getLastRow()+1,1);
source.copyTo (destRange, {contentsOnly: true});
//REPORT NUMBER
var source2 = ss.getRange ("C4");
var destRange = destSheet.getRange(destSheet.getLastRow(),2);
source2.copyTo (destRange, {contentsOnly: true});
//OBSERVACION
var source6 = ss.getRange ("E49");
var destRange = destSheet.getRange(destSheet.getLastRow(),6);
source6.copyTo (destRange, {contentsOnly: true});
}
仅当目标工作表的第 2 列中不存在报告编号值时,我才需要执行此操作。
如何做呢?
我通常使用两个不同的函数将 Google Sheet 列与单个值进行比较。
function isInArray(value, array) {
return array.indexOf(value) > -1;
}
读入该列,该列将显示为二维数组,因此我将其展平以更容易与单个值进行比较。
function flatten(arrayOfArrays){
return [].concat.apply([], arrayOfArrays);
}
首先读入该列中的报告编号
var reportNumbers = ss.getRange("C:C").getValues();
然后我读入我与扁平数组进行比较的值。
var valueToCompare = ss.getRange("C4").getValue();
if (isInArray(valueToCompare, flatten(reportNumbers)) == true){
// value is in array
};
如果值在数组中,我比较这两个元素,然后我得到真,如果不是,则为假。
这些函数的来源https://gist.github.com/MauricioMoraes/225afcc9dd72acf1511f
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句