E+

ChakiArt

Excel · Datos · Automatización

Volver a Excel Lab
Excel Lab · Matrices avanzadas

MAKEARRAY

Construye una matriz del tamaño que tú definas y calcula el valor de cada posición mediante una función LAMBDA.

Excel 365LAMBDAMatrices dinámicasNivel avanzado

Qué hace

Genera una matriz desde cero

MAKEARRAY crea una matriz indicando cuántas filas y columnas debe tener. Después ejecuta una función LAMBDA para calcular el contenido de cada celda.

LAMBDA recibe la posición actual de la fila y de la columna, lo que permite construir patrones, numeraciones y matrices personalizadas.

Sintaxis

Cómo se construye MAKEARRAY

=MAKEARRAY(filas,columnas,LAMBDA(fila,columna,cálculo))
filasObligatorio

Indica cuántas filas tendrá la matriz resultante.

columnasObligatorio

Indica cuántas columnas tendrá la matriz resultante.

LAMBDAObligatorio

Define el valor que se generará en cada posición de la matriz.

fila y columna son coordenadas relativas

Dentro de LAMBDA, los parámetros fila y columna representan la posición que MAKEARRAY está calculando en ese momento.

Ejemplo sencillo

Crear una matriz de 4 filas y 3 columnas

Vamos a generar una matriz donde cada celda muestre el número de fila multiplicado por el número de columna.

=MAKEARRAY(4,3,LAMBDA(fila,columna,fila*columna))
4

filas

La matriz tendrá cuatro filas.

3

columnas

La matriz tendrá tres columnas.

fila*columna

cálculo

Cada celda multiplica su número de fila por su número de columna.

Columna 1
Columna 2
Columna 3
1
2
3
2
4
6
3
6
9
4
8
12

Resultado

Excel genera automáticamente una matriz de 4 × 3 sin necesidad de llenar cada celda individualmente.

Cómo entenderla

MAKEARRAY sabe en qué posición está

Para cada posición de la matriz, MAKEARRAY entrega a LAMBDA dos valores: el número de fila y el número de columna.

fila = 1, columna = 1

Primera celda

El cálculo recibe la posición 1,1.

fila = 2, columna = 3

Segunda fila, tercera columna

El cálculo recibe la posición 2,3.

fila = 4, columna = 2

Cuarta fila, segunda columna

El cálculo recibe la posición 4,2.

Aplicación práctica

Crear una numeración dinámica

Si solo necesitamos una columna con números consecutivos, podemos utilizar el número de fila que MAKEARRAY entrega a LAMBDA.

=MAKEARRAY(10,1,LAMBDA(fila,columna,fila))
10

filas

Generará diez registros.

1

columnas

La matriz tendrá una sola columna.

fila

cálculo

Cada celda devolverá su número de fila.

El resultado será una matriz vertical con los números del 1 al 10.

Tamaño dinámico

El tamaño también puede depender de otros cálculos

Los argumentos de filas y columnas no tienen que ser números fijos. También pueden provenir de una función o una referencia.

=MAKEARRAY(FILAS(tblVentas[Producto]),1,LAMBDA(fila,columna,fila))

¿Qué ocurre aquí?

FILAS(tblVentas[Producto]) determina automáticamente cuántas filas necesita MAKEARRAY. Si la tabla crece, la matriz también puede crecer.

Diferencia importante

MAKEARRAY y SECUENCIA no son exactamente lo mismo

SECUENCIA

Es ideal para generar series numéricas consecutivas de forma directa.

=SECUENCIA(10)

MAKEARRAY

Permite definir una lógica personalizada para calcular cada posición de la matriz.

=MAKEARRAY(10,1,LAMBDA(fila,columna,fila*10))

Cuándo utilizar MAKEARRAY

Crear matrices cuyo contenido depende de la posición de cada celda.

Generar numeraciones dinámicas para rankings.

Construir patrones o estructuras calculadas.

Crear matrices de tamaño dinámico sin columnas auxiliares.

Funciones relacionadas

MAKEARRAY combina muy bien con otras funciones matriciales

MAKEARRAY dentro del Dashboard Matricial

En la serie utilizaremos MAKEARRAY para generar numeraciones dinámicas asociadas a rankings y otros bloques cuyo tamaño puede cambiar automáticamente.

Esto permite que la estructura visual acompañe al tamaño real de nuestras matrices sin tener que preparar manualmente filas adicionales.

Ver Dashboard Matricial