La función BYROW aplica una función LAMBDA a cada fila de un rango o matriz especificada y devuelve una matriz con los resultados. Es una de las funciones de ayuda de LAMBDA, diseñada para simplificar el procesamiento de datos por filas, evitando la necesidad de arrastrar fórmulas manualmente.
Esta función es ideal para realizar cálculos fila por fila, como sumar los valores de cada una, encontrar el valor máximo, o aplicar lógicas más complejas definidas dentro de la función LAMBDA.
Sintaxis
=BYROW(matriz, lambda(fila))
La función BYROW tiene los siguientes argumentos:
- matriz: La matriz o rango que se va a procesar fila por fila. Obligatorio.
- lambda: Una función LAMBDA que se aplicará a cada fila de la matriz. Esta función LAMBDA debe aceptar un único parámetro que representará una fila de la matriz. Obligatorio.
Ejemplos
Ejemplo 1: Sumar los valores de cada fila
Para el siguiente rango de datos, queremos calcular la suma total de ventas para cada trimestre (cada fila).
| A | B | C | |
|---|---|---|---|
| 1 | Producto | Ventas Ene | Ventas Feb |
| 2 | Producto A | 150 | 200 |
| 3 | Producto B | 120 | 180 |
| 4 | Producto C | 250 | 210 |
=BYROW(B2:C4, LAMBDA(fila, SUMA(fila)))
Resultado: La función devolverá una matriz vertical con la suma de cada fila: {350; 300; 460}. Excel mostrará estos resultados en las celdas contiguas hacia abajo (desbordamiento).
Ejemplo 2: Encontrar el valor máximo en cada fila
Usando la misma tabla de datos, podemos encontrar el mes de mayor venta para cada producto.
=BYROW(B2:C4, LAMBDA(fila, MAX(fila)))
Resultado: La función devolverá una matriz con el valor más alto de cada fila: {200; 180; 250}.
Ejemplo 3: Contar valores que superan un umbral
Imaginemos que queremos saber cuántos meses superaron las 175 unidades vendidas para cada producto.
=BYROW(B2:C4, LAMBDA(fila, CONTAR.SI(fila, ">175")))
Resultado: La función devolverá {1; 1; 2}, indicando que el Producto A y B tuvieron un mes por encima de 175, mientras que el Producto C tuvo dos.
Ejemplo 4: Concatenar texto de cada fila
Si tenemos nombres y apellidos en columnas separadas, podemos unirlos para cada persona.
| A | B | |
|---|---|---|
| 1 | Nombre | Apellido |
| 2 | Ana | García |
| 3 | Luis | Pérez |
=BYROW(A2:B3, LAMBDA(fila, UNIRCADENAS(" ", VERDADERO, fila)))
Resultado: Se obtendrá una matriz con los nombres completos: {«Ana García»; «Luis Pérez»}.
Observaciones
La función BYROW es una de las «funciones de ayuda LAMBDA«. Estas funciones no requieren que se escriba explícitamente el nombre del parámetro dentro de la función LAMBDA (en este caso, fila), pero es una buena práctica hacerlo para mejorar la legibilidad de la fórmula.
Como función de matriz dinámica, los resultados de BYROW se «desbordarán» automáticamente a las celdas adyacentes si hay espacio disponible. Si no hay suficiente espacio, se producirá un error #¡DESBORDAMIENTO!.
Errores comunes
- #¡VALOR!: Ocurre si la función LAMBDA interna no puede ser evaluada correctamente para alguna de las filas o devuelve un error.
- #¡CALC!: Se produce si se proporciona una matriz vacía o si la función LAMBDA devuelve una matriz vacía. También puede ocurrir si el cálculo de la función LAMBDA no es compatible con el procesamiento de matrices.
- #¡NOMBRE!: Aparece si el nombre de la función LAMBDA o BYROW está mal escrito o si la versión de Excel no es compatible con estas funciones.
Disponibilidad por versión de Excel
La función BYROW está disponible únicamente para suscriptores de Microsoft 365.
Compatibilidad
| Software | Compatibilidad | Notas |
|---|---|---|
| Microsoft Excel | ✔️ | Disponible solo en Microsoft 365. |
| Google Sheets | ✔️ | Funciona de manera idéntica a la versión de Excel. |
| LibreOffice Calc | ❌ | No disponible. No existen las funciones LAMBDA ni sus funciones de ayuda. |
| OpenOffice Calc | ❌ | No disponible. |
| WPS Office Spreadsheets | ❌ | No disponible. |
| Apple Numbers | ❌ | No disponible. |
Funciones Relacionadas
- BYCOL: Aplica una función LAMBDA a cada columna de una matriz. Es la función «hermana» de BYROW.
- LAMBDA: Permite crear funciones personalizadas y reutilizables. Es un requisito para usar BYROW.
- MAP: Aplica una función LAMBDA a cada elemento de una o más matrices.
- REDUCE: Reduce una matriz a un único valor acumulado aplicando una función LAMBDA a cada elemento.
- SCAN: Escanea una matriz y aplica una función LAMBDA a cada valor, devolviendo una matriz con los valores intermedios.
