Esta función agrupa una matriz por columnas aplicando una función LAMBDA a cada columna.
Ejemplo de uso
BYCOL(A1:C3;LAMBDA(columna;MAX(columna))
BYCOL(A1:C3;LAMBDA(columna;SUMA(columna)))
Sintaxis
BYCOL(matriz_o_intervalo;LAMBDA)
matriz_o_intervalo: matriz o intervalo que se va a agrupar por columnas.LAMBDA: una funciónLAMBDAque se aplica a cada columna de la matriz o intervalo en cuestión para obtener su valor agrupado.- Sintaxis:
LAMBDA(nombre;expresión_fórmula) - Requisitos:
- La función
LAMBDAdebe tener solo un argumentonombrey unaexpresión_fórmulaque use esenombre. Cuando se aplica la funciónLAMBDA, elnombrese resuelve en la columna actual que se está agrupando.
- La función
- Sintaxis:
Notas
- La función
LAMBDAenviada debe aceptar solo un argumentonombre. Si no, se devuelve un error#N/A. Este argumento se corresponde con una columna de la matriz de entrada. - Cada columna debe agruparse en un valor único. No se admiten resultados de matriz de valores agrupados.
- En este caso, una
función con nombrepuede pasar por parámetroLAMBDAy 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 nombreno debe ir seguida de un paréntesis.
Ejemplos
Devuelve una matriz de filas de 1x3 con el máximo de cada columna
Datos de ejemplo:
|
A |
B |
C |
|
|---|---|---|---|
|
1 |
3 |
5 |
7 |
|
2 |
4 |
3 |
5 |
|
3 |
1 |
2 |
4 |
Ejemplo: =BYCOL(A1:C3;LAMBDA(columna;MAX(columna)))
Resultado:
|
4 |
5 |
7 |
Devuelve el nombre del representante de ventas con un promedio de ventas superior o igual a 30
Datos de ejemplo:
|
A |
B |
C |
D |
|
|---|---|---|---|---|
|
1 |
Aura |
Bruno |
Luna |
|
|
2 |
2019 |
20 |
10 |
20 |
|
3 |
2020 |
50 |
15 |
30 |
|
4 |
2021 |
30 |
30 |
15 |
Ejemplo: =FILTER(B1:D1;BYCOL(B2:D4;LAMBDA(col;PROMEDIO(col))>=30))
Resultado:
|
Aura |
Devuelve una matriz de 1x3 con la diferencia entre el valor máximo y el mínimo de cada columna 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: =BYCOL(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(col)-MIN(col), dondecol es un marcador de posición de argumento definido para MIN_MIN_DIFF.
Resultado:
|
3 |
3 |
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: =BYCOL(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 BYCOL no es una LAMBDA, se produce este error:
“El argumento debe ser una LAMBDA”.
Ejemplo: =BYCOL(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: =BYCOL(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 columna en un valor único, se produce este error:
“Se esperaba un valor único. No se admiten resultados de matriz anidados”.
Ejemplo: =BYCOL(C1:C3;LAMBDA(col;col))
Funciones relacionadas
- Función LAMBDA: esta función te permite generar y devolver una función personalizada con un conjunto de
nombresy unaexpresión_fórmulaque 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 BYROW: esta función agrupa una matriz por filas.
- 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.