我無法正確過濾列中的日期。
我的過濾條件(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
uj5u.com熱心網友回復:
當我在 看到您的展示腳本時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);
參考:
日期和時間模式
y: 年Y: 周年
轉載請註明出處,本文鏈接:https://www.uj5u.com/gongcheng/429417.html
上一篇:SQL連續日期累計計數
