using apps script, I try to get the index of the top of column date within an array of month / year values. The code triggers on editing any cell below those date columns.
Index keeps returning -1 instead of the index position in the array.
What am I doing wrong ??
Link to the spreadsheet : https://docs.google.com/spreadsheets/d/121HEP0EDRcGsxX72n_ga6-_pAgLnlAGWukGc5WmXdfo/edit?usp=sharing
Here's the code :
function onEdit(e) {
testIndexOf(e)
}
function testIndexOf(e) {
let ss = SpreadsheetApp.getActiveSpreadsheet();
let month = ["January","February","March","April","May","June","July","August","September","October","November","December"];
let months = ss.getRange('A2:A14').getDisplayValues() // 2D array
let months1D = months.map(function(r) { return r[0] }) // 1D array
let sheet = e.range.getSheet();
//let currentDate = sheet.getRange(1, e.range.columnStart).getValue()
let currentDate = sheet.getRange(1, e.range.columnStart).getDisplayValue()
let currentYear = currentDate.getFullYear()
let currentMonth = month[currentDate.getMonth() ]
let monthYear = currentMonth + " " + currentYear
// get index of month/year in column A
let index = months1D.indexOf(monthYear)
Logger.log("monthYear : " + monthYear + "\n")
Logger.log("index : " + index)
}
When using .getDisplayValue() :
LOG :
Jan 31, 2022, 10:53:12 AM Error TypeError: currentDate.getFullYear is not a function at testIndexOf(Code:14:33) at onEdit(Code:2:3)