Esta función agrupa una matriz por filas aplicando una función LAMBDA
a cada fila.
Ejemplo de uso
BYROW(A1:C3;LAMBDA(fila;MAX(fila)))
BYROW(A1:C3;LAMBDA(fila;SUM(fila)))
Sintaxis
BYROW(matriz_o_intervalo;LAMBDA)
matriz_o_intervalo
: matriz o intervalo que se va a agrupar por filas.LAMBDA
: una funciónLAMBDA
que se aplica a cada fila de la matriz o intervalo en cuestión para obtener su valor agrupado.- Sintaxis:
LAMBDA(nombre;expresión_fórmula)
- Requisitos:
- La función
LAMBDA
debe tener solo un argumentonombre
y unaexpresión_fórmula
que use esenombre
. Cuando se aplica la funciónLAMBDA
, elnombre
se resuelve en la fila actual que se está agrupando.
- La función
- Sintaxis:
Notas
- La función
LAMBDA
enviada debe aceptar solo un argumentonombre
. Si no, se devuelve un error#N/A
. Este argumento se corresponde con una fila de la matriz de entrada. - Cada fila debe agruparse en un valor único. No se admiten resultados de matriz de valores agrupados.
- En este caso, una
función con nombre
puede pasar por parámetroLAMBDA
y comportarse como una funciónLAMBDA
. Más información sobre las funciones con nombre- Debe haber exactamente un marcador de posición de argumento definido para ella.
- La
función con nombre
no debe ir seguida de un paréntesis.
Ejemplos
Suma por filas
Datos de ejemplo:
A |
B |
C |
|
---|---|---|---|
1 |
3 |
5 |
7 |
2 |
4 |
3 |
5 |
3 |
1 |
2 |
4 |
Ejemplo: =BYROW(A1:C3;LAMBDA(fila;SUMA(fila)))
Resultado:
15 |
12 |
7 |
Filtra años en los que las ventas trimestrales sean superiores a 1300
Datos de ejemplo:
A |
B |
C |
D |
E |
|
---|---|---|---|---|---|
1 |
T1 |
T2 |
T3 |
T4 |
|
2 |
2019 |
1060 |
295 |
1425 |
280 |
3 |
2020 |
270 |
585 |
675 |
170 |
4 |
2021 |
285 |
1200 |
780 |
1235 |
5 |
2022 |
1440 |
1390 |
45 |
650 |
Ejemplo:=FILTER(A2:A5;BYROW(B2:E5;LAMBDA(fila;MAX(fila)>1300)))
Resultado:
2019 |
2022 |
Devuelve una matriz de 3x1 con la diferencia entre el valor máximo y el mínimo de cada fila utilizando una función con nombre como LAMBDA
Datos de ejemplo:
A |
B |
C |
|
---|---|---|---|
1 |
3 |
5 |
7 |
2 |
4 |
3 |
5 |
3 |
1 |
2 |
4 |
Ejemplo: =BYROW(A1:C3;MAX_MIN_DIFF)
Función con nombre: MAX_MIN_DIFF
es una función con nombre
que genera la diferencia entre el valor máximo y el valor mínimo.
Definición de la fórmula: =MAX(fila)-MIN(fila)
, dondefila
es un marcador de posición de argumento definido para MIN_MIN_DIFF
.
Resultado:
4 |
2 |
3 |
Errores frecuentes
El valor de LAMBDA enviado no tiene solo un argumento nombreSi la función LAMBDA
enviada no tiene un solo argumento nombre
y una expresión_fórmula
como argumento, se produce este error:
"Número incorrecto de argumentos para LAMBDA. Se esperaba un argumento, pero se han obtenido dos".
Ejemplo: =BYROW(C1:C4;LAMBDA(a;b;a+b))
En este ejemplo, LAMBDA
tiene dos argumentos nombre
cuando solo se necesita uno.
Si el último parámetro de BYROW
no es una LAMBDA
, se produce este error:
“El argumento debe ser una LAMBDA”.
Ejemplo: =BYROW(C1:C4;4)
Si uno o varios argumentos nombre
no son válidos, se produce este error:
“El argumento 1 de la función LAMBDA no es un nombre válido”.
Ejemplo: =BYROW(C1:C4;LAMBDA(C1; C1+1))
En este ejemplo, C1
no es un nombre
válido porque entra en conflicto con un intervalo.
Si la aplicación de LAMBDA
en la matriz de entrada no agrupa cada fila en un valor único, se produce este error:
“Se esperaba un valor único. No se admiten resultados de matriz anidados”.
Ejemplo: =BYROW(C1:E1;LAMBDA(fila;fila))
Funciones relacionadas
- Función LAMBDA: esta función te permite generar y devolver una función personalizada con un conjunto de
nombres
y unaexpresión_fórmula
que los utiliza. - Función MAP: esta función asigna cada valor de las matrices a un nuevo valor.
- Función REDUCE: esta función reduce una matriz a un resultado acumulado.
- Función BYCOL: esta función agrupa una matriz por columnas.
- Función SCAN: analiza una matriz y genera valores intermedios.
- Función CREATEARRAY: esta función crea una matriz calculada de dimensiones especificadas.
- Crear y usar funciones con nombre: esta función te permite crear y almacenar funciones personalizadas de forma similar a
LAMBDA
.