Cómo utilizar las funciones auxiliares de LAMBDA en Microsoft Excel

Las funciones auxiliares LAMBDA de Excel son el futuro, pero saber cuál elegir es el verdadero desafío. Esta es su guía básica para relacionar la función con la tarea y crear hojas de cálculo que finalmente piensen por sí mismas.

Este artículo cubre las cinco funciones auxiliares de iterador y acumulador, que están disponibles en Excel para Microsoft 365, Excel para la web y las versiones más actualizadas de las aplicaciones para dispositivos móviles y tabletas de Excel. SCAN también está disponible en Excel 2024. No cubre las otras dos funciones auxiliares que cumplen diferentes funciones: MAKEARRAY (generador) e ISOMITTED (verificador lógico).

El motor: un repaso de LAMBDA de 30 segundos

Piense en LAMBDA como una fórmula personalizada que escribe sobre la marcha; en lugar de una referencia de celda fija como A2*0,15, define un parámetro:

=LAMBDA(x,x*0.15)

dónde:

  • incógnita es el parámetro que representa el valor que procesará la función.
  • *0.15 es el cálculo que desea que Excel realice sobre ese parámetro.

Por sí sola, esta fórmula no hace mucho; necesita un controlador para tomar esa lógica y aplicarla a sus datos. Aquí es donde entran en juego las funciones auxiliares de LAMBDA.

En este repaso, usaré la siguiente tabla, denominada T_Gadgets, como fuente de datos e ingresaré las fórmulas en celdas normales al lado o encima de ella.

Si no cambia el nombre de las tablas en Excel, hoy es el día para comenzar

¿Qué hay en un nombre? Bueno, bastante.

Los iteradores (MAP, BYROW, BYCOL): aplicar lógica a cada celda, fila o columna.

Los iteradores recorren los datos de su tabla y aplican la lógica LAMBDA a cada elemento.

MAPA: aplicar lógica a cada celda

la sintaxis

=MAP(matriz,LAMBDA(parámetro,cálculo))

El objetivo

Quiere calcular los ingresos de cada fila en T_Gadgets y aplicar un descuento del 10 % al mismo tiempo.

el beneficio

Todo el cálculo vive en un solo lugar. Esto hace que su lógica sea más segura, ya que las filas individuales dentro de los resultados no se pueden sobrescribir.

Aquí está la fórmula MAP que debes escribir en la celda F2:

=MAP(T_Gadgets[Units],T_Gadgets[Price],LAMBDA(u,p,u*p*0.9))

dónde:

  • Formación: T_gadgets[Units],T_Gadgets[Price] son las columnas que desea procesar.
  • Parámetros: arriba son los parámetros: una sola unidad y un precio de cada fila.
  • Cálculo: u*p*0.9 multiplica los dos valores y aplica un 10% de descuento.

Utilice MAP para combinar columnas paralelas; utilice BYROW (a continuación) para tratar cada registro como un único conjunto de datos.

BYROW: obtenga un resultado para cada fila

la sintaxis

=BYROW(matriz,LAMBDA(fila,cálculo))

El objetivo

Desea multiplicar las Unidades y el Precio en T_Gadgets horizontalmente para obtener los ingresos totales de cada fila (día).

el beneficio

En lugar de administrar fórmulas en cientos de filas, administra una fórmula en una sola celda que se extiende hacia abajo, lo que garantiza la coherencia en todo su conjunto de datos.

La fórmula BYROW para la celda F2 es la siguiente:

=BYROW(T_Gadgets[[Units]:[Price]],LAMBDA(row,PRODUCT(row)))

dónde:

  • Formación: T_gadgets[[Units]:[Price]] es el rango que abarca ambas columnas.
  • Parámetro: fila representa una fila horizontal completa de datos.
  • Cálculo: PRODUCTO(fila) multiplica cada valor encontrado dentro de esa fila.

BYCOL: obtenga un resultado para cada columna

la sintaxis

=BYCOL(matriz,LAMBDA(columna,cálculo))

El objetivo

Quiere una fórmula única que encuentre el valor máximo para las columnas Unidades y Precio en T_Gadgets.

el beneficio

Usando BYCOL en una fila arriba la tabla, crea un resumen de encabezado. Esto le evita tener que desplazarse hacia abajo hasta una fila total en la parte inferior de una tabla enorme y condensa la lógica en una sola celda para mayor seguridad y coherencia.

Aquí está la fórmula BYCOL para la celda A1:

