Las respuestas de un formulario van, si queremos, a una hoja de cálculo, y, gracias a ello, podemos crear aplicaciones que vayan cambiando dependiendo de los datos que metan los usuarios.
Para ello, sabemos que existe una pestaña en la hoja de cálculo no creada por nosotros, sino propia de cada formulario, y que recibe un nombre de forma automática: "Respuestas de formulario" (1)(2)...
En este artículo voy a hacer una recopilación de todos los comportamientos automáticos extraños que tiene dicha pestaña, y, en algunos casos, la solución que podemos dar a dichos casos.
Como introducción, debemos tener en cuenta que no todas las acciones que llevemos a cabo en el formulario van a tener reflejo en la pestaña de la hoja de cálculo, entre ellas: borrado de preguntas y cambio de orden. Sí que se refleja: cambio en el título de las preguntas, añadir nuevas preguntas.
Vamos por partes:
1- Borrado de preguntas en formulario.
Problema: Como he comentado en la introducción, una vez que se crea una pregunta en un formulario esta ocupa una columna en la pestaña de la hoja de cálculo, pero no al contrario. Si borramos una pregunta, en la hoja de cálculo dicha pregunta no desaparece y sigue ocupando su columna. Eso sí, no recoge ningún dato.
Solución: La verdad que no influye en nada que dicho resto sea visible. Solamente nos ocupa espacio. Podemos ocultar la columna o/y moverla al final de todas las columnas a la derecha.
2- Cambio de orden de preguntas en formulario
Problema: Los formularios son sencillos de crear y nos permite facilmente añadir, cambiar, mover y borrar preguntas. Pero tampoco el cambio de orden de las preguntas se refleja en la hoja de cálculo. Si no intervenimos, nos encontraremos las preguntas en el orden de creación, no en el real. También es verdad que los datos si que van a cada columna correspondiente, si que saben en que orden tienen que ir. El problema no es de datos sino de orientación nada más.
Solución: En la pestaña de respuestas de formulario podemos, sin preocuparnos de fastidiar nada, ordenar nosotros manualmente las preguntas, arrastrándo cada columna detrás o delante de la que nos interese. Eso sí, al ser manual, debemos controlar el orden en que lo hemos hecho en el formulario. Podemos aprovechar para deshacernos de las preguntas borradas moviéndolas a la derecha.
3- Añadir nuevas preguntas al formulario
Problema: Imaginaros que tenemos una aplicación con un formulario que, automáticamente crea medias, desviaciones, etc... según la valoración que se mande a través del formulario. Pero tenemos la costumbre de añadir preguntas nuevas al tiempo. Las medias, desviaciones, etc.. de estas preguntas nuevas no van a aparecer ya que las fórmulas ya hechas se refieren solamente (como es lógico) a las preguntas existentes en su momento. Qué pena que el formulario no sea tan inteligente que en cuanto metemos una pregunta nueva cree automáticamente en la hoja de cálculo todo lo necesario para ella.
Solución: Tenemos un truco que nos puede permitir que hasta las preguntas nuevas vayan asociándose a las fórmulas que ya tenemos de forma automática. Los pasos son los siguientes:
1.- Creamos en la pestaña de respuestas de formulario una columna por nuestra cuenta y le llamamos, por ejemplo "XXX", es decir, si la columna es la Z, escribimos en la celda Z1 las letras "XXX", como si fuera una pregunta del formulario. Parece que lo importante es que sea la de después de la última de las columnas utilizadas por el formulario para escribir las preguntas suyas.
2.- Creamos alguna pregunta nueva en el formulario. Como verás, estas preguntas no se colocan en la pestaña detrás de nuestra pregunta "XXX", sino siempre delante y la desplazan a la derecha, quedando esta siempre la última. Nos aprovechamos, pues, de este comportamiento extraño de las preguntas de formulario.
3.- Cuando creemos cualquier fórmula (tipo array) incluiremos la pregunta "XXX", pero con un filtro que la excluya, por ejemplo, =filter('Respuestas de formulario1'A1:Z1;'Respuestas de formulario1'A1:Z1<>"XXX"). Así, la pregunta XXX desaparecerá, pero todas las demás aparecerán, y aunque el formulario, al añadir preguntas nuevas, la desplace de columna y pase a la AA, o la AB, la referencia se actualiza automáticamente y siempre pilla todas las preguntas a la izquierda de XXX
4- Editar datos en la pestaña
Problema: En la pestaña de respuestas de formulario se pueden editar los datos: añadir nuevos, borrar, cambiar, etc.., siempre teniendo en cuenta que el formulario no se entera y que los datos que guarda el formulario y los de la pestaña ya no coincidirán. Eso nos lleva a, por ejemplo, no usar los gráficos del resumen de formulario, ya que no serían los datos correctos.
Solución: Esta es siempre manual. Ten en cuenta y acepta que, aunque parezca lo contrario, los datos del formulario no están realmente conectados con los de la pestaña y que solamente se vierten en ella. Por lo tanto, si queremos que sean iguales unos y otros, una de dos, o no cambiamos nada en la pestaña o los cambios que hagamos los debemos hacer también en los datos del formulario, y eso solamente funciona en caso de borrado, no de editado. Aún y todo, como el formulario te deja descargar sus datos en .csv siempre se pueden "recuperar" los datos del formulario. De todas formas, "que más nos da"
5- Borrado de filas en la pestaña
Problema: Hay que tener cuidado en la edición de los datos de la pestaña "Respuestas de formulario" como hemos visto en el punto anterior, pero especialmente a la hora de borrar filas enteras.
Os habréis fijado que a la hora de borrar filas enteras de datos tenemos no una sino dos opciones que son: eliminar filas y borrar datos de la fila. En el primer caso se borran los datos y, además, se lleva la fila una más arriba. En el segundo, simplemente desaparecen los datos y queda un fila en blanco en medio de donde hemos borrrado.
Para lo que nos atañe, es decir, en la pestaña respuestas de formulario esta decisión de quitar filas provoca ciertos consecuencias "raras". Por ejemplo, a partir de eliminar ciertas filas, el formulario deja de añadir los nuevos datos al final y los incluye entre filas de datos antiguos. Esto supone que no podemos saber cual ha sido la última entrada de formulario simplemente apuntando a la última fila de datos.
Solución: Debemos utilizar la función max del campo marca_temporal para asegurarnos que apunta a donde queremos.
5bis - Borrado de filas en la pestaña
Problema: También provoca que si hacemos referencia en una fórmula a los datos de formulario, y eliminamos todas las filas, a partir de ese momento, la fórmula en cuestión va ir cambiando automáticamente la referencia de 2 a 3, de 3 a 4, y así sucesivamente, provocando que nunca entre la referencia en el rango de datos en cuestión.
Solución: Más que solución, un truco que recomiendo vivamente es el de no eliminar nunca la fila 2 de la pestaña de respuestas de formulario. Si es necesario utilizad "borrar datos de la fila"
6- Inclusión de columnas no pertenecientes al formulario.
Problema: En esta pestaña, las columnas se crean automáticamente según lo que añadamos en el formulario. Pero, a veces, necesitamos crear columnas no dependientes de dicho formulario. Y, si además, queremos referenciarlas dentro del código, nos encontraremos con el problema que el número de columna irá cambiando según vayamos cambiando el formulario, con lo que no podremos conseguir un código eficaz o deberíamos de acordarnos de cambiarlo cada vez.
Solución: Podemos incluir columnas nuestras en la parte izquierda, sin ningún temor a que nos cambien de índice de columna.
7- Usuarios que mandan respuestas mediante formulario repetidas
Problema:A veces ocurre que un usuario no está seguro de que su respuesta va a llegar, o se ha equivocado en algo, o no se acuerda si la ha mandado, o vete a saber, pero la consecuencia es que detectamos que existen respuestas repetidas que no deberíamos incluir en nuestra gestión
Solución: Nos viene muy bien la fórmula de max(marca_temporal) para solamente incluir los datos de la última enviada por cada usuario