[英]Working with Dates within cells in Google App Scripts
我有一个数组,我想仅使用特定时间段(数组中的第 4 列)之后的日期进行过滤。 startDate 变量是我想用来过滤数组的单元格中的日期。 我还想过滤掉第 4 列中的空白单元格。 我尝试了一些不同的东西,但该函数返回整个数组,只过滤空白列。 这是我尝试过的最新代码。
function invPayable(){
var overview = SpreadsheetApp.getActiveSpreadsheet().getSheetByName("Overview");
var paymentLog = SpreadsheetApp.openById("1KkR4jE1c00WuQpPrexW8f9BIq5vxl0fWaUGxbeYERsE").getSheetByName("Payment Log");
var paymentArr = paymentLog.getRange(3, 1,paymentLog.getLastRow(),paymentLog.getLastColumn()).getValues();
var startDate = new Date(overview.getRange(3, 1).getValue());
var pay1 = paymentArr.map(function(r){return [r[0],r[1],r[2],r[3]]})
.filter(function(item){
if(item[3]!=""){return true}
if(item[3]>=startDate){return true}
else{return false}
});
//execute
overview.getRange(2, 18,pay1.length,4).setValues(pay1);
overview.getRange(6,1).setValue(startDate);
}//Added by editor
if(item[3]!=""){return true}
if(item[3]>=startDate){return true}
一旦满足第一个if
条件(即第 4 列不为空),函数结束并返回true
。 从不检查第二个if
条件。 所以,
该函数返回整个数组,只过滤空列。
在结束函数之前检查这两个条件。
if(item[3]!="" && item[3]>=startDate ){return true}
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.