Tabla de contenido
En este tutorial, aprenderás qué es una fórmula de matriz de Excel, cómo introducirla correctamente en tus hojas de cálculo y cómo utilizar constantes de matriz y funciones de matriz.
Las fórmulas de matriz en Excel son una herramienta extremadamente potente y una de las más difíciles de dominar. Una sola fórmula de matriz puede realizar múltiples cálculos y sustituir a miles de fórmulas habituales. Y aún así, el 90% de los usuarios nunca han utilizado funciones de matriz en sus hojas de cálculo simplemente porque les da miedo empezar a aprenderlas.
De hecho, las fórmulas de matriz son una de las características de Excel más confusas de aprender. El objetivo de este tutorial es hacer que la curva de aprendizaje sea lo más fácil y suave posible.
¿Qué es una matriz en Excel?
Antes de empezar con las funciones y fórmulas de array, veamos qué significa el término "array". Básicamente, un array es una colección de elementos. Los elementos pueden ser texto o números y pueden residir en una sola fila o columna, o en varias filas y columnas.
Por ejemplo, si pones tu lista semanal de la compra en un formato de matriz de Excel, tendría el siguiente aspecto:
{"Leche", "Huevos", "Mantequilla", "Copos de maíz"}
A continuación, si seleccionas las celdas A1 a D1, introduces la matriz anterior precedida de un signo igual (=) en la barra de fórmulas y pulsas CTRL + MAYÚS + INTRO , obtendrás el siguiente resultado:
Lo que acabas de hacer es crear una matriz horizontal unidimensional. Nada terrible hasta ahora, ¿verdad?
¿Qué es una fórmula de matriz en Excel?
La diferencia entre una fórmula de matriz y una fórmula normal es que una fórmula de matriz procesa varios valores en lugar de sólo uno. En otras palabras, una fórmula de matriz en Excel evalúa todos los valores individuales de una matriz y realiza múltiples cálculos en uno o varios elementos según las condiciones expresadas en la fórmula.
Una fórmula de matriz no sólo puede tratar varios valores simultáneamente, sino que también puede devolver varios valores a la vez. Por lo tanto, los resultados devueltos por una fórmula de matriz también son una matriz.
Las fórmulas de matriz están disponibles en todas las versiones de Excel 2019, Excel 2016, Excel 2013, Excel 2010, Excel 2007 e inferiores.
Y ahora, parece ser el momento adecuado para que crees tu primera fórmula de matriz.
Ejemplo sencillo de fórmula de matriz de Excel
Suponga que tiene algunos artículos en la columna B, sus precios en la columna C, y quiere calcular el total general de todas las ventas.
Por supuesto, nada impide calcular primero los subtotales de cada fila con algo tan sencillo como =B2*C2
y luego sumar esos valores:
Sin embargo, una fórmula de matriz puede ahorrarle esas pulsaciones adicionales, ya que hace que Excel almacene los resultados intermedios en la memoria en lugar de en una columna adicional. Por lo tanto, todo lo que se necesita es una única fórmula de matriz y 2 pasos rápidos:
- Selecciona una celda vacía e introduce en ella la siguiente fórmula:
=SUMA(B2:B6*C2:C6)
- Pulse la combinación de teclas CTRL + MAYÚS + INTRO para completar la fórmula de la matriz.
Una vez hecho esto, Microsoft Excel rodea la fórmula con {corchetes}, que es una indicación visual de una fórmula de matriz.
Lo que hace la fórmula es multiplicar los valores de cada fila individual de la matriz especificada (celdas B2 a C6), sumar los subtotales y obtener el total general:
Este sencillo ejemplo muestra lo poderosa que puede ser una fórmula de matriz. Cuando trabaje con cientos y miles de filas de datos, piense en el tiempo que puede ahorrar introduciendo una fórmula de matriz en una sola celda.
¿Por qué utilizar fórmulas de matriz en Excel?
Las fórmulas de matriz de Excel son la herramienta más práctica para realizar cálculos sofisticados y tareas complejas. Una sola fórmula de matriz puede sustituir literalmente a cientos de fórmulas habituales. Las fórmulas de matriz son muy buenas para tareas como:
- Suma números que cumplen ciertas condiciones, por ejemplo suma N valores mayores o menores de un rango.
- Suma cada dos filas, o cada N filas o columnas, como se muestra en este ejemplo.
- Cuenta el número de todos o de ciertos caracteres en un rango especificado. Aquí hay una fórmula de matriz que cuenta todos los caracteres, y otra que cuenta cualquier carácter dado.
Cómo introducir una fórmula de matriz en Excel (Ctrl + Mayús + Intro)
Como ya sabes, la combinación de las 3 teclas CTRL + SHIFT + ENTER es un toque mágico que convierte una fórmula normal en una fórmula de matriz.
Al introducir una fórmula de matriz en Excel, hay que tener en cuenta 4 cosas importantes:
- Una vez que has terminado de escribir la fórmula y has pulsado simultáneamente las teclas CTRL MAYÚS INTRO, Excel encierra automáticamente la fórmula entre {corchetes}. Cuando seleccionas una(s) celda(s) de este tipo, puedes ver los corchetes en la barra de fórmulas, lo que te da una pista de que ahí hay una fórmula de matriz.
- No es posible escribir manualmente las llaves alrededor de una fórmula, sino que es necesario pulsar la combinación de teclas Ctrl+Mayús+Intro para completar una fórmula de matriz.
- Cada vez que editas una fórmula de matriz, desaparecen los corchetes y debes volver a pulsar Ctrl+Mayús+Intro para guardar los cambios.
- Si olvida pulsar Ctrl+Mayús+Intro, su fórmula se comportará como una fórmula normal y procesará sólo el primer valor(es) de la(s) matriz(s) especificada(s).
Dado que todas las fórmulas de matriz de Excel requieren pulsar Ctrl + Mayús + Intro, a veces se denominan Fórmulas CSE .
Utilice la tecla F9 para evaluar partes de una fórmula de matriz
Al trabajar con fórmulas de matriz en Excel, puedes observar cómo calculan y almacenan sus elementos (matrices internas) para mostrar el resultado final que ves en una celda. Para ello, selecciona uno o varios argumentos dentro de los paréntesis de una función y, a continuación, pulsa la tecla F9. Para salir del modo de evaluación de fórmulas, pulsa la tecla Esc.
En el ejemplo anterior, para ver los subtotales de todos los productos, se selecciona B2:B6*C2:C6, se pulsa F9 y se obtiene el siguiente resultado.
Nota: Preste atención a que debe seleccionar alguna parte de la fórmula antes de pulsar F9, de lo contrario la tecla F9 simplemente sustituirá su fórmula por el valor o valores calculados.
Fórmulas de matriz unicelular y multicelular en Excel
Una fórmula de matriz de Excel puede devolver un resultado en una sola celda o en varias celdas. Una fórmula de matriz introducida en un rango de celdas se denomina fórmula multicelda Una fórmula de matriz que reside en una única celda se denomina fórmula de matriz. fórmula unicelular .
Existen algunas funciones de Excel diseñadas para devolver matrices de varias celdas, por ejemplo TRANSPOSE, TREND, FREQUENCY, LINEST, etc.
Otras funciones, como SUM, AVERAGE, AGGREGATE, MAX, MIN, pueden calcular expresiones de matriz cuando se introducen en una sola celda utilizando Ctrl + Mayús + Intro .
Los siguientes ejemplos muestran cómo utilizar una fórmula de matriz unicelular y multicelular.
Ejemplo 1. Una fórmula de matriz unicelular
Supongamos que tiene dos columnas con el número de artículos vendidos en 2 meses diferentes, digamos las columnas B y C, y quiere encontrar el máximo incremento de ventas.
Normalmente, se añadiría una columna adicional, digamos la columna D, que calcula la variación de ventas de cada producto utilizando una fórmula como la siguiente =C2-B2
y luego encontrar el valor máximo en esa columna adicional =MAX(D:D)
.
Una fórmula de matriz no necesita una columna adicional, ya que almacena perfectamente los resultados intermedios en la memoria. Así pues, basta con introducir la siguiente fórmula y pulsar Ctrl + Mayús + Intro :
=MAX(C2:C6-B2:B6)
Ejemplo 2. Una fórmula de matriz multicelda en Excel
En el ejemplo SUM anterior, supongamos que tiene que pagar un 10% de impuestos por cada venta y quiere calcular el importe de impuestos de cada producto con una fórmula.
Selecciona el rango de celdas vacías, digamos D2:D6, e introduce la siguiente fórmula en la barra de fórmulas:
=B2:B6 * C2:C6 * 0,1
Una vez que pulse Ctrl + Mayús + Intro , Excel colocará una instancia de su fórmula de matriz en cada celda del rango seleccionado, y obtendrá el siguiente resultado:
Ejemplo 3. Uso de una función de matriz de Excel para devolver una matriz de varias celdas
Como ya se ha mencionado, Microsoft Excel proporciona algunas de las llamadas "funciones de matriz" que están especialmente diseñadas para trabajar con matrices de varias celdas. TRANSPOSE es una de esas funciones y vamos a utilizarla para transponer la tabla anterior, es decir, convertir filas en columnas.
- Seleccione un rango de celdas vacío en el que desee que aparezca la tabla transpuesta. Dado que estamos convirtiendo filas en columnas, asegúrese de seleccionar el mismo número de filas y columnas que columnas y filas tenga su tabla de origen, respectivamente. En este ejemplo, estamos seleccionando 6 columnas y 4 filas.
- Pulse F2 para entrar en el modo de edición.
- Introduzca la fórmula y pulse Ctrl + Mayús + Intro .
En nuestro ejemplo, la fórmula es:
=TRANSPONER($A$1:$D$6)
El resultado será parecido a esto:
Así es como se usa TRANSPONER como una fórmula de matriz CSE en Excel 2019 y versiones anteriores. En Dynamic Array Excel, esto también funciona como una fórmula regular. Para aprender otras formas de transponer en Excel, consulte este tutorial: Cómo cambiar columnas y filas en Excel.
Cómo trabajar con fórmulas de matrices multicelda
Cuando trabaje con fórmulas de matrices de varias celdas en Excel, asegúrese de seguir estas reglas para obtener los resultados correctos:
- Seleccione el rango de celdas donde desea obtener los resultados antes de introduciendo la fórmula.
- A borrar una fórmula de matriz de varias celdas, seleccione todas las celdas que la contienen y pulse SUPR , o seleccione toda la fórmula en la barra de fórmulas, pulse SUPR y, a continuación, pulse Ctrl + Mayús + Intro .
- No se puede editar ni mover el contenido de una celda individual en una fórmula de matriz, ni tampoco se pueden insertar nuevas celdas en una fórmula de matriz de varias celdas ni eliminar las existentes. Siempre que se intente hacer esto, Microsoft Excel lanzará la advertencia " No se puede modificar parte de una matriz ".
- A retractil una fórmula de matriz, es decir, para aplicarla a menos celdas, primero hay que borrar la fórmula existente y luego introducir una nueva.
- A ampliar una fórmula de matriz, es decir, aplicarla a más celdas, selecciona todas las celdas que contengan la fórmula actual más las celdas vacías donde quieras tenerla, pulsa F2 para cambiar al modo de edición, ajusta las referencias de la fórmula y pulsa Ctrl + Mayús + Intro para actualizarla.
- No se pueden utilizar fórmulas de matriz de varias celdas en tablas de Excel.
- Debe introducir una fórmula de matriz multicelda en un rango de celdas del mismo tamaño que la matriz resultante devuelta por la fórmula. Si la fórmula de matriz de Excel produce una matriz mayor que el rango seleccionado, los valores sobrantes no aparecerán en la hoja de cálculo. Si la matriz devuelta por la fórmula es menor que el rango seleccionado, aparecerán errores #N/A en las celdas sobrantes.
Si su fórmula puede devolver un array con un número variable de elementos, introdúzcalo en un rango igual o mayor que el array máximo devuelto por la fórmula y envuelva su fórmula en la función IFERROR, como se demuestra en este ejemplo.
Constantes de matriz de Excel
En Microsoft Excel, una constante de matriz es simplemente un conjunto de valores estáticos. Estos valores nunca cambian cuando se copia una fórmula a otras celdas o valores.
Ya has visto un ejemplo de una constante de array creada a partir de una lista de la compra al principio de este tutorial. Ahora, vamos a ver qué otros tipos de array existen y cómo se crean.
Existen 3 tipos de constantes de array:
1. Constante de matriz horizontal
Una constante de matriz horizontal reside en una fila. Para crear una constante de matriz de fila, escriba los valores separados por comas y enciérrelos entre llaves, por ejemplo {1,2,3,4}.
Nota: Al crear una constante de matriz, debe escribir manualmente las llaves de apertura y cierre.
Para introducir una matriz horizontal en una hoja de cálculo, seleccione el número correspondiente de celdas en blanco en una fila, escriba la fórmula ={1,2,3,4}
en la barra de fórmulas y pulsa Ctrl + Mayús + Intro . El resultado será similar a éste:
Como se ve en la captura de pantalla, Excel envuelve una constante de matriz en otro conjunto de llaves, exactamente como lo hace cuando se introduce una fórmula de matriz.
2. Constante de matriz vertical
Una constante de matriz vertical reside en una columna. Se crea del mismo modo que una matriz horizontal, con la única diferencia de que se delimitan los elementos con punto y coma, por ejemplo:
={11; 22; 33; 44}
3. Constante de matriz bidimensional
Para crear una matriz bidimensional, separa cada fila con un punto y coma y cada columna de datos con una coma.
={"a", "b", "c"; 1, 2, 3}
Trabajar con constantes de matriz de Excel
Las constantes de matriz son una de las piedras angulares de una fórmula de matriz de Excel. La siguiente información y consejos pueden ayudarte a utilizarlas de la manera más eficiente.
- Elementos de una constante de matriz
Una constante de matriz puede contener números, valores de texto, booleanos (TRUE y FALSE) y valores de error, separados por comas o punto y coma.
Puede introducir un valor numérico como entero, decimal o en notación científica. Si utiliza valores de texto, deben ir entre comillas dobles (") como en cualquier fórmula de Excel.
Una constante de matriz no puede incluir otras matrices, referencias a celdas, rangos, fechas, nombres definidos, fórmulas o funciones.
Ver también: Funciones lógicas en Excel: AND, OR, XOR y NOT - Nombrar constantes de matriz
Para facilitar el uso de una constante de matriz, asígnale un nombre:
- Cambiar a la Ficha Fórmulas> Nombres definidos y haga clic en Definir nombre También puede pulsar Ctrl + F3 y hacer clic en Nuevo .
- Escriba el nombre en el campo Nombre
- En el Se refiere a introduzca los elementos de su constante de matriz rodeados de llaves con el signo de igualdad precedente (=). Por ejemplo:
={"Su", "Mo", "Tu", "We", "Th", "Fr", "Sa"}
- Haga clic en Aceptar para guardar la matriz con nombre y cerrar la ventana.
Para introducir la constante de matriz con nombre en una hoja, seleccione tantas celdas de una fila o columna como elementos tenga su matriz, escriba el nombre de la matriz en la barra de fórmulas precedido del signo = y pulse Ctrl + Mayús + Intro .
El resultado debería parecerse a esto:
- Prevención de errores
Si su constante de matriz no funciona correctamente, compruebe los siguientes problemas:
- Delimite los elementos de su constante de matriz con el carácter adecuado: coma en las constantes de matriz horizontales y punto y coma en las verticales.
- Selecciona un rango de celdas que coincida exactamente con el número de elementos de tu constante de array. Si seleccionas más celdas, cada celda extra tendrá el error #N/A. Si seleccionas menos celdas, sólo se insertará una parte del array.
Uso de constantes de matriz en fórmulas de Excel
Ahora que ya conoces el concepto de constantes de arrays, veamos cómo puedes utilizar informulas de arrays para resolver tus tareas prácticas.
Ejemplo 1. Suma N números mayores / menores de un rango
Se empieza creando una constante de matriz vertical que contenga tantos números como se quieran sumar. Por ejemplo, si se quieren sumar 3 números menores o mayores de un rango, la constante de matriz es {1,2,3}.
Luego, se toma la función LARGE o SMALL, se especifica todo el rango de celdas en el primer parámetro y se incluye la constante del array en el segundo. Finalmente, se incrusta en la función SUM, así:
Suma los 3 números mayores: =SUMA(LARGE(rango, {1,2,3}))
Suma los 3 números más pequeños: =SUMA(SMALL(rango, {1,2,3}))
No olvides pulsar Ctrl + Mayús + Intro ya que estás introduciendo una fórmula de matriz, y obtendrás el siguiente resultado:
De forma similar, puede calcular la media de N valores más pequeños o más grandes de un intervalo:
Media de los 3 primeros números: =PROMEDIO(LARGE(rango, {1,2,3}))
Media de los 3 números inferiores: =AVERAGE(SMALL(rango, {1,2,3}))
Ejemplo 2. Fórmula de matriz para contar celdas con múltiples condiciones
Supongamos que dispone de una lista de pedidos y desea saber cuántas veces ha vendido un vendedor determinado unos productos determinados.
La forma más fácil sería utilizar una fórmula COUNTIFS con múltiples condiciones. Sin embargo, si desea incluir muchos productos, su fórmula COUNTIFS puede crecer demasiado en tamaño. Para hacerlo más compacto, puede utilizar COUNTIFS junto con SUM e incluir una constante de matriz en uno o varios argumentos, por ejemplo:
=SUMA(COUNTIFS(intervalo1, "criterios1", intervalo2, {"criterios1", "criterios2"}))
La fórmula real puede ser la siguiente:
=SUMA(COUNTIFS(B2:B9, "sally", C2:C9, {"manzanas", "limones"}))
En las fórmulas de matrices reales, puede incluir tantos elementos como requiera su lógica empresarial, siempre que la longitud total de la fórmula no supere los 8.192 caracteres en Excel 2019 - 2007 (1.024 caracteres en Excel 2003 e inferiores) y que su equipo sea lo suficientemente potente como para procesar matrices de gran tamaño. Por favorconsulte las limitaciones de las fórmulas de matriz para obtener más detalles.
Y aquí hay un ejemplo avanzado de fórmula de matriz que encuentra la suma de todos los valores coincidentes en una tabla: SUM y VLOOKUP con una constante de matriz.
Operadores AND y OR en fórmulas de matriz de Excel
Un operador de matriz indica a la fórmula cómo desea procesar las matrices: utilizando la lógica AND u OR.
- El operador AND es el asterisco (*), que es el símbolo de multiplicación. Indica a Excel que devuelva TRUE si TODAS las condiciones se evalúan como TRUE.
- El operador OR es el signo más (+). Devuelve VERDADERO si CUALQUIERA de las condiciones de una expresión dada se evalúa como VERDADERO.
Fórmula de matriz con el operador AND
En este ejemplo, hallamos la suma de las ventas en las que el vendedor es Mike Y el producto es Manzanas :
=SUMA((A2:A9="Mike") * (B2:B9="Manzanas") * (C2:C9))
O
=SUMA(IF(((A2:A9="Mike") * (B2:B9="Manzanas")), (C2:C9)))
Técnicamente, esta fórmula multiplica los elementos de las tres matrices en las mismas posiciones. Las dos primeras matrices están representadas por los valores TRUE y FALSE, que son los resultados de comparar A2:A9 con Mike" y B2:B9 con "Manzanas". La tercera matriz contiene los números de venta del intervalo C2:C9. Como cualquier operación matemática, la multiplicación convierte TRUE y FALSE en 1 y 0, respectivamente. Y comomultiplicar por 0 siempre da cero, la matriz resultante tiene 0 cuando no se cumplen una o ambas condiciones. Si se cumplen ambas condiciones, el elemento correspondiente de la tercera matriz entra en la matriz final (por ejemplo, 1*1*C2 = 10). Así, el resultado de la multiplicación es esta matriz: {10;0;0;30;0;0;0;0}. Finalmente, la función SUM suma los elementos de la matriz y devuelve un resultado de 40.
Fórmula de matriz de Excel con el operador OR
La siguiente fórmula de matriz con el operador OR (+) suma todas las ventas en las que el vendedor es Mike O el producto es Manzanas:
=SUMA(IF(((A2:A9="Mike") + (B2:B9="Manzanas")), (C2:C9)))
En esta fórmula, sumas los elementos de las dos primeras matrices (que son las condiciones que quieres probar), y obtienes TRUE (>0) si al menos una condición se evalúa como TRUE; FALSE (0) cuando todas las condiciones se evalúan como FALSE. Luego, IF comprueba si el resultado de la suma es mayor que 0, y si lo es, SUM suma el elemento correspondiente de la tercera matriz (C2:C9).
Consejo. En las versiones modernas de Excel, no es necesario utilizar una fórmula de matriz para este tipo de tareas - una simple fórmula SUMIFS las maneja perfectamente. No obstante, los operadores AND y OR de las fórmulas de matriz pueden resultar útiles en escenarios más complejos, por no hablar de una muy buena gimnasia mental : )
Operador unario doble en fórmulas de matriz de Excel
Si alguna vez has trabajado con fórmulas de matriz en Excel, es probable que te hayas encontrado con algunas que contenían un guión doble (--) y te hayas preguntado para qué se utilizaba.
Un guión doble, que técnicamente se denomina operador unario doble, se utiliza para convertir valores booleanos no numéricos (TRUE / FALSE) devueltos por algunas expresiones en 1 y 0 que una función de matriz puede entender.
Supongamos que tiene una lista de fechas en la columna A y desea saber cuántas fechas se producen en enero, independientemente del año.
La siguiente fórmula funcionará a las mil maravillas:
=SUM(--(MONTH(A2:A10)=1))
Como se trata de una fórmula de matriz de Excel, recuerde pulsar Ctrl + Mayús + Intro para completarla.
Si está interesado en algún otro mes, sustituya 1 por el número correspondiente. Por ejemplo, 2 significa febrero, 3 significa marzo, etc. Para que la fórmula sea más flexible, puede especificar el número de mes en alguna celda, como se muestra en la captura de pantalla:
Y ahora, analicemos cómo funciona esta fórmula de matriz. La función MES devuelve el mes de cada fecha de las celdas A2 a A10 representado por un número de serie, que produce la matriz {2;1;4;2;12;1;2;12;1}.
Después, cada elemento de la matriz se compara con el valor de la celda D1, que es el número 1 en este ejemplo. El resultado de esta comparación es una matriz de valores booleanos TRUE y FALSE. Como recordarás, puedes seleccionar una parte determinada de una fórmula de matriz y pulsar F9 para ver a qué equivale esa parte:
Por último, tiene que convertir estos valores booleanos en 1 y 0 que la función SUMA pueda entender. Y para esto es necesario el operador unario doble. El primer unario coacciona TRUE/FALSE a -1/0, respectivamente. El segundo unario niega los valores, es decir, invierte el signo, convirtiéndolos en +1 y 0, que la mayoría de las funciones de Excel pueden entender y trabajar con ellos. Si elimina el unario doblede la fórmula anterior, no funcionará.
Espero que este breve tutorial te haya resultado útil en tu camino hacia el dominio de las fórmulas de matrices de Excel. La semana que viene, continuaremos con las matrices de Excel centrándonos en ejemplos de fórmulas avanzadas. Por favor, permanece atento y ¡gracias por leer!