La función MAKEARRAY en Excel permite generar una matriz (array) calculada de un tamaño de filas y columnas especificado. Para ello, aplica una función LAMBDA a cada celda, permitiendo crear matrices dinámicas y personalizadas basadas en la posición de cada celda (su índice de fila y columna).
Es especialmente útil para crear conjuntos de datos que siguen un patrón específico, tablas de multiplicar, matrices con valores aleatorios o cualquier otra estructura de datos donde el valor de cada celda es una función de su ubicación.
Sintaxis
=MAKEARRAY(filas; columnas; función)
La función MAKEARRAY requiere los siguientes argumentos:
- filas: El número de filas que tendrá la matriz. Debe ser un número entero mayor que cero. Obligatorio.
 - columnas: El número de columnas que tendrá la matriz. Debe ser un número entero mayor que cero. Obligatorio.
 - función: Una función LAMBDA que se invoca para crear el valor de cada celda de la matriz. La función LAMBDA debe aceptar dos argumentos: el primero para el índice de la fila y el segundo para el índice de la columna. Obligatorio.
 
Ejemplos
Ejemplo 1: Crear una matriz simple
Para crear una matriz de 3×3 donde el valor de cada celda es la suma de su número de fila y columna.
=MAKEARRAY(3; 3; LAMBDA(f; c; f + c))
Resultado:
| 2 | 3 | 4 | 
| 3 | 4 | 5 | 
| 4 | 5 | 6 | 
Ejemplo 2: Tabla de multiplicar
Genera una tabla de multiplicar clásica de 10×10.
=MAKEARRAY(10; 10; LAMBDA(f; c; f * c))
Resultado: Una matriz de 10×10 donde la celda en la fila 3, columna 4 contendrá el valor 12 (3*4).
Ejemplo 3: Crear una matriz de texto concatenado
Genera una matriz de 4×2 que concatena el texto «Fila» y «Col» con sus respectivos índices.
=MAKEARRAY(4; 2; LAMBDA(f; c; "Fila " & f & " - Col " & c))
Resultado:
| Fila 1 – Col 1 | Fila 1 – Col 2 | 
| Fila 2 – Col 1 | Fila 2 – Col 2 | 
| Fila 3 – Col 1 | Fila 3 – Col 2 | 
| Fila 4 – Col 1 | Fila 4 – Col 2 | 
Ejemplo 4: Matriz con números aleatorios
Crea una matriz de 5×5 con números enteros aleatorios entre 1 y 100. La función ALEATORIO.ENTRE se recalculará cada vez que cambie la hoja de cálculo.
=MAKEARRAY(5; 5; LAMBDA(f; c; ALEATORIO.ENTRE(1; 100)))
Ejemplo 5: Crear un tablero de ajedrez
Un uso más avanzado para crear un patrón visual, como un tablero de ajedrez con 1 y 0.
=MAKEARRAY(8; 8; LAMBDA(f; c; SI(ES.PAR(f + c); 1; 0)))
Observaciones
MAKEARRAY es una de las funciones de matrices dinámicas. Esto significa que el resultado se «desbordará» automáticamente a las celdas adyacentes si hay espacio suficiente. Si las celdas de destino no están vacías, se producirá un error #¡DESBORDAMIENTO!.
La función LAMBDA proporcionada debe aceptar exactamente dos argumentos (para la fila y la columna) y devolver un único valor. Si la LAMBDA no está construida correctamente, MAKEARRAY devolverá un error.
Errores comunes
- #¡VALOR!: Ocurre si los argumentos 
filasocolumnasson menores que 1 o no son valores numéricos. - #¡CALC!: Ocurre si la función 
LAMBDAno se puede calcular o si devuelve un resultado que no es válido, como una matriz vacía. Este error es un indicativo genérico de un error de cálculo con matrices. - #¿NOMBRE?: Generalmente ocurre si el nombre de la función 
LAMBDAno se reconoce o está mal escrito. 
Disponibilidad por versión de Excel
La función MAKEARRAY está disponible para usuarios de Microsoft 365.
Compatibilidad
| Software | Compatibilidad | Notas | 
|---|---|---|
| Microsoft Excel | ✔️ | Disponible en Microsoft 365. | 
| Google Sheets | ✔️ | La función MAKEARRAY está disponible. | 
| LibreOffice Calc | ❌ | No disponible en la versión 7.x. | 
| OpenOffice Calc | ❌ | No disponible. | 
| WPS Office Spreadsheets | ❌ | No disponible. | 
| Apple Numbers | ❌ | No disponible. | 
Funciones Relacionadas
- LAMBDA: Permite crear funciones personalizadas y reutilizables. Es un argumento obligatorio para MAKEARRAY.
 - MAP: Aplica una función LAMBDA a cada elemento de una matriz existente para devolver una nueva matriz.
 - BYROW: Aplica una función LAMBDA a cada fila de una matriz.
 - BYCOL: Aplica una función LAMBDA a cada columna de una matriz.
 - SEQUENCE: Genera una secuencia de números en una matriz, útil para casos más simples que no requieren una lógica LAMBDA compleja.
 
