A2:A5matriz1
Es el rango que contiene los valores que queremos procesar.
Recorre cada elemento de una matriz y aplica una operación utilizando una función LAMBDA.
Qué hace
MAP toma uno o varios rangos o matrices y procesa cada elemento mediante una función LAMBDA.
En lugar de escribir una fórmula en cada fila y copiarla hacia abajo, podemos definir una sola operación y dejar que MAP genere todos los resultados como una matriz dinámica.
Sintaxis
=MAP(matriz1,[matriz2],...,LAMBDA(valor1,[valor2],...,cálculo))matriz1ObligatorioEs la primera matriz o rango cuyos elementos quieres procesar.
[matriz2]OpcionalEs opcional. Puedes proporcionar matrices adicionales cuando el cálculo necesita trabajar con más de un valor a la vez.
LAMBDAObligatorioDefine los parámetros que recibirá MAP y la operación que se ejecutará para cada elemento.
MAP se encarga de recorrer la matriz. LAMBDA define qué debe hacer Excel con cada elemento que MAP va entregando.
Ejemplo sencillo
Supongamos que tenemos una columna con diferentes importes de venta y queremos calcular el 16% correspondiente a cada uno.
Si las ventas están en A2:A5 podemos utilizar:
=MAP(A2:A5,LAMBDA(venta,venta*16%))A2:A5Es el rango que contiene los valores que queremos procesar.
ventaEs el nombre que utilizamos dentro de LAMBDA para representar cada elemento de la matriz.
venta*16%Es la operación que se ejecutará para cada valor.
Si los datos pertenecen a una tabla llamada tblVentas, podemos utilizar directamente la columna Venta.
=MAP(tblVentas[Venta],LAMBDA(venta,venta*16%))tblVentas[Venta]Representa toda la columna Venta dentro de la tabla.
ventaRecibe uno a uno los valores de tblVentas[Venta].
venta*16%Calcula el IVA correspondiente a cada elemento.
Porque tblVentas[Venta] se actualiza automáticamente cuando agregamos registros a la tabla. No necesitamos modificar manualmente el rango utilizado por MAP.
MAP devolverá una matriz con un resultado por cada venta:
Más de una matriz
Supongamos que tenemos una columna de Cantidad y otra de Precio y queremos calcular el importe correspondiente a cada registro.
=MAP(tblVentas[Cantidad],tblVentas[Precio],LAMBDA(cantidad,precio,cantidad*precio))tblVentas[Cantidad]Primera matriz que MAP recorrerá.
tblVentas[Precio]Segunda matriz que MAP recorrerá en paralelo.
cantidad*precioLAMBDA utiliza ambos valores para obtener el importe de cada fila.
En cada posición, MAP toma un valor de tblVentas[Cantidad] y el valor correspondiente de tblVentas[Precio]. Después entrega ambos a LAMBDA.
Cómo entenderla
“Para cada venta de la columna Venta, toma ese valor, llámalo venta y calcula venta × 16%.”
Esa forma de leer la fórmula facilita mucho entender qué papel cumple MAP y qué papel cumple LAMBDA.
Aplicar un cálculo diferente a cada elemento de una matriz.
Evitar columnas auxiliares con fórmulas copiadas fila por fila.
Procesar simultáneamente varias columnas relacionadas.
Construir cálculos matriciales reutilizables con LAMBDA.
Funciones relacionadas
Define la operación que MAP ejecutará para cada elemento.
Recorre una matriz acumulando los resultados hasta obtener un único valor.
Recorre una matriz y devuelve todos los resultados acumulados.
En la serie utilizaremos MAP para realizar cálculos como ventas y utilidad por cada elemento de nuestras matrices, evitando depender de fórmulas copiadas manualmente fila por fila.
Ver Dashboard Matricial