=BYCOL(T_Gadgets[#Data],LAMBDA(col,IFERROR(MAX(col),"")))

dónde:

  • Formación: T_gadgets[#Data] garantiza que la fórmula sea escalable horizontalmente. Si agrega una nueva columna, la fórmula la detecta y se extiende más hacia la derecha.
  • Parámetro: columna representa una columna vertical completa.
  • Cálculo: SIERROR(MÁX(col),»») encuentra el valor más alto en cada columna. El contenedor IFERROR es esencial cuando se utilizan funciones que desencadenan un error en columnas de texto, como AND y OR.

Funciones como MAX y SUM suelen devolver 0 para una columna de texto. Para ocultar este valor sin romper la alineación de la fórmula, seleccione la celda que contiene el cero y, en el cuadro de diálogo Formato de celdas (Ctrl+1), use el formato de número personalizado ;;; (tres puntos y comas) para hacer que el valor sea invisible y mantener la celda funcional.

Los acumuladores (ESCANEAR y REDUCIR): construyendo resultados sobre la marcha

Los acumuladores tienen memoria y mantienen una cuenta corriente a medida que se mueven por la mesa.

ESCANEAR: crear un total acumulado o un recuento acumulado

la sintaxis

=ESCANEAR(valor_inicial,matriz,LAMBDA(acumulador,valor,cálculo))

El objetivo

Desea ver un total acumulado diario de la columna Unidades en T_Gadgets para realizar un seguimiento del agotamiento del inventario.

el beneficio

Los totales acumulados tradicionales como =SUM($C$2:C2) pueden alterarse si ordena o elimina una fila. SCAN mantiene la lógica en una celda, haciéndola inmune a los cambios estructurales.

En este ejemplo, la fórmula SCAN para la celda F2 es la siguiente:

=SCAN(0,T_Gadgets[Units],LAMBDA(acc,val,acc+val))

dónde:

  • Valor inicial: 0 es donde comienza el conteo.
  • Formación: T_gadgets[Units] es la columna que estás escaneando.
  • Parámetros: acc,val son los parámetros: el acumulador que memoriza el total anterior y el valor de la celda actual que se agrega a la memoria.
  • Cálculo: ac+val es la lógica que actualiza la memoria.

REDUCIR: Reduce una matriz a un valor final

la sintaxis

=REDUCIR(valor_inicial,matriz,LAMBDA(acumulador,valor,cálculo))

El objetivo

Quiere sumar las Unidades en T_Gadgets, pero sólo para pedidos al por mayor (ventas de más de 10 artículos).

el beneficio

REDUCE condensa la lógica de varios pasos en una sola celda, evitando SUMIF anidados, columnas auxiliares o múltiples pasos intermedios.

En la celda F2, escriba esta fórmula REDUCIR:

=REDUCE(0,T_Gadgets[Units],LAMBDA(acc,val,IF(val>10,acc+val,acc)))

dónde:

  • Valor inicial: 0 es el punto de partida para su suma.
  • Formación: T_gadgets[Units] es la columna que se está reduciendo.
  • Parámetros: acc,val son los parámetros: el resultado acumulado final que se construye a medida que se ejecuta la función y el valor de la celda actual que se agrega a la acumulación.
  • Cálculo: SI(val>10,acc+val,acc) agrega el valor al total solo si es superior a 10.

TL;DR: ¿Qué función auxiliar de LAMBDA necesitas?

Utilice esta referencia rápida para decidir qué función se adapta a su tarea:

Si quieres…

Usar…

tutorial completo

Aplicar lógica a cada celda.

MAPA

Enlace

Obtenga un resultado para cada fila

BYROW

Enlace

Obtenga un resultado para cada columna

BYCOL

Enlace

Crear un total acumulado

ESCANEAR

Enlace

Obtener un valor resumido

REDUCIR

Enlace


El uso de estas funciones basadas en LAMBDA convierte su libro de Excel de una calculadora sofisticada en un entorno de desarrollo complejo que se considera oficialmente un lenguaje de programación. Entonces, ¿a qué estás esperando? Encuentre un cálculo que esté repitiendo actualmente en todo un conjunto de datos y centralícelo en una función de celda única hoy; nunca volverá a la forma anterior.

SO

Windows, macOS, iPhone, iPad, Android

Prueba gratuita

1 mes

Microsoft 365 incluye acceso a aplicaciones de Office como Word, Excel y PowerPoint en hasta cinco dispositivos, 1 TB de almacenamiento OneDrive y más.


We use cookies in order to give you the best possible experience on our website. By continuing to use this site, you agree to our use of cookies.
Accept