繁体   English   中英

Apps 脚本:我无法正确筛选列中的日期

[英]Apps script : I can't get correct filter of dates in columns

我无法正确筛选列中的日期。

我的过滤条件 (AND) 返回指定年份以外的月份:

function filterColumnDates() {
  var ss = SpreadsheetApp.getActive();
  var sheet = ss.getSheetByName("Filter Dates");

  let monthFilter = sheet.getRange("A4").getValue();
  let yearFilter = sheet.getRange("B4").getValue();  
  Logger.log("monthFilter : "   + monthFilter + " - yearFilter : " + yearFilter)
  
  currentMonth = yearFilter +" "  + monthFilter
  Logger.log("currentMonth : "   + currentMonth )

  var headers = sheet.getRange("A2:NF2").getValues()[0]; 
  //Logger.log("headers : "   + JSON.stringify(headers) + " - " + headers.length) 
  Logger.log("typeof(headers[0]) : " + typeof(headers[0])) // typeof(headers[0]) : object
  
  let filteredDates = headers.filter(c => Utilities.formatDate(c, "GMT", "YYYY")== yearFilter && Utilities.formatDate(c, "GMT", "MMMM") == monthFilter)  
  Logger.log("filteredDates : "   + JSON.stringify(filteredDates) + " filteredDates.length : " + filteredDates.length)  // filteredDates.length : 36

  let colStart = headers.indexOf(filteredDates[0])
  Logger.log("colStart : "   + colStart) // colStart : 0
  
  let colEnd = headers.indexOf(filteredDates[filteredDates.length - 1])
  Logger.log("colEnd : "   + colEnd ) // colEnd : 369
}

编辑脚本以显示日期类型。

这是我应该分享的表格: https://docs.google.com/spreadsheets/d/1cE4FRKeVb8EMqm4q9brpjTcLPpZBH4qXud99lto--WQ/edit?usp=sharing

当我看到你的显示脚本时, let filteredDates = headers.filter(c => Utilities.formatDate(c, "GMT", "YYYY")== yearFilter && Utilities.formatDate(c, "GMT", "MMMM") == monthFilter) ,您使用的是星期年。 我认为这可能是您遇到问题的原因。 那么下面的修改呢?

从:

let filteredDates = headers.filter(c => Utilities.formatDate(c, "GMT", "YYYY")== yearFilter && Utilities.formatDate(c, "GMT", "MMMM") == monthFilter)

到:

let filteredDates = headers.filter(c => Utilities.formatDate(c, "GMT", "yyyy")== yearFilter && Utilities.formatDate(c, "GMT", "MMMM") == monthFilter);

参考:

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM