0Pricing
Excel Formulas Academy · Lección

Iterar con MAP y REDUCE

Aplique una LAMBDA a una matriz para transformar o acumular valores

Iterar con MAP y REDUCE es una lección gratuita de Excel Formulas Academy en CoddyKit. Esta es la lección 3 de 4. Puedes leer la lección completa abajo gratuitamente — luego la practicas en el navegador con un editor de código integrado y un tutor de IA 24/7. Forma parte de la ruta de aprendizaje de Excel Formulas Academy, y tu progreso se sincroniza en la web y la app de CoddyKit. El curso de Excel Formulas Academy incluye 4 lecciones en total.

Repetir sin código

A veces querrá aplicar el mismo cálculo a cada valor de un rango o reducir un rango completo a un solo número. En programación, esto es un bucle. En las hojas de cálculo modernas, MAP y REDUCE lo hacen por usted mediante LAMBDA.

  • MAP transforma cada elemento de una matriz en un elemento nuevo
  • REDUCE combina todos los elementos en un único resultado acumulado

Ambas funciones reciben una LAMBDA que describe qué hacer con cada valor. Están disponibles en Microsoft 365 y Google Sheets.

Cómo funciona MAP

MAP recorre una matriz y aplica una LAMBDA a cada elemento para producir una matriz nueva del mismo tamaño. El parámetro de la LAMBDA recibe un elemento cada vez.

El patrón consiste en proporcionar a MAP la matriz y, después, una LAMBDA cuyo parámetro representa cada valor. MAP distribuye automáticamente los resultados transformados por las celdas.

=MAP(array, LAMBDA(value, calculation))

Primer ejemplo de MAP

Suponga que A2:A6 contiene cinco precios y que quiere aumentar cada uno un 10 por ciento. MAP aplica el incremento a todos los valores a la vez.

El parámetro p de la LAMBDA representa cada precio por turnos. MAP devuelve cinco resultados, uno por cada celda de entrada, y los distribuye hacia abajo en la columna.

No tendrá que arrastrar el controlador de relleno ni copiar nada. Una sola fórmula gestiona todo el rango.

=MAP(A2:A6, LAMBDA(p, p*1.1))

MAP con dos matrices

MAP puede recorrer dos matrices en paralelo. En ese caso, la LAMBDA recibe dos parámetros, uno de cada matriz, asignados posición por posición.

Aquí multiplicamos las cantidades de A2:A6 por los precios de B2:B6 para obtener los totales de cada línea. El parámetro q se empareja con cada cantidad y pr con cada precio.

Ambas matrices deben tener el mismo tamaño; de lo contrario, obtendrá un error.

=MAP(A2:A6, B2:B6, LAMBDA(q, pr, q*pr))

Cómo funciona REDUCE

REDUCE reduce una matriz a un único valor. Mantiene un acumulador que se actualiza con cada elemento.

Recibe tres elementos: un valor inicial para el acumulador, la matriz y una LAMBDA con dos parámetros, acc (el total acumulado) y value (el elemento actual). La LAMBDA devuelve el nuevo acumulador en cada paso.

=REDUCE(start, array, LAMBDA(acc, value, new_accumulator))

Primer ejemplo de REDUCE

Sumemos un rango con REDUCE (sí, SUM también hace esto, pero así se entiende mejor el mecanismo).

Iniciamos el acumulador en 0. Para cada valor de A2:A6, la LAMBDA lo suma a acc. Después del último elemento, acc contiene el total.

Si los valores fueran 10, 20 y 30, el acumulador pasaría por 0, 10, 30 y 60, y terminaría en 60.

=REDUCE(0, A2:A6, LAMBDA(acc, v, acc + v))

REDUCE para un producto acumulado

Cambie la operación y REDUCE hará algo distinto. Para multiplicar todos los valores, inicie el acumulador en 1 y multiplique en cada paso.

Esto calcula un producto, útil para casos como los factores de crecimiento compuesto. El valor inicial es importante: use 0 para las sumas y 1 para los productos, ya que son sus respectivos elementos neutros.

=REDUCE(1, A2:A6, LAMBDA(acc, v, acc * v))

Combinar MAP y REDUCE

Puede transformar con MAP y resumir con REDUCE en una sola fórmula. Una tarea habitual es sumar los cuadrados de un rango.

Aquí MAP eleva al cuadrado cada valor y, después, REDUCE los suma empezando desde 0. El resultado de MAP se convierte en la matriz que REDUCE procesa.

