jueves, 17 de mayo de 2018

Utilizar las fórmulas dentro del código

Quizás hay otra forma de hacerlo... La que voy a mostrar es rápida y sencilla.

Imaginaros que en un formulario tenemos un lista de tutores y que el profesor elije uno. Gracias al código queremos que le llegue por correo al tutor elegido la información que manda el profesor.

En la hoja de cálculo tendremos una lista con dos columnas. En la columna A los nombres de los tutores y en la columna B los correos correspondientes.
Dentro de la hoja de cálculo tenemos la fórmula VLOOKUP para, a partir de un tutor dado, nos dé el correo correspondiente. Por ejemplo: =VLOOKUP("Mateo Rodriguez";A:B;2;false). Así la fórmula busca a Mateo en la toda la columna A y nos devuelve lo que hay en la columna 2 (la B) a la derecha de Mateo (osea su correo).

Pero en código, que yo sepa no se pueden utilizar las fórmulas y, hasta ahora, para conseguir lo que hace la fórmula hemos utilizado un bucle y un condicional interno.

La solución que propongo son simplemente dos líneas de código:
var tutor ="Mateo Rodriguez"
var busco_correo = SpreadsheetApp.getRangeByName('datos').getRange('C1').setValue('=VLOOKUP("Mateo Rodriguez";A:B;2;false)')

var correo =SpreadsheetApp.getRangeByName('datos').getRange('C1').getValue()

En la primera variable escribo la fórmula en C1 por ejemplo.
En la segunda consiguo justamente el valor que hay en C1,  que la fórmula acaba de calcular.

Realmente la primera variable (busco_correo) quedaría así:
 var tutor = e.Values[1]
var busco_correo = SpreadsheetApp.getRangeByName('datos').getRange('C1').setValue('=VLOOKUP("'+tutor+'";A:B;2;false)')

No hay comentarios:

Publicar un comentario

Crear PDF horizontal

El código que vamos a mostrar aquí no ha sido creado por nosotros, sino que lo hemos encontrado en Internet. Objetivo: Publicar una pesta...