-1

嗨,我目前正在尝试使用 ArrayLib 比较数据数组,但它无法匹配我的任何日期,因此传递了所有数据集,而不仅仅是日期范围之间的数据集。如果有更好的方法来实现这一点,我对它持开放态度[我目前正在使用的代码副本][1]:https://i.stack.imgur.com/Uj7Wo.png

编辑:根据要求使用示例数据表的谷歌表,我使用:https ://docs.google.com/spreadsheets/d/1whrB9O84i85grz6Av3EY-hnGGNvVG6ji_v5w7X_rMG0/edit?usp=sharing

4

1 回答 1

0

您可以尝试以下示例脚本,而不是使用单独的库按日期过滤多维数组:

示例脚本

function main() {
  var ssLc = SpreadsheetApp.getActive().getActiveSheet();
  var rangeLc = ssLc.getRange('A1:R15');
  var Lc = rangeLc.getValues();

  var startDate =  new Date('January 04, 2021 08:00:00'); //Used GMT time on my testing
  var endDate =  new Date('June 03, 2021 08:00:00'); //Used GMT time on my testing

  var sampleResult = filterByDate(Lc, startDate, endDate);

  for(x=0; x<sampleResult.length;x++){ //Sample loop to log the each filtered array data
    Logger.log(sampleResult[x]);
  }
}

function filterByDate(arrayData, startDate, endDate){
  var newArrayResult = [];
  for(index = 0; index < arrayData.length; index++){
    if(arrayData[index][0].getTime() >= startDate.getTime() && arrayData[index][0].getTime() <= endDate.getTime()){
      newArrayResult.push(arrayData[index]);
  }
 }
 return newArrayResult;
}

样本结果:

使用了您的示例电子表格数据:

在此处输入图像描述

过滤2021年1月4日至2021年6月3日数据的样本结果

在此处输入图像描述

于 2021-07-13T19:09:56.253 回答