Creación de resultados dinámicos en 2D en Google Sheets con las funciones MAP y LAMBDA

Nota: Este artículo se publicó originalmente en el foro de nuestra comunidad.

Google Sheets ofrece un sólido conjunto de funciones que permiten a los usuarios manejar datos de forma dinámica y eficaz. Con la incorporación de las funciones LAMBDA y MAP, puedes simplificar operaciones complejas en fórmulas de una sola celda que generan resultados bidimensionales (2D) de forma dinámica. En este blog, exploraremos cómo aprovechar estas funciones utilizando un ejemplo práctico de un escenario de seguimiento de productos.

Escenario general

Imagine que realiza un seguimiento de los precios de varios productos a lo largo de varios meses. Su conjunto de datos registra los detalles de los productos y las actualizaciones de precios en diferentes momentos. El reto consiste en resumir las actualizaciones mensuales de los precios de cada producto en una única tabla resumen que muestre el último precio de cada producto al final de cada mes.

Estructura de datos

Nuestro conjunto de datos principal, denominado `Producto`, tiene el siguiente formato:

Objetivo

El objetivo es crear una tabla `Resumen mensual de productos` que se actualice dinámicamente para mostrar el último precio de cada producto al final de cada mes. Esta tabla debe adaptarse a los nuevos datos a medida que se añaden a la pestaña `Producto`.

Aplicación paso a paso

1. Configuración de las cabeceras de fecha

En primer lugar, generamos las cabeceras de cada mes en el cuadro recapitulativo:

Celda B1:

=ARRAYFORMULA(SI($B$2:$2="", "", TEXTO($B$2:$2,"yy")&"-"&TEXTO(MES($B$2:$2),"00")))

Esta fórmula utiliza `ARRAYFORMULA` para aplicar formato de texto a cada fecha de la fila 2, creando un formato YY-MM para las cabeceras de los meses.

2. Generación de intervalos de fechas mensuales

A continuación, preparamos una lista de fechas de fin de mes para cada mes dentro del intervalo deseado:

Celda C2:

=ARRAYFORMULA(EOMONTH($B$2,SECUENCIA(1,15+12,1,1)))

Aquí, `EOMONTH` y `SEQUENCE` generan fechas de fin de mes a partir de la fecha en `B2`, cubriendo un rango de potencialmente 27 meses (15 + 12 como ejemplo).

3. Listado de productos únicos

Identificamos todos los productos únicos desde la pestaña `Producto`:

Celda A4:

=ÚNICO(Producto!$B$2:$B)

4. Asignación dinámica de precios

Lo más complejo es crear un resumen dinámico de precios. Para ello, hay que mapear la lista de productos y, para cada producto, mapear la lista de meses para obtener el último precio al final de cada mes:

Celda B4:

=MAPA($A$4:$A, LAMBDA(producto,
  SI(producto="","", 
    MAPA($B$1:$1, LAMBDA(mes, 
      SI(mes="", "", IFNA(CONSULTA(FILTRO(Producto!$B$2:$D, TEXTO(Producto!$D$2:$D,"YY-MM")=mes, Producto!$B$2:$B=producto),"SELECT Col2 ORDER BY Col3 DESC LIMIT 1"),)
      )
    ))
  )
))

Esta fórmula se asigna a cada producto y, a continuación, a cada mes. Utiliza `FILTER` para restringir los registros al producto y mes específicos, y luego `QUERY` para obtener el último precio de ese mes utilizando la marca de tiempo (`ORDER BY Col3 DESC LIMIT 1`).

Conclusión

Al integrar `MAP` y `LAMBDA` con otras funciones de Google Sheets, hemos creado una tabla resumen dinámica y fácilmente actualizable que se adapta a medida que se añaden nuevos datos. Este enfoque minimiza la necesidad de actualizaciones manuales y permite una amplia escalabilidad en la gestión de datos de productos a lo largo del tiempo. Este es solo un ejemplo de lo potentes que pueden ser estas funciones para transformar la gestión y el análisis de datos en Google Sheets.

También te puede gustar...

funciones y fórmulas de google sheets

Cómo hallar el tipo de interés nominal con Google Sheets

Sarah es una joven profesional que toma importantes decisiones financieras. Desde tarjetas de crédito a hipotecas, préstamos estudiantiles e inversiones...
funciones y fórmulas de google sheets

Extraer datos de Google Calendar en Google Sheets mediante Apps Script

Este post fue publicado originalmente en nuestro foro de la comunidad. Objetivo : Esta guía muestra cómo utilizar Google Apps Script para extraer datos...
funciones y fórmulas de google sheets

Uso de la función PROPER para escribir en mayúsculas la primera letra de cada palabra en Google Sheets

Nota: Este artículo se publicó originalmente en el foro de nuestra comunidad. Alguna vez te has visto en la necesidad de limpiar una lista de nombres, títulos o cualquier...