Así que estaba buscando una forma de comparar formatos de fecha de 2 celdas diferentes y validarlos.
Un usuario de SO me mostró un código. Lo cambiamos para no usar la sintaxis de expresiones regulares confusa (para mí), por lo que al usuario se le ocurrió algo como esto:
const getDateFormats = range => SpreadsheetApp.getActiveSpreadsheet() .getActiveSheet() .getRange(range) .getNumberFormats() .flat(); const main = () => { const formatsInRange = getDateFormats('A1:A3') console.log(formatsInRange); formatsInRange.forEach((format, i) => 'dddd", "d" "mmmm" "yyyy' === format || 'dd"/"mm"/"yyyy' === format ? console.log(`Value ${i + 1} is OK`) : console.log(`Value ${i + 1} is not OK`) ) }; Entonces, el código anterior funcionará para 2 y 3 celdas: getDateFormats('A1:A2') y getDateFormats('A1:A3') .
Pero si intento con 4 celdas o varias celdas hasta el final de la columna con getDateFormats('A1:A4') o getDateFormats('A1:A') la consola muestra este error:
Me gustaría entender por qué sucede esto y qué debe cambiarse para que la consola muestre múltiples resultados como lo hace para 2 o 3 celdas.
Mi archivo: https://docs.google.com/spreadsheets/d/1ExXtmQ8nyuV1o_UtabVJ-TifIbORItFMWjtN6ZlruWc/edit?usp=sharing
La respuesta de la pregunta está en los comentarios, dejando esta respuesta como wiki de la comunidad:
El código proporcionado funcionaba como se esperaba y devolvió el resultado adecuado.
El usuario que pregunta comentó que:
Tienes razón. Esta funcionando. Verá, ayer, creo que las consolas están bien, no están bien, etc., no se mostraban. Algo cambió o simplemente estaba cansado. Lo siento.