lunes, 12 de diciembre de 2011

Hoja de cálculo de Google Docs siempre ordenada

Hace unos días me hicieron una consulta a través del correo electrónico. Me preguntaban los organizadores de una carrera popular cómo podrían hacer para que, recogiendo los datos de inscripción a través de un formulario de Google Docs, los nombres de los inscritos aparecieran en su página web ordenados alfabéticamente.
Imaginemos entonces, que queremos tener los registros de una hoja de cálculo hecha en Google Docs (directamente o recogiendo datos a través de un formulario) siempre ordenados por uno de los campos, por ejemplo, si recogemos datos de personas, por su nombre.

Lo explicaré a través de un ejemplo sencillo. Tenemos este formulario :


a través del cual hemos recogido estos datos. El formulario puede seguir abierto y recogiendo datos :


Como vemos, los datos aparecen ordenados por su marca temporal, según se van recogiendo desde el formulario. Los podríamos ordenar temporalmente clicando en alguna columna y luego en ordenar, pero sería una acción temporal pues los siguientes datos recogidos a través del formulario no nos aparecerían ordenados de forma automática.

Para conseguir el orden automático y para siempre y poder insertar esa lista en una página web (un blog, un site, etc) tendríamos que hacer lo siguiente :

Borramos los encabezamientos de las columnas en la hoja principal (llamada Hoja 1 si no le cambiamos el nombre) para que esta fila no entre en el orden:


Vamos a la Hoja 2 y en la cela A2 introducimos la siguiente función :

=SORT('Hoja 1'!A:C ; 2 ; TRUE)



SORT es la función que se ocupa de ordenar datos, ´Hoja 1 ´! es el nombre de la hoja donde tenemos los datos desordenados ; A:C es el rango de columnas que queremos ordenar; 2 es el número de columna por la que queremos ordenar (en este caso el nombre de los inscritos, correspondería a la columna B. Si ordenamos por la A tendríamos que escribir un 1 , si es por la C , un 3, etc) ; TRUE si queremos ordenar de forma ascendente y FALSE si lo queremos hacer de forma descendente.



Al clicar INTRO, el resultado es una nueva hoja de datos ordenados según nuestro criterio :


Esta hoja se actualizará y ordenará automáticamente cada vez que recojamos un registro nuevo.

Para insertarla en un blog, página web, site de google, etc. clicamos en Archivo y en Publicar en Web




En Hojas para publicar , elegimos la Hoja 2 (donde tenemos los datos ordenados) y en Obtener un enlace a los datos publicados, elegimos Código HTML para insertar en una página, con lo que obtenemos el código de insertación.

4 comentarios:

  1. muy buen consejo, a mí no se me había ocurrido lo de la marca temporal para el google docs (aunque paradójicamente lo uso en mis access),

    ResponderEliminar
  2. Un apunte.
    Cuando dices "Borramos los encabezamientos de las columnas en la hoja principal (llamada Hoja 1 si no le cambiamos el nombre) para que esta fila no entre en el orden:"
    A mi lo que me pasa es que cada vez que introduzco datos en el formulario, aparece de nuevo la fila de la cabecera con los campos que dan título a cada columna. Esto implica que después de el ordenado automático aparezca dicha fila ordenada. ¿Se puede solucionar de alguna forma?
    Muchas gracias por el aporte.

    ResponderEliminar
  3. Hola,
    Esta muy bien explicado, y me funciona sin problemas, pero como podria hacer esto con tres criterios de orden.

    Muchas gracias por la info que brindas al resto.

    ResponderEliminar
  4. Hola,

    Tengo un problema, ya que en la empresa hemos realizado una encuesta de cliente pero no tenemos modo de saber quién es quién. No hay modo de saber cuál es el correo electrónico de origen?. Enviemos un correo des de nuestro outlook con el link de la encuenta, como se puede rastrear la información? o no hay modo?

    gracias

    ResponderEliminar

LinkWithin

Related Posts with Thumbnails