我有这个简单的代码,它获取我的范围并提供 colDK [0] 中的值,它会将内容复制到我的目标表上。
function send_purchase_invoices() {
var ss = SpreadsheetApp.getActive();
var srcSheet = ss.getSheetByName("MAIN");
var dstSheet = ss.getSheetByName("purchase_invoices");
var data_range = srcSheet.getRange('DK4:DR18');
var data_data = data_range.getValues();
var data_clean = data_data.filter(function (r) {return r[0]});
var lr = dstSheet.getLastRow();
dstSheet.getRange(lr+1, 1,data_clean.length,8).setValues(data_clean);
}
我只是想更改它,因此如果 colDK 中没有值,它只会复制数据。
我认为这里的这一行需要更改,但我不知道如何更改。
var data_clean = data_data.filter(function (r) {return r[0]});
如有任何建设性建议,我们将不胜感激。
完整代码:
function send_purchase_invoices() {
var ss = SpreadsheetApp.getActive();
var srcSheet = ss.getSheetByName("MAIN");
var dstSheet = ss.getSheetByName("purchase_invoices");
var data_range = srcSheet.getRange('DK4:DR18');
var data_data = data_range.getValues();
var data_clean = data_data.filter(function (r) {return !r[0]});
var lr = dstSheet.getLastRow();
dstSheet.getRange(lr + 1, 1, data_clean.length, 8).setValues(data_clean);
}
您只需将 not
!
放入函数的值中,这样它就会过滤掉没有任何值的 DK
的值。
var data_clean = data_data.filter(function (r) {return !r[0]});
示例输出:
注意: 我在此示例输出中使用的范围仅用于测试目的,以演示代码的工作原理。
参考:逻辑非(!)