Google Calendar es ampliamente conocido como una de las mejores herramientas para gestionar horarios y tareas. Captura tu trabajo y reuniones que duran tanto periodos cortos como largos de tiempo. Se ha convertido en una fuente de datos que contiene información útil sobre tu vida laboral.
En algunos casos, puede que necesites exportar los datos de tu calendario a Google Sheets. Pero, ¿qué método debes utilizar? Encuentra la respuesta en esta entrada del blog.
Nota: La versión original de este artículo no contenía una opción para automatizar las exportaciones de Google Calendar a Google Sheets. La actualizada ya muestra cómo se pueden exportar datos de Calendar a hojas de cálculo de forma programada utilizando la integración por Coupler.io.
¿Por qué es necesario exportar datos de Google Calendar a Sheets?
Es posible que necesites una lista de actividades con el tiempo dedicado a cada una de ellas, con fines como:
- Enviar facturas a los clientes, especialmente en el caso de servicios que se cobran por horas.
- Creación de informes con fines administrativos.
- Analizar la productividad de tu equipo o tu productividad personal. Por ejemplo, para saber si dedicas demasiado tiempo a determinados tipos de tareas, o si trabajas primero en tareas de alta prioridad, etc.
Google Calendar tiene los datos que necesitas. Podrías hacer clic en cada evento individual de tu calendario para ver cuánto tiempo dedicaste a cada actividad. Sin embargo, tener tus datos exportados automáticamente a Google Sheets siempre será una mejor solución. Te ahorra tiempo y minimiza los errores. También es más fácil hacer análisis de datos básicos en una hoja de cálculo, como sumar las horas y clasificar las actividades.
La mejor opción para exportar automáticamente Google Calendar a Google Sheets
Hemos decidido jugar nuestro as mostrando el mejor método para exportar Google Calendar a Google Sheets – Coupler.io. ¿Por qué es el mejor? Te permite automatizar el flujo de datos de tu calendario a hojas de cálculo. Además, puedes cambiar el destino, transformar los datos sobre la marcha y beneficiarte de muchas otras valiosas funciones. ¡Veamos cómo es en acción!
Puedes utilizar la integración con Google Calendar de Coupler.io como aplicación web o como complemento para Google Sheets. Este último requiere que instales el complemento. En este artículo, utilizaremos la aplicación web. No obstante, la interfaz de usuario y el flujo son los mismos tanto para la aplicación web como para el complemento.
1. Recopilar datos de Google Calendar
- Para empezar, haz clic en Proceed en el siguiente formulario. Tendrás que registrarte en Coupler.io de forma gratuita con tu cuenta de Google y, a continuación, serás dirigido a un importador de Google Calendar recién creado.
- A continuación, conecta tu cuenta de Google asociada al calendario que deseas exportar y selecciona una categoría de datos para exportar:
- List of my calendars
- List of my events
- Report: busy time for user
- A continuación, selecciona el calendario del que deseas extraer los datos. Opcionalmente, puedes especificar las fechas de inicio y fin o la última fecha de actualización (debe ser como máximo 4 semanas a partir de hoy).
Otro parámetro opcional son los filtros avanzados. Después de eso, puedes proceder a la vista previa y transformación de datos.
Nota: Coupler.io te permite consolidar datos de múltiples fuentes. Así, puedes añadir varios calendarios desde los que exportar datos y cargarlos en la única vista maestra. Para ello, haz clic en +Add one more source y configura la conexión como se ha descrito anteriormente.
2. Transformar datos
En este paso, puedes previsualizar los datos que se extraerán de Google Calendar y transformarlos sobre la marcha. La transformación de datos incluye:
- Ocultar columnas
- Edición de columnas (cambiar nombre, cambiar formato de datos)
- Añadir columnas calculables
- Ordenar columnas
- Filtrar datos
Cuando todo esté configurado, procede a gestionar el destino.
Tendrás que conectar tu cuenta de Google asociada a una hoja de cálculo de Google Sheets donde cargarás los datos de Google Calendar. A continuación, selecciona una hoja de cálculo y una hoja para los datos. Puedes crear una nueva hoja si escribes un nuevo nombre.
Opcionalmente, puedes seleccionar la primera celda o rango de celdas donde se importan los datos del calendario; cambiar el modo de importación de reemplazar a añadir; activar la última columna actualizada y desactivar la actualización de datos por cada ejecución.
3. Actualizaciones del calendario
Como último paso, activa la Automatic data refresh y programa tus exportaciones de datos. Puedes especificar un intervalo de actualización desde cada mes hasta cada 15 minutos (eso hará que tu informe esté vivo).
Haz clic en Run importer cuando estés listo para realizar la primera exportación de Google Calendar a Google Sheets e iniciar la automatización. ¿Quieres ver cómo quedan los datos de tu calendario en la hoja de cálculo? Ya está.
Es increíble, ¿verdad? Además de Google Calendar, Coupler.io también es compatible con aplicaciones de productividad y seguimiento del tiempo como Clockify, Harvest, Calendly y TimeTonic.
Echa un vistazo a la lista completa de las más de 60 fuentes disponibles para ver si puedes exportar automáticamente desde tus apps favoritas. Por cierto, la misma lista de fuentes está disponible para importar a Excel, BigQuery y diferentes herramientas de BI como Looker Studio y Power BI si quieres crear informes realmente increíbles.
Hablando de informes – Coupler.io ofrece un informe automatizado gratuito de Google Calendar en Looker Studio que te brinda una visión general de las reuniones para 2023. El informe se conecta a tu Google Calendar y da respuesta a muchas preguntas: cuántas reuniones has tenido, cuánto tiempo has dedicado, quiénes son los principales organizadores de reuniones, etc.
Obtén más información sobre el informe y sobre cómo configurarlo fácilmente en menos de 2 minutos.
Veamos ahora otras soluciones para exportar tu Calendario a Google Sheets.
¿Puedo exportar Google Calendar a una hoja de cálculo con funciones nativas?
Lamentablemente, en la actualidad no existe ninguna función dentro de Google Calendar que permita exportar datos directamente a Google Sheets. Lo que puedes hacer es exportar el archivo ICS de un Calendario individual.
Un archivo ICS es un formato estándar de calendario de Internet que almacena datos de eventos de calendario. Lo utilizan varios programas de calendario, como Microsoft Outlook, Google Calendar, Yahoo Calendar y Apple Calendar. Con el formato ICS puedes compartir los datos de tu calendario con otra persona que utilice un programa distinto de Google Calendar.
Sigue los pasos que se indican a continuación si deseas exportar los archivos ICS de todos los calendarios asociados a tu cuenta de Google.
Abre Google Calendar. En la esquina superior derecha, haz clic en el icono Settings y, a continuación, en Settings en el menú.
En la página Configuración, haz clic en el menú Import & export > Export. A continuación, en la sección Export, haz clic en el botón Export.
Verás que se descarga un archivo ZIP en tu ordenador. Descomprímelo y encontrarás archivos ICS individuales para cada uno de tus calendarios.
Ahora, puedes compartir estos archivos ICS (o uno de ellos) con tu amigo. Debería poder abrirlo con su programa de calendario: Outlook, Yahoo Calendar o Apple Calendar.
Cómo exportar Google Calendar a Google Sheets mediante complementos
La forma más práctica de transferir datos de calendario a Google Sheets es utilizando un complemento de Google Sheets. Como hemos mencionado anteriormente, Coupler.io está disponible como complemento para Google Sheets.
Al mismo tiempo, existen algunas otras opciones que permiten obtener datos del Calendario, como Calendar to Sheet y Sheets2GCal. Desafortunadamente, ninguno de estos complementos permite exportar datos de tu calendario automáticamente.
Los complementos de GSheets son aplicaciones de software de terceros. Puedes ver la biblioteca de complementos haciendo clic en Add-ons > Get add-ons en el menú superior. Se abrirá una nueva ventana de diálogo que te permitirá examinar o buscar un complemento concreto. También puedes ir directamente a Google Workspace Marketplace y buscar las opciones allí mismo.
Al hacer clic en cada complemento, aparecerá una descripción de lo que hace. Para instalarlo, haz clic en el botón Install. Te pedirá permiso para acceder a Google Drive y deberás permitirlo para completar la instalación.
Ahora, hablemos de dos de estos complementos, Calendar to Sheet y Sheets2GCal.
Exportar datos de calendario con el complemento Calendar to Sheet
Calendar to Sheet permite importar eventos de Google Calendar a Google Sheets aplicando filtros de fecha y texto. Tras instalar el complemento, lo verás en el menú Add-ons.
Antes de importar los datos, debes especificar qué calendarios deseas importar. También puedes añadir filtros de texto y fecha.
He aquí un ejemplo de resultado de Calendar to Sheet:
Comprueba que tienes datos del evento como la hora de inicio, la hora de finalización, la descripción del evento, la duración, las notas y la ubicación exportados en la hoja de cálculo. También se muestra información sobre la duración total en la parte superior de la página.
Exportar datos de calendario con el complemento Sheets2GCal
Sheets2GCal no sólo te permite importar eventos de Google Calendar a Google Sheets, sino también actualizar Calendar desde Sheets.
Para empezar —tras la instalación—, haz clic en el menú Add-ons > Sheets2GCal > Import (Calendar->Sheet) para importar datos de Google Calendar.
Deberás especificar qué Calendario deseas importar. También puedes establecer Start date y End date si lo deseas. Sin embargo, antes de poder importar, necesitas registrarte para obtener una cuenta GRATUITA en sheets2gcal.com.
Haz clic en el botón Import Events y obtendrás un resultado similar al que se muestra a continuación.
Observaa que el resultado tiene más campos en comparación con el resultado de Calendar to Sheet. Sin embargo, no tiene una columna que muestre la duración, por lo que tendrás que calcularla tú mismo.
He aquí un ejemplo de cálculo de la duración:
Paso 1. Inserta una nueva columna Duration (hh:mm) después de la columna End time.
Paso 2. Introduce esta fórmula en una celda en blanco debajo de la nueva columna.
=G2-F2
Paso 3. Aplica la fórmula a las demás celdas seleccionando la celda de la fórmula y arrastrando el controlador de relleno hacia abajo hasta las demás celdas.
Si tu conjunto de datos es lo suficientemente grande, será mejor que utilices la función ARRAYFORMULA en lugar de arrastrar la fórmula. Así es como se verá:
=ARRAYFORMULA(IF(len(G2:G)>0,(G2:G-F2:F),""))
Captura de pantalla:
Otras opciones para exportar información de Google Calendar a una hoja de cálculo sin codificación
Una de las herramientas SaaS que pueden ayudarte a exportar Google Calendar a Google Sheets es TimeTackle. Originalmente era un simple exportador de calendarios llamado Gcal2Excel. Ahora, han ampliado la lista de funciones y fuentes, por lo que puedes considerarlo para tus necesidades si quieres ahorrar tiempo haciendo análisis avanzados, generando facturas, creando muchos informes personalizados y exportando automáticamente según lo programado.
Qué puede hacer TimeTackle:
- Exportar Google Calendar a Excel, CSV y Google Sheets
- Exportación con etiquetas y opciones de color (color del calendario o del evento)
- Sincronizar Google Calendar con Google Sheets y programar sincronizaciones automáticas
- Crear facturas automáticamente a partir de las entradas del calendario
- Generar muchos tipos de informes personalizados
- Proporcionar análisis avanzados de calendarios
Una vez que te registres, se te ofrecerá conectar tu calendario.
Después de esto, podrás añadir etiquetas, ver las entradas de tu calendario en formato de hoja de horas, analizar la salud de las reuniones, las tendencias, las interacciones y mucho más.
TimeTackle te permite sincronizar tu Calendario de Google con Google Sheets automáticamente. Para activar esta función, ve a la Timesheet en el menú de la izquierda y, a continuación, busca el botón Google Sheets Sync en la esquina superior derecha. Púlsalo y establece tus preferencias para las actualizaciones.
Una vez hecho esto, las nuevas reuniones y otras entradas del calendario aparecerán automáticamente en la hoja de cálculo seleccionada. TimeTackle seguirá actualizando sus datos de acuerdo con su configuración.
En caso necesario, puedes descargar los datos desde el mismo menú pulsando el botón Descargar. Los formatos disponibles son XLSX y CSV.
Cómo exportar Google Calendar a Sheets mediante Google App Script
Anteriormente hemos introducido las soluciones sin código. Ahora, vamos a explorar cómo se puede exportar datos de calendario utilizando Google App Script.
No hay necesidad de preocuparse, incluso si este es su primer script. Hemos proporcionado la solución de copiar y pegar para ti, por lo que no tendrás que codificar por tu cuenta.
Exportar eventos de Google Calendar a Google Sheets mediante App Script
Antes de empezar, tendrás que obtener el ID de tu Calendario.
Para obtener el ID del Calendario:
Abre Google Calendar y, a continuación, haz clic en el icono Settings > Settings situado en la parte superior derecha. En la página Configuración, desplázate hasta el Calendario que quieras exportar. Selecciona Integrate calendar en el menú de la izquierda. A continuación, copia el valor del Calendar ID que aparece en el panel derecho, como muestra la siguiente captura de pantalla.
Nota: Si lo deseas, también puedes utilizar simplemente tu dirección de correo electrónico de Google como ID del calendario. En ese caso, se exportarán todos tus calendarios.
Ahora, sigue el sencillo paso a paso que se indica a continuación:
Paso 1. Crea un nuevo documento en blanco de Google Sheets. Dale un nombre – por ejemplo, Google Calendar Import.
Paso 2. Copia y pega tu Calendar ID en la celda B1.
Paso 3. Especifica los criterios para filtrar los datos del calendario:
- Start date (celda B2) en el formato
mm/dd/yyyy hh:mm:ss
- End date (celda B3) en el formato
mm/dd/yyyy hh:mm:ss
- Texto a buscar (celda B4)
Nota: Los valores de Start date y End date deben estar formateados como Date time
Paso 4. En el menú, haz clic en Tools > Script editor.
Paso 5. Elimina todo el código de Code.gs. A continuación, copia y pega la siguiente función importGoogleCalendar()
en el archivo:
function importGoogleCalendar() { var sheet = SpreadsheetApp.getActiveSheet(); var calendarId = sheet.getRange('B1').getValue().toString(); var calendar = CalendarApp.getCalendarById(calendarId); // Set filters var startDate = sheet.getRange('B2').getValue(); var endDate = sheet.getRange('B3').getValue(); var searchText = sheet.getRange('B4').getValue(); // Print header var header = [["Title", "Description", "Start", "End", "Duration"]]; var range = sheet.getRange("A6:E6"); range.setValues(header); range.setFontWeight("bold") // Get events based on filters var events = (searchText == '') ? calendar.getEvents(startDate, endDate) : calendar.getEvents(startDate, endDate, {search: searchText}); // Display events for (var i=0; i<events.length; i++) { var row = i+7; var details = [[events[i].getTitle(), events[i].getDescription(), events[i].getStartTime(), events[i].getEndTime(), '']]; range = sheet.getRange(row,1,1,5); range.setValues(details); // Format the Start and End columns var cell = sheet.getRange(row, 3); cell.setNumberFormat('mm/dd/yyyy hh:mm'); cell = sheet.getRange(row, 4); cell.setNumberFormat('mm/dd/yyyy hh:mm'); // Fill the Duration column cell = sheet.getRange(row, 5); cell.setFormula('=(HOUR(D' + row + ')+(MINUTE(D' +row+ ')/60))-(HOUR(C' +row+ ')+(MINUTE(C' +row+ ')/60))'); cell.setNumberFormat('0.00'); } }
Nota: También puedes configurar filtros directamente en el script:
// Set filters var startDate = new Date("December 1, 2020 00:00:00"); var endDate = new Date("December 31, 2020 23:59:59"); var searchText = 'Dev';
Si no deseas aplicar un filtro de texto, establece el valor de seachText en una cadena vacía, como se indica a continuación:
var searchText = '';
Paso 6. Ejecuta el script desde el Editor.
Nota: La primera vez que ejecutes el script, se te pedirá que autorices al script a acceder a tus datos. Concede el permiso cuando se te solicite.
Este es el resultado:
En la captura de pantalla anterior, puedes ver que el script exporta el título, la descripción, la hora de inicio, la hora de finalización y la duración de cada evento. Si deseas exportar más datos, como el color del evento, la ubicación y la asistencia, esta lista de métodos puede ayudarte.
Configurar un botón para exportar Google Calendar a Google Sheets
No siempre es conveniente ejecutar el script desde el Editor. Por lo tanto, vamos a modificar el script un poco para que puedas ejecutarlo directamente desde la hoja de cálculo.
Añade la siguiente función al archivo Code.gs.
function onOpen() { "use strict"; var menuEntries = [{ name: "Import", functionName: 'importGoogleCalendar' }], activeSheet; activeSheet = SpreadsheetApp.getActiveSpreadsheet(); activeSheet.addMenu('Import Calendar', menuEntries); }
Ahora tu script tiene dos funciones, onOpen()
e importGoogleCalendar()
, como muestra la siguiente captura de pantalla:
La función onOpen()
añade un menú personalizado Import Calendar cada vez que se abre la hoja de cálculo. Tiene el submenú Import que llama a la función importGoogleCalendar()
.
Guarda el script y actualiza la hoja de cálculo. Verás un nuevo menú añadido a tu hoja de cálculo.
Ahora, cada vez que desees exportar datos del Calendario, sólo tienes que hacer clic en el menú Import Calendar > Import.
Configurar la exportación automática de Google Calendar a Google Sheets con Apps Script
Si no quieres hacer clic en el botón Importar calendario cada vez, puedes programar la exportación de datos de Google Calendar a Google Sheets. Para ello, tendrás que configurar un activador de temporización. Ve a la sección Triggers de tu proyecto Apps Script.
A continuación, haz clic en + Add Trigger en la parte inferior derecha de la ventana.
En la ventana abierta, tendrás que configurar el activador.
Elige la función que deseas ejecutar
Selecciona la función que deseas automatizar en un horario. Como tenemos dos funciones onOpen()
e importGoogleCalendar()
, tenemos que elegir la que importa datos de Google Calendar a la hoja de cálculo.
Elige qué despliegue debe ejecutarse
Selecciona el despliegue si tiene diferentes.
Seleccionar fuente de eventos
Selecciona la fuente del evento: de hoja de cálculo, temporizador o calendario. En nuestro caso, necesitamos time-driven.
Selecciona el tipo de activador basado en el tiempo
Una vez seleccionada la fuente de eventos basada en el tiempo, el siguiente campo es para elegir el tipo de activación basada en el tiempo:
- Specific date and time
- Minutes timer
- Hour timer
- Day timer
- Week timer
- Month timer
Queremos que los datos importados del Calendario se actualicen diariamente. Por lo tanto, tenemos que elegir Day timer.
Selecciona la hora del día
Selecciona la hora a la que deseas que se importen los datos cada día.
Ajustes de notificación de fallos
Puedes seleccionar la frecuencia de recepción de notificaciones en caso de fallo:
- Inmediatamente
- Por hora
- Diario
- Semanal
Si haces clic en el símbolo más, puedes configurar varias notificaciones.
Cuando estés listo, haz clic en Save. Tu activador por tiempo aparecerá en la lista.
Bonificación: de Google Sheets a Google Calendar
Supón que trabajas durante las vacaciones y te limitas a registrar tus actividades en una hoja de cálculo. Para no perder de vista tus horarios, puedes exportar automáticamente tus entradas a Google Calendar. El siguiente ejemplo muestra cómo hacerlo mediante un script.
Exportar fechas de Google Sheets a Calendar
Antes de pasar al código, asegúrate de que las fechas de tu hoja de cálculo tienen el formato correcto para facilitar la exportación.
Selecciona las fechas y, a continuación, haz clic en Format > Number > Date Time en el menú.
Ahora, ya estás listo para exportar a Google Calendar.
Google App Script para exportar de una Hoja a Calendario
Sigue los pasos que se indican a continuación para crear el script.
Paso 1. Haz clic en Tools > Script editor.
Paso 2. Elimina todo el código del archivo Code.gs. A continuación, copia y pega el siguiente código.
function exportToCalendar() { var calendarId = "jl9l4jg8q4jdjg1qo3o202rj4c@group.calendar.google.com"; var calendar = CalendarApp.getCalendarById(calendarId); var sheet = SpreadsheetApp.getActiveSheet(); var events = sheet.getRange("A2:C3").getValues(); for (x=0; x<events.length; x++) { var evt = events[x]; var title = evt[0]; var startTime = evt[1]; var endTime = evt[2]; calendar.createEvent(title, startTime, endTime); } }
Paso 3. Cambia el valor de calendarId en el script por el tuyo.
Paso 4. Ejecuta el script desde el Editor. La primera vez que lo ejecutes, de nuevo, se te pedirá que autorices al script a acceder a tus datos. Concede el permiso cuando se te solicite.
Paso 5. Actualiza tu Calendario. Verás los nuevos eventos añadidos para las fechas especificadas.
Calendar en Google Sheets es fácil
Hemos explorado varias opciones para exportar Google Calendar a Google Sheets, con o sin codificación. Si quieres una solución sencilla, prueba a utilizar un Add-on o Google App Script. Si quieres ahorrar tiempo realizando análisis e informes avanzados, quizá te interese Coupler.io. Esperamos que una de las opciones aquí explicadas sea la mejor para ti.