function

MAKEARRAY

Todo sobre la función MAKEARRAY en Excel

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 filas o columnas son menores que 1 o no son valores numéricos.
  • #¡CALC!: Ocurre si la función LAMBDA no 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 LAMBDA no 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.

Ver también...