Esta función devuelve una matriz de dimensiones especificadas con valores calculados aplicando una función LAMBDA.
Ejemplo de uso
MAKEARRAY(2; 3; LAMBDA(índice_fila; índice_columna; índice_fila+índice_columna))
MAKEARRAY(2; 3: LAMBDA(índice_fila; índice_columna; índice_fila*índice_columna))
Sintaxis
MAKEARRAY(filas; columnas; LAMBDA)
Filas
: número de filas que se van a devolver.Columnas
: número de columnas que se van a devolver.LAMBDA
: una funciónLAMBDA
que se aplica para crear la matriz.- Sintaxis:
LAMBDA(nombre1; nombre2; expresión_fórmula)
- Requisitos:
- La función
LAMBDA
debe tener exactamente dos argumentosnombre
y unaexpresión_fórmula
que use esosnombres
. Cuando se aplica la funciónLAMBDA
,nombre1
se resuelve en elíndice_fila
ynombre2
se resuelve en elíndice_columna
.
- La función
- Sintaxis:
Notas
-
La función
LAMBDA
enviada debe aceptar exactamente dos argumentosnombre
. Si no, se devuelve un error#N/A
. Estos argumentos se corresponden coníndice_fila
eíndice_columna
, en este orden. Es decir:nombre1
: se resuelve en elíndice_fila
para el que se haya creado un valor.nombre2
: se resuelve en elíndice_columna
para el que se haya creado un valor.
- El valor creado por la función
LAMBDA
que se aplica a los índices debe ser un valor único. No se admiten resultados de matriz de los valores creados. índice_fila
eíndice_columna
empiezan desde 1.- 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- La
función con nombre
debe utilizar la sintaxisLAMBDA
deMAKEARRAY
y tener definidos exactamente dos marcadores de posición de argumentos. - La
función con nombre
no debe ir seguida de un paréntesis.
- La
Ejemplos
Devuelve una matriz de 2 por 3 con un valor de celda de índice_fila*índice_columna
Ejemplo: =MAKEARRAY(2; 3; LAMBDA(índice_fila; índice_columna; índice_fila*índice_columna))
Resultado:
1 |
2 |
3 |
2 |
4 |
6 |
Devuelve una matriz de 2 por 3 con números aleatorios entre 1 y 100
Ejemplo: =MAKEARRAY(2; 3; LAMBDA(índice_fila; índice_columna; ALEATORIO.ENTRE(1;100)))
Resultado:
53 |
70 |
38 |
6 |
47 |
78 |
En este ejemplo, la función crea una matriz aleatoria de 2 por 3 con un número entre 1 y 100 para cada celda.
Usa una función con nombre como LAMBDA para devolver una matriz de 4 por 4
Usa una función con nombre
como LAMBDA
para devolver una matriz de 4 por 4 con datos en formato de cascada. Donde el valor de una fila adicional es igual al valor de la fila anterior +1, dado que el valor inicial es de 100 en la fila 1.
Función con nombre: WATERFALL
es una función con nombre
que genera un valor de 100 + índice_fila
- 1 si el índice_fila
de la celda es menor o igual al índice_columna
. Si no, deja la celda en blanco.
Definición de la fórmula: =si(índice_fila<=índice_columna; 100+índice_fila-1; "")
, donde índice_fila
e índice_columna
son marcadores de posición de argumentos definidos para WATERFALL
.
Ejemplo: =MAKEARRAY(4;4;WATERFALL)
Resultado:
100 |
100 |
100 |
100 |
101 |
101 |
101 |
|
102 |
102 |
||
103 |
Usa una función con nombre como LAMBDA para calcular el número de empleados
Usa una función con nombre
como LAMBDA
para calcular el número de empleados que se han incorporado en un trimestre concreto de un año determinado.
Datos de ejemplo:
A |
B |
C |
D |
E |
F |
G |
H |
|
---|---|---|---|---|---|---|---|---|
1 |
2020 |
Juan;Adrián;Estefanía;Miguel;Pedro;Cecilia;Mariano;Esteban |
T1 |
T2 |
T3 |
T4 |
||
2 |
2021 |
Natalia;Marcos;Alicia;Luna;César;Cristina;Carlos |
2020 |
|||||
3 |
2021 |
|||||||
4 |
||||||||
5 |
T1 |
Juan;Adrián;Natalia;Marcos |
||||||
6 |
T2 |
Estefanía;Miguel;Pedro;Alicia |
||||||
7 |
T3 |
Cecilia;Luna;César;Cristina |
||||||
8 |
T4 |
Mariano;Esteban;Carlos |
En la matriz A1:B2
, se encuentran los empleados que se han incorporado en un año determinado. En la matriz A5:B8
, están los empleados que se han incorporado en un trimestre concreto. Hay que rellenar la matriz E2:H3
con el número de empleados que se han incorporado en un año y un trimestre concretos.
Función con nombre: FIND_COMMON_EMPLOYEES_COUNT
es una función con nombre
que devuelve el recuento de empleados comunes a partir de un índice con el año y el número del trimestre.
Definición de la fórmula: =CONTAR(ARRAYFORMULA(COINCIDIR(SPLIT(ÍNDICE(Hoja1!$B$5:$B$8: no_trimestre););"); SPLIT(ÍNDICE(Hoja1!$B) $1:$B$2; índice_año); ";"); 0)))
. Índice_año
y no_trimestre
, en ese orden, son marcadores de posición de argumentos definidos para FIND_COMMON_EMPLOYEES_COUNT
.
Ejemplo: Introduce esta fórmula en E2
: =MAKEARRAY(2; 4; FIND_COMMON_EMPLOYEES_COUNT)
Resultado:
A |
B |
C |
D |
E |
F |
G |
H |
|
---|---|---|---|---|---|---|---|---|
1 |
2020 |
Juan;Adrián;Estefanía;Miguel;Pedro;Cecilia;Mariano;Esteban |
T1 |
T2 |
T3 |
T4 |
||
2 |
2021 |
Natalia;Marcos;Alicia;Luna;César;Cristina;Carlos |
2020 |
2 |
3 |
1 |
2 |
|
3 |
2021 |
2 |
1 |
3 |
1 |
|||
4 |
||||||||
5 |
T1 |
Juan;Adrián;Natalia;Marcos |
||||||
6 |
T2 |
Estefanía;Miguel;Pedro;Alicia |
||||||
7 |
T3 |
Cecilia;Luna;César;Cristina |
||||||
8 |
T4 |
Mariano;Esteban;Carlos |
Errores frecuentes
La función LAMBDA enviada no tiene exactamente dos argumentos nombreSi la función LAMBDA
no tiene dos argumentos nombre
, se produce este error:
"Número incorrecto de argumentos para LAMBDA. Se esperaban tres argumentos, pero se han obtenido dos".
Ejemplo: =MAKEARRAY(2; 3; LAMBDA(valor_actual; valor_actual+1))
En este ejemplo, LAMBDA
solo tiene un argumento nombre
cuando se necesitan dos.
Si el último parámetro de MAKEARRAY
no es una LAMBDA
, se produce este error:
“El argumento debe ser una LAMBDA”.
Ejemplo: =MAKEARRAY(2; 3; 3)
Si el valor de LAMBDA
que se ha enviado a MAKEARRAY
no era correcto en los argumentos nombre
, se produce este error:
“El argumento 1 de la función LAMBDA no es un nombre válido”.
Ejemplo: =MAKEARRAY(2;3; LAMBDA(C1; v; C1*v))
En este ejemplo, C1 no es un nombre
válido porque entra en conflicto con un intervalo.
Si la LAMBDA
aplicada en la fila y en la columna genera varios valores, se produce este error:
“Se esperaba un solo valor. No se admiten resultados de matriz anidados”.
Ejemplo: =MAKEARRAY(2;3; LAMBDA(i; j; {i; j} ))
Todas las aplicaciones de LAMBDA
en índice_fila
e índice_columna
deben generar un valor que sea un valor único, no otra matriz.
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 BYROW: esta función agrupa una matriz por filas.
- Función BYCOL: esta función agrupa una matriz por columnas.
- Función SCAN: esta función analiza una matriz y genera valores intermedios.
- Crear y usar funciones con nombre: esta función te permite crear y almacenar funciones personalizadas de forma similar a LAMBDA.