簡體   English   中英

按日期過濾數組並將匹配的數據集傳遞給要寫入谷歌工作表的新數組

[英]filtering an array by date and pass matching data set to a new array to be written into a google sheet

嗨,我目前正在嘗試使用 ArrayLib 比較數據數組,但它無法匹配我的任何日期,因此傳遞所有數據集,而不僅僅是日期范圍之間的數據集。 如果有更好的方法來實現這一點,我對此持開放態度[我目前正在使用的代碼副本][1]:https://i.stack.imgur.com/Uj7Wo.png

編輯:根據要求,我使用的示例數據表的 Google 表格: https : //docs.google.com/spreadsheets/d/1whrB9O84i85grz6Av3EY-hnGGNvVG6ji_v5w7X_rMG0/edit?usp=sharing

您可以嘗試使用下面的示例腳本,而不是使用單獨的庫來按日期過濾多維數組:

示例腳本

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 日的數據得出的樣本結果

在此處輸入圖片說明

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM