De hecho, no puedo creer que esté pidiendo algo tan simple como esto, pero de todos modos.
Tengo un centro de informes, con entradas para completar, y me gustaría obtener el número de entradas de todos y enviar un mensaje de Slack. Mi problema aquí es que los valores que obtengo son simplemente una lista de [0.0], [0.0], ect...
Aquí está mi código:
function Values() { var sheet = SpreadsheetApp.getActiveSheet(); var range = sheet.getRange("Summary!B7:B28"); var data = range.getValues(); Logger.log(data)}Y la Salida: [[0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0] ]
los datos originales son algo así:
| Nombres (ColA) | Entradas (ColB) |
|---|---|
| NOMBRE1 | 47 |
| NOMBRE2 | 150 |
Tenga en cuenta que los valores de las entradas son en realidad una fórmula (=SUMA()).
Pensé que simplemente podría recuperar los datos de la columna B, usar un índice y luego hacer un ciclo que se vería así:
function Values() { var sheet = SpreadsheetApp.getActiveSheet(); var range = sheet.getRange("Summary!B7:B28"); var data = range.getValues(); data.forEach(SendMessage); } function SendMessage(val, index){ var rtext = ""; var rname = ""; if(val > 0) { switch(index) { case 0: rtext = ""; rname = ""; break; case 1: rtext = ""; rname = ""; break; default: return false;}} // here the rest of my script to send slack messages// }Lo que encontré extraño es el hecho de que incluso si intento un simple =IMPORTRANGE dentro de la hoja, para el mismo rango, también devuelve 0s. Entonces, mi principal problema puede ser el archivo fuente.
Realmente espero que alguien pueda ayudarme allí, porque estoy perdido :)
Prueba esto:
function Values() { var sheet = SpreadsheetApp.getActiveSheet(); var range = sheet.getRange("Summary!B7:B28"); var data = range.getDisplayValues(); Logger.log(JSON.stringify(data)) }