¿Te has preguntado alguna vez cómo los expertos en Excel logran manejar grandes volúmenes de datos con una facilidad asombrosa? La respuesta a menudo se encuentra en el uso de fórmulas matriciales, una herramienta poderosa que puede transformar la manera en que trabajas con tus hojas de cálculo. En este artículo, exploraremos ejemplos prácticos de fórmulas matriciales diseñadas tanto para principiantes que dan sus primeros pasos en el mundo de Excel, como para usuarios avanzados que buscan llevar sus habilidades al siguiente nivel. Prepárate para descubrir cómo estas fórmulas pueden optimizar tu flujo de trabajo, mejorar la precisión de tus análisis y, en última instancia, hacer que tu experiencia con Excel sea más eficiente y productiva. ¡Comencemos!
Si eres usuario de Excel, seguramente has escuchado hablar de las fórmulas matriciales, pero ¿sabes cómo utilizarlas correctamente? Ya sea que seas principiante o un usuario avanzado, las fórmulas matriciales son una herramienta poderosa que te ayudará a realizar cálculos complejos de manera eficiente. En este artículo, te presentaremos una variedad de ejemplos de fórmulas matriciales de Excel, desde los conceptos básicos hasta los trucos más avanzados. ¡No te lo pierdas y mejora tu habilidad en Excel hoy mismo!
Las fórmulas matriciales son una de las funciones más confusas de Excel y, sin embargo, una de las más intrigantes y apasionantes. Dominar las fórmulas matriciales de Excel es un largo camino y la semana pasada dimos los primeros pasos al aprender los conceptos básicos de las funciones y fórmulas matriciales en Excel.
Sin embargo, como ocurre con cualquier otra habilidad, el camino hacia el dominio está pavimentado con la práctica. Por eso, hoy nos centraremos en ejemplos avanzados de fórmulas matriciales de Excel y trataremos de hacerlos significativos y divertidos.
Ejemplo 1. Cuente las células que cumplen determinadas condiciones.
La introducción de las funciones SUMAR.SI y CONTAR.SI, así como sus contrapartes plurales en Excel 2007, hizo que el uso de fórmulas matriciales fuera superfluo en muchos escenarios. Sin embargo, hay tareas en las que una fórmula matricial es la solución más eficaz, si no la única.
Suponga que tiene 2 columnas de números, la columna A (planificada) y la columna B (real). Y desea contar cuántas veces la columna B es mayor o igual que la columna A cuando un valor en la columna B es mayor que 0.
Esta tarea requiere comparar dos rangos y esto es exactamente para lo que están diseñadas las fórmulas matriciales de Excel.
Entonces, expresas las condiciones como (B2:B10>=A2:A10) y (B2:B10>0), las unes usando el asterisco
=SUM((B2:B10>=A2:A10) * (B2:B10>0))
>Una fórmula matricial de Excel para contar celdas que cumplen dos condiciones Recuerde presionar Ctrl + Mayús + Intro
para ingresar la fórmula matricial de Excel correctamente.
Los siguientes párrafos están destinados a aquellos a quienes les gusta mirar debajo del capó. Si no está interesado en los detalles técnicos, puede pasar directamente al siguiente ejemplo de fórmula. Para comprender mejor esta fórmula en particular y las fórmulas matriciales de Excel en general, seleccionemos las dos expresiones dentro de los paréntesis de la función SUMA en la barra de fórmulas y presionemos F9 para ver las matrices detrás de las partes de la fórmula. Si quieres más información sobre cómo F9
La clave funciona, consulte Evaluación de partes de una fórmula matricial con F9.
>
Seleccione partes de la fórmula y presione F9 para ver las matrices detrás de las partes de la fórmula. Seleccione partes de la fórmula y presione F9 para ver las matrices detrás de las partes de la fórmula.
Nota. =SUM(–(B2:B10>=A2:A10) * (B2:B10>0))
No todas las funciones de Excel que admiten matrices pueden convertir VERDADERO y FALSO en 1 y 0. En fórmulas de matriz más complejas, es posible que necesite utilizar un guión doble (–), que técnicamente se denomina operador unario doble, para convertir datos no numéricos. Valores booleanos a números. Incluir un guión doble en la fórmula anterior tampoco hará ningún daño, solo lo mantendrá seguro: Y aquí hay uno más sofisticado.
Ejemplo de fórmula matricial de Excel
eso requiere absolutamente el uso del operador unario doble.
Ejemplo 2. Usar varias funciones en fórmulas matriciales de Excel
Las fórmulas matriciales pueden funcionar con varias funciones de Excel a la vez y realizar múltiples cálculos dentro de una sola fórmula.Por ejemplo, si tiene una tabla que enumera las ventas de varios productos realizadas por varios vendedores y desea saber la venta máxima realizada por una persona determinada para un producto determinado, puede escribir una fórmula matricial basada en el siguiente patrón:=MÁX(SI((rango_vendedores=»nombre«) * (gama de productos=» nombre«),
rango_ventas ,»»)) Suponiendo que los nombres de los vendedores están en la columna A, los nombres de los productos están en la columna B y las ventas están en la columna C, la siguiente fórmula devuelve la venta más grande Miguelha hecho para
=MAX(IF(($A$2:$A$9=»mike») * ($B$2:$B$9=»apples»), $C$2:$C$9,»»))
manzanas
>Usar varias funciones en fórmulas matriciales de Excel Usar varias funciones en fórmulas matriciales de Excel En la captura de pantalla anterior, se utilizan las siguientes fórmulas de matriz de Excel (no olvide presionar
Ctrl + Mayús + Intro =MAX(IF(($A$2:$A$9=$F$1) * ($B$2:$B$9=$F$2), $C$2:$C$9,»»))
para introducirlos correctamente): =MIN(IF(($A$2:$A$9=$F$1) * ($B$2:$B$9=$F$2), $C$2:$C$9,»»))
Máximo: =AVERAGE(IF(($A$2:$A$9=$F$1) * ($B$2:$B$9=$F$2), $C$2:$C$9,»»))
Mínimo: =SUM(IF(($A$2:$A$9=$F$1) * ($B$2:$B$9=$F$2), $C$2:$C$9,»»))
Promedio:
Total:
Ejemplo 3. Fórmula matricial para contar todos los caracteres en un rango
Este ejemplo de fórmula matricial muestra cómo se puede contar el número de caracteres, incluidos los espacios, en un rango de celdas.La fórmula es tan simple como esta:=SUM(LARGO(
rango
)) =SUM(LEN(A1:A10)) Utilice la función LEN para devolver la longitud de la cadena de texto en cada celda individual y luego utilice la función SUMA para sumar esos números.
Por ejemplo, la fórmula matricial
calcula el número total de todos los caracteres con espacios en el rango A1:A10.
Ejemplo 4. Fórmula matricial para contar caracteres específicos en un rangoSi desea saber cuántas veces aparece un carácter determinado o un grupo de caracteres en un rango específico de celdas, una fórmula matricial con la función LEN puede ayudar nuevamente. En este caso, la fórmula es un poco más compleja:=SUM((LARGO(rango) – LARGO(SUSTITUTO( rango,personaje«»))) / LEN(
personaje
))
=SUM((LEN(B2:B5) – LEN(SUBSTITUTE(B2:B5, E1, «»))) / LEN(E1))
>Fórmula matricial para contar cualquier carácter dado en un rango
Fórmula matricial para contar cualquier carácter dado en un rango
En el centro de esta fórmula, la función SUSTITUIR reemplaza todas las apariciones del carácter especificado con una cadena vacía («»).
La cadena sustituida se envía a la función LEN para obtener la longitud de la cadena sin el carácter de interés («K» en este ejemplo). Y luego, restas la longitud de la cadena sustituida de la longitud de la cadena original. El resultado de esta operación es una matriz de recuentos de caracteres, uno por celda, que se divide por la longitud de la subcadena. La operación de división no es estrictamente necesaria cuando cuentas un solo carácter como en este ejemplo. Pero si está contando las apariciones de una subcadena específica en un rango (por ejemplo, pedidos que comienzan con «KM»), debe dividir por la longitud de la subcadena; de lo contrario, cada carácter de la subcadena se contará individualmente.Finalmente, usa SUM para sumar los recuentos individuales. Ejemplo 5. Suma de valores cada dos o N
thfila Si desea sumar todos los demás o cada N
thfila de una tabla, necesitarás las funciones SUMA y MOD combinadas en una fórmula matricial:=SUM((–(MOD(FILA( rango),norte)=0)) * (
rango)) La función MOD devuelve el resto redondeado al entero más cercano después de dividir el número por el divisor. Incorporamos la función FILA para obtener el número de la fila y luego lo dividimos por N
th
fila (por ejemplo, por 2 para sumar cada segunda celda) y verifique si el resto es cero. Si es así, entonces se suma la celda.
El operador unario doble (–) se utiliza para convertir valores booleanos no numéricos VERDADERO y FALSO devueltos por MOD en 1 y 0 para que la función SUMA pueda sumar los números.Por ejemplo, para contar una celda por medio en el rango B2:B10, utilice una de las siguientes fórmulas:Cuente filas pares (2Dakota del Norte4
=SUM((–(MOD(ROW($B2:B10), 2)=0))*(B2:B10))
thetc.):Contar filas impares (1calle3
=SUM((–(MOD(ROW($B2:B10), 2)=1))*(B2:B10))
terceroetc.): Obtener una fórmula universal que pueda sumar valores en cualquier N
=SUM((–(MOD((ROW($B$2:$B$7)-ROW($B$2)), E1)=E1-1))*($B$2:$B$7))
th
>Una fórmula matricial para sumar valores en filas alternas o enésimas
Una fórmula matricial para sumar valores en filas alternas o enésimas
>Datos fuente
=B8*IF(B8>=101,B6, IF(B8>=50, B5, IF(B8>=20, B4, IF( B8>=11, B3, IF(B8>=1, B2, «»)))))
Datos fuente
Esta tarea se puede realizar fácilmente utilizando la siguiente fórmula IF anidada:
=SUM(B8*(B2:B6) * (–(B8>=VALUE(LEFT(A2:A6,FIND(» «,A2:A6))))) * (–(B8<=VALUE(RIGHT(A2:A6,LEN(A2:A6) – FIND(» to «,A2:A6)-LEN(» to» ))))))
>Fórmula matricial para realizar diferentes cálculos en números dentro de diferentes rangos
=SUM(B8*{20;18;16;13;12}*{1;1;1;1;0}*{0;0;0;1;1})
Fórmula matricial para realizar diferentes cálculos en números dentro de diferentes rangos
El desglose detallado de esta fórmula probablemente requerirá un artículo separado, por lo que solo haré una rápida descripción general de la lógica. Si selecciona partes individuales de la fórmula en la barra de fórmulas y presiona F9, verá que todo se reduce a evaluar las siguientes 3 matrices (siempre que la cantidad en B8 sea 100 como en la captura de pantalla anterior): (B8>=VALUE())*(B8<=VALUE())
La primera matriz de 5 elementos no es más que los números de precios en las celdas B2:B6. Y las últimas 2 matrices de 0 y 1 determinan qué precio se utilizará en el cálculo. Entonces, la pregunta principal es: ¿de dónde vienen estas dos matrices y qué significan?La fórmula incluye 2 funciones de VALOR: el 1calle La función comprueba si el valor en B8 es mayor o igual al límite inferior de cada rango de «cantidad unitaria», y el 2
Dakota del Norte
se comprueba si B8 es menor o igual que el límite superior de cada rango (las combinaciones de funciones IZQUIERDA, DERECHA, ENCONTRAR y LEN se utilizan para extraer los valores de los límites superior e inferior). Como resultado, obtiene 0 si no se cumple la condición y 1 si se cumple la condición.Finalmente, la función SUMA multiplica la cantidad en B8 por cada elemento de la matriz de precios (B2:B6) y por cada elemento de las matrices de 0 y 1. Dado que multiplicar por 0 siempre da 0, sólo se utiliza un precio en el cálculo final: el elemento que tiene unos en las dos últimas matrices. En este ejemplo, la cantidad se multiplica por $13 que corresponde al rango de cantidades «50 a 100». son los 4
th
- elemento de la matriz de precios (celda B5 en el rango B2:B6), y es el único elemento que tiene unos en las dos últimas matrices.
- Para que la fórmula funcione correctamente, asegúrese de verificar estas dos cosas:
Las cantidades en A2:A6 deben constituir un rango contiguo de modo que ningún valor quede fuera.Todas las cantidades en A2:A6 deben ingresarse en este patrón específico «X a Y» porque está codificado en la fórmula. Si sus cantidades se ingresan de otra manera, diga «1 – 10», luego reemplace «a» con «-» en la fórmula.Si desea mostrar un «
=IF(AND(B8>=VALUE(LEFT(A2,FIND(» «,A2))), B8<=VALUE(RIGHT(A6,LEN(A6) – FIND(» to «,A6)-LEN(» to» )))), SUM(…))
Fuera de rango AND(B8>=1, B8<=200)» mensaje cuando la cantidad ingresada en B8 está fuera del rango de monto, incluya la siguiente declaración IF:
Esta compleja función If hace algo muy simple: verifica si el valor en B8 es mayor o igual que el límite inferior en A2 y menor o igual que el límite superior en A6. En otras palabras, prueba esta condición:
=IF(AND(B8>=VALUE(LEFT(A2,FIND(» «,A2))), B8<=VALUE(RIGHT(A6,LEN(A6)-FIND(» to «,A6)-LEN(» to» )))), SUM(B8*(B2:B6)*(–(B8>=VALUE(LEFT(A2:A6,FIND(» «,A2:A6)))))*(–(B8<=VALUE(RIGHT(A2:A6,LEN(A2:A6)-FIND(» to «,A2:A6)-LEN(» to» )))))), «Out of range»)
>Fórmula matricial para realizar diferentes cálculos en números dentro de rangos limitados
Fórmula matricial para realizar diferentes cálculos en números dentro de rangos limitados
Ejemplo 7. Funciones definidas por el usuario en fórmulas matriciales de Excel
Este ejemplo está destinado a usuarios avanzados que tienen algún conocimiento de las macros de Excel VBA y las funciones definidas por el usuario. Puede utilizar su propia función definida por el usuario en fórmulas matriciales de Excel, siempre que una función determinada admita cálculos en matrices. Por ejemplo, uno de nuestros gurús de Excel escribió una función llamada
Obtener color de celda que puede obtener un color de todas las celdas de un rango, exactamente como sugiere su nombre. Puede obtener el código de la función de este artículo: Sumar y contar celdas coloreadas en Excel. Y ahora, veamos cómo puedes usar el
>Usar funciones definidas por el usuario en fórmulas matriciales de Excel
=SUM(–($A$2:$A$10=$F$1) * ($C$2:$C$10) * (–(GetCellColor($C$2:$C$10)=GetCellColor($E$2))))
Usar funciones definidas por el usuario en fórmulas matriciales de Excel
Como se demuestra en la imagen de arriba, utilizamos la siguiente fórmula matricial de Excel:
- $A$2:$A$10=$F$1 Donde la celda F1 es el nombre del vendedor y E2 es el patrón de color. La fórmula suma celdas en el rango C2:C10 si se cumplen las dos condiciones siguientes: – comprueba si una celda en la columna A coincide con el nombre del vendedor en F1, que es
- GetCellColor($C$2:$C$10)=GetCellColor($E$2) neal
en este ejemplo.
– Usamos la función personalizada definida por el usuario para obtener el color de las celdas C2 a C10 y verificamos si coincide con el patrón de color en E2, verde en este caso.
Preste atención a que utilizamos el operador unario doble con las dos expresiones anteriores para convertir los valores booleanos VERDADERO y FALSO que devuelven en 1 y 0 sobre los que puede operar la función SUMA. Si se cumplen ambas condiciones, es decir, se devuelven dos unos, SUMA suma el monto de las ventas de la celda correspondiente en la columna C.
Más ejemplos de fórmulas matriciales de Excel
Y aquí hay algunos ejemplos más de fórmulas matriciales de Excel que pueden resultar útiles.
Fórmulas matriciales de Excel: limitaciones y alternativas
Las fórmulas matriciales son, con diferencia, una de las funciones más potentes de Excel, pero no todopoderosas. Estas son las limitaciones más críticas de las matrices en Excel.
1. Las matrices grandes pueden ralentizar Excel
Aunque Microsoft Excel no impone ningún límite en el tamaño de las matrices que utiliza en sus hojas de cálculo, está limitado por la memoria disponible en su computadora porque recalcular fórmulas con matrices grandes requiere mucho tiempo. Entonces, en teoría, puede crear matrices enormes que constan de cientos o miles de elementos; en la práctica, esto no se recomienda porque pueden ralentizar drásticamente sus libros de trabajo.
2. No se permiten matrices de columnas enteras
No se le permite crear una matriz que incluya una columna completa o varias columnas por una razón obvia explicada anteriormente. Las fórmulas de matriz en Excel consumen muchos recursos y Microsoft está tomando medidas preventivas contra la congelación de Excel.
3. Limitar a fórmulas matriciales que hagan referencia a otra hoja
En Excel 2003 y versiones anteriores, una hoja de cálculo determinada podía contener un máximo de 65.472 fórmulas matriciales que hacían referencia a otra hoja. En las versiones modernas de Excel 2013, 2010 y 2007, las fórmulas matrices entre hojas de cálculo están limitadas únicamente por la memoria disponible. 4. Depuración de fórmulas matriciales Si su fórmula matricial arroja un resultado incorrecto, asegúrese de presionar Ctrl + Mayús + Intro al entrar en él. Si lo hizo, seleccione partes de la fórmula y presione el botón
F9
clave para evaluarlos y depurarlos. 5. Alternativas a las fórmulas matriciales.Si encuentra que las fórmulas de matriz de Excel son demasiado complejas y confusas, puede usar una de las funciones de Excel que pueden procesar matrices de datos de forma natural (sin presionar
Ctrl + Mayús + Intro ). Un buen ejemplo es la función SUMPRODUCT que multiplica valores en las matrices especificadas y devuelve la suma de esos productos. Otro ejemplo es la función ÍNDICE de Excel con un valor vacío o 0 en el argumento num_fila o num_col para devolver una matriz de valores de toda la columna o fila, respectivamente.Si desea descargar los ejemplos de fórmulas matriciales de Excel que se analizan en este tutorial para aplicarles ingeniería inversa y comprenderlos mejor, lo invitamos a descargar ejemplos de fórmulas . Este es un archivo .xlsm ya que el ejemplo 6 incluye una función VBA personalizada, por lo que tendrá que hacer clic en
Contenido disponible