=REDUCE(0, MAP(A2:A6, LAMBDA(x, x^2)), LAMBDA(acc, v, acc + v))

MAP y REDUCE en Google Sheets

Ambas funciones existen en Google Sheets con una sintaxis idéntica. MAP aplica una LAMBDA a cada elemento; REDUCE acumula a partir de un valor inicial, una matriz y una LAMBDA de dos parámetros.

Sheets también ofrece funciones auxiliares relacionadas, como SCAN, que funciona como REDUCE, pero devuelve cada acumulador intermedio en lugar de solo el resultado final. Excel también dispone de SCAN.

=SCAN(0, A2:A6, LAMBDA(acc, v, acc + v))

Consejos y aspectos importantes

Recuerde lo siguiente:

  • En MAP, la LAMBDA debe devolver un valor por cada elemento
  • En REDUCE, la LAMBDA debe devolver siempre el nuevo acumulador; no debe olvidarlo
  • Elija el valor inicial adecuado: 0 para sumas, 1 para productos y una cadena vacía para concatenar texto
  • Las matrices que se pasan juntas deben tener las mismas dimensiones

Si tiene dudas, pruebe primero la LAMBDA en línea con un solo valor.

Cuándo usar cada una

Utilice MAP cuando quiera obtener un resultado para cada entrada, por ejemplo, para aplicar un incremento o un formato a cada valor.

Utilice REDUCE cuando quiera combinar muchos valores en uno, por ejemplo, para crear un total personalizado, concatenar valores o encontrar un máximo mediante su propia lógica.

Juntas le permiten expresar bucles que las hojas de cálculo antiguas simplemente no podían ejecutar en una sola fórmula.

Comprobación rápida

Compruebe si entiende REDUCE.

Resumen: repetir con MAP y REDUCE

Ha aprendido a recorrer matrices con funciones basadas en LAMBDA.

  • MAP transforma cada elemento en uno nuevo y devuelve una matriz
  • REDUCE combina una matriz en un solo valor mediante un acumulador
  • Elija un valor inicial adecuado: 0 para sumas y 1 para productos
  • MAP puede emparejar varias matrices; combine MAP y REDUCE para crear resúmenes potentes en una sola línea
  • SCAN muestra cada paso intermedio

A continuación guardará sus LAMBDA como funciones con nombre para crear fórmulas limpias y reutilizables en todo el libro.

=REDUCE(0, MAP(A2:A6, LAMBDA(x, x^2)), LAMBDA(acc, v, acc + v))

Preguntas frecuentes

¿La lección «Iterar con MAP y REDUCE» es gratis?

Sí — el texto completo de «Iterar con MAP y REDUCE» es gratis para leer aquí en la web. Para practicarla de forma interactiva (editor de código integrado y tutor de IA 24/7) y desbloquear el resto del curso de Excel Formulas Academy, actualiza a CoddyKit PRO. El curso de Excel Formulas Academy incluye 4 lecciones en total.

¿Qué aprenderé en «Iterar con MAP y REDUCE»?

Aplique una LAMBDA a una matriz para transformar o acumular valores Practicas Excel Formulas Academy con código real que ejecutas directamente en el navegador, y un tutor de IA 24/7 responde tus preguntas mientras trabajas en la lección.

¿Necesito experiencia previa para empezar Excel Formulas Academy?

No se requiere experiencia previa. Excel Formulas Academy en CoddyKit está estructurado para principiantes hasta estudiantes avanzados, así que puedes empezar aquí o desde el inicio y avanzar a tu ritmo. Esta es la lección 3 de 4.

¿Cuánto tiempo toma la lección «Iterar con MAP y REDUCE»?

La mayoría de las lecciones de CoddyKit toman alrededor de 5–10 minutos. Cada una es compacta e interactiva, así que avanzas constantemente y retomas exactamente por donde dejaste en la web y la app.

¿Puedo escribir y ejecutar código en esta lección de Excel Formulas Academy?

Sí. Cada lección de Excel Formulas Academy incluye un editor de código integrado, así que escribes y ejecutas código real directamente en tu navegador y obtienes retroalimentación instantánea de IA — sin configuración local necesaria.

Todas las lecciones de este curso

  1. Nombrar pasos con LET
  2. Definir funciones personalizadas con LAMBDA
  3. Iterar con MAP y REDUCE
  4. Fórmulas más claras con LAMBDA con nombre
← Volver a Excel Formulas Academy