Aquí está mi script de aplicación de Google. El objetivo del script es buscar valores duplicados en la columna C y luego resaltar las filas de valores duplicados que encuentre.
Si ejecuto el script desde la ventana del editor, funciona bien y resalta esas filas duplicadas, pero si lo ejecuto desde un activador, ya sea por envío de formulario o por tiempo, la matriz vuelve indefinida y, por lo tanto, todas las filas están resaltadas.
function findAndHighlightDupesInColumn() { var col=col||0; var ss=SpreadsheetApp.getActive(); var sh=ss.getActiveSheet(); var rg=sh.getRange("C2:C10"); var vA=rg.getValues(); console.log(vA) var uA=[]; for(var i=1;i<vA.length;i++) { if(uA.indexOf(vA[i][col])==-1) { uA.push(vA[i][col]); console.log(uA) }else{ sh.getRange(i+1,1,1,sh.getLastColumn()).setBackground('crimson'); } } }Aquí está la salida de console.log cuando se ejecuta dentro de la ventana del editor.
8:00:32 AM Info [ [ 1071184 ], [ 1069157 ], [ 1069567 ], [ 1098033 ], [ 1068959 ], [ 1090405 ], [ 1097753 ], [ '' ], [ '' ] ] 8:00:32 AM Info [ 1069157 ] 8:00:32 AM Info [ 1069157, 1069567 ] 8:00:32 AM Info [ 1069157, 1069567, 1098033 ] 8:00:32 AM Info [ 1069157, 1069567, 1098033, 1068959 ] 8:00:32 AM Info [ 1069157, 1069567, 1098033, 1068959, 1090405 ] 8:00:32 AM Info [ 1069157, 1069567, 1098033, 1068959, 1090405, 1097753 ] 8:00:32 AM Info [ 1069157, 1069567, 1098033, 1068959, 1090405, 1097753, '' ]Este es el resultado cuando lo ejecuto desde un activador de envío de formulario o basado en el tiempo.
Dec 17, 2021, 7:38:38 AM Debug [ [ 'Job ID' ], [ 1071184 ], [ 1069157 ], [ 1069567 ], [ 1098033 ], [ 1068959 ], [ 1090405 ], [ 1097753 ], [ '' ], [ '' ] ] Dec 17, 2021, 7:38:38 AM Debug [ undefined ]¿Alguien puede ayudar? Me he estado golpeando la cabeza contra la pared con este problema.
¡Gracias!