Você está na página 1de 22

Las funciones matriciales en Excel permiten efectuar cálculos muy interesantes y

proporcionan a la hoja de cálculo una enorme potencia. Las funciones matriciales,


en general, abarcan varias celdas, aunque en algunos casos únicamente se centran
en una única celda. Las fórmulas matriciales se identifican ya que se encuentran
entre corchetes {}. Veamos algunas aplicaciones.

Hoja 'Formula'

Las fórmulas matriciales pueden abarcar varias celdas o una sola. En esta hoja vamos
a ver la potencias de cálculo de este tipo de expresiones cuando arrojan el resultado
en una sola celda.
as funciones matriciales en Excel permiten efectuar cálculos muy interesantes y
proporcionan a la hoja de cálculo una enorme potencia. Las funciones matriciales,
en general, abarcan varias celdas, aunque en algunos casos únicamente se centran
en una única celda. Las fórmulas matriciales se identifican ya que se encuentran
entre corchetes {}. Veamos algunas aplicaciones.

Hoja 'Formula'

Las fórmulas matriciales pueden abarcar varias celdas o una sola. En esta hoja vamos
a ver la potencias de cálculo de este tipo de expresiones cuando arrojan el resultado
en una sola celda.

Para introducir una fórmula matricial se han de seguir tres pasos:

1. Seleccionar el rango en el que la fórmula matricial dejará sus valores. Si la


fórmula matricial no abarca más de una celda simplemente no situaremos en
esa celda.
2. Escribir la fórmula propiamente dicha
3. Para validar no se ha de pulsar INTRO, sino que lo que hemos de pulsar es la
combinación de tres teclas: CONTROL+MAYUSCULAS+INTRO

Al ver una función matricial en Excel la verá ente llaves {}. Estas llaves no las debe
introducir usted al escribir la fórmula, las introducirá Excel al validar la función
pulsando CONTROL+SHIFT+INTRO.
Para introducir una fórmula matricial se han de seguir tres pasos:

1. Seleccionar el rango en el que la fórmula matricial dejará sus valores. Si la


fórmula matricial no abarca más de una celda simplemente no situaremos en
esa celda.
2. Escribir la fórmula propiamente dicha
3. Para validar no se ha de pulsar INTRO, sino que lo que hemos de pulsar es la
combinación de tres teclas: CONTROL+MAYUSCULAS+INTRO

Al ver una función matricial en Excel la verá ente llaves {}. Estas llaves no las debe
introducir usted al escribir la fórmula, las introducirá Excel al validar la función
pulsando CONTROL+SHIFT+INTRO.

Recuerde que la tecla de MAYUSCULAS también se la llama SHIFT.


Formulas matriciales.
En múltiples ocasiones deseamos que al aplicar una función Excel, se obtenga, no un resultado,
sino un conjunto de resultados como consecuencia de aplicar la función sobre un conjunto de
valores y no para obtener un solo resultado. En el caso de querer calcular el número de fila para
cada uno de los valores de una matriz, hemos utilizado la función FILA para la primera celda de la
matriz, y de forma relativa, hemos copiado esa fórmula hacia la derecha y hacia abajo, obteniendo
una matriz resultante con los números de fila correspondientes a cada uno de los valores de otra
matriz origen. Este procedimiento es correcto pero existe otro muy interesante que queremos
estudiar.

DEFINICIÓN: Una matriz es un conjunto de datos organizados en filas y columnas constituyendo


en Excel un rango rectangular de celdas.
Excel puede trabajar con matrices unidimensionales (A1:A10), bidimensionales (A1:C10) y
tridimensionales (Hoja1:Hoja5!A1:A10)

Para resolver este tipo de situaciones, Excel dispone de un mecanismo que consiste en generar
como resultado otra matriz (una sola pieza) en una sola acción: Desarrollar matricialmente la
fórmula.

Para desarrollar matricialmente una fórmula seguiremos los siguientes pasos:

1.- Escribiremos la fórmula para la primera de las celdas de resultado, en la que se desea obtener
el primero de los valores de resultado, implicando desde ella a todas las celdas origen
involucradas. En este caso aplicamos la función fila, no solo para la celda C4, sino para todas las
celdas de la matriz (o conjunto de datos origen).
Por lo tanto, la función inicial será: FILA(C4:E7) y en cada posición de la matriz obtenida aparece
el número de SU fila.
... Por lo tanto, la función será: FILA(C4:E7) y en cada posición de la matriz obtenida aparece el
número de SU fila.

2.- Seleccionamos "a punta de ratón" el rango de celdas resultado sobre las cuales deseamos
desarrollar matricialmente esa primera fórmula llamémosla "semilla":

3.- Con el rango seleccionado, nos situamos con el cursor en cualquier posición de esa función en
la barra de fórmulas:

4.- Pulsamos la combinación de teclas que convierte esa fórmula, en fórmula matricial: CTRL +
MAY + ENTER...
Como se aprecia, la fórmula queda encerrada entre llaves { } y además se completa el rango
seleccionado en la hoja con sus respectivas fórmulas y con los resultados correspondientes:

Ahora, toda la matriz resultado se comporta como un bloque, actualizado según cambien los
datos origen pero no modificable ni borrable ninguno de ellos por separado. De necesitar borrar o
cambiar alguno de ellos sería necesario borrar la matriz completa ya que no es posible eliminar
un término aislado de una matriz: Es un todo.

Tenemos ahora la matriz que, para cada valor de los de la matriz origen, contiene el número de SU
fila.

Por lo tanto, la función será: FILA(C4:E7) y en cada posición de la matriz obtenida aparece el
número de SU fila.

Ejemplo-1:
Dadas unas cantidades y los precios de unos artículos, calcular el total del pedido utilizando una
sola fórmula desarrollándola matricialmente. Sabemos que será una fórmula "al estilo" normal pero
involucrando a todas las celdas de la matriz (uni, bi o tridimensional):

Seleccionaremos todo el rango de celdas de resultado (en las que queremos completar el
resultado), en esta caso E4:E7 y desde la barra de fórmulas con el cursor situado pulsaremos
CTRL +MAY + ENTER.
El resultado es:

Si hubiéramos deseado obtener el total del pedido, ahora sumaríamos los totales (total de totales
en la celda E8) pero sería posible haber aplicado una sola fórmula para obtener ese mismo
resultado para el caso de que solo nos interesase ese dato final. La fórmula resultante sería la
siguiente:

{=SUMA(C4:C7*D4:D7)}

Por lo tanto, otra ventaja de las fórmulas matriciales es la de poder obtener resultados finales sin
necesidad de obtener resultados parciales en una columna para poder resumir posteriormente. Por
otro lado comentar que obtener resultados parciales en una columna para obtener en otro paso el
resultado final solicitado tampoco es un mal procedimiento solo que por necesitar un paso más se
considera menos técnico.
FORMUALS MATRICIALES

PROMEDIO CON UNA CONDICION

Excel 2007 tiene una función que nos da el promedio de un conjunto de valores con una
condición, tal función se llama PROMEDIO.SI, con las fórmulas matriciales podemos
hacer lo mismo. Haremos un ejemplo con ambas opciones, aclarando que estando la
función PROMEDIO.SI, siempre es preferible usar esta alternativa debido a que utiliza
menos recursos de nuestro equipo.

Otra historia es para Excel 2003, puesto que en esta versión la única alternativa son las
fórmulas matriciales, siendo la razón que PROMEDIO.SI directamente no existe.

Supongamos que una fábrica de autos, lanzó un nuevo modelo en el mes de Enero y
quiere saber cual fue el promedio de ventas de los 3 primeros días del mes en cada una
de las zonas en las que esta divide al país. Las zonas son: Norte, Sur, Este, Oeste y
centro. Para lograr su objetivo se vuelcan los datos de las ventas de esos días en una
tabla, con un sector a la derecha para los resultados

la fórmula, para la zona Norte es:


en la figura se hace la comparación con la función PROMEDIO.SI y se ve que
coinciden

FORMULAS MATRICIALES EN EXCEL

Una fórmula matricial (array formula) realiza varios cálculos en uno o más
conjuntos de valores, y devuelve uno o varios resultados. No es mucha la
información que puedes encontrar en la Ayuda de Excel sobre esta poderosa
herramienta, poco conocida y poco usada.

Una matriz de datos puede ser unidimensional (horizontal o vertical), o tener


varias dimensiones:

Si tienes una matriz de cantidades y otra de precios, puedes obtener el total de


ingresos por el método básico (multiplicar precios por cantidades y sumarlo), por
el método avanzado (usando la función SUMAPRODUCTO, que también trabaja
con matrices) o por el método experto (usando una fórmula matricial). Observa la
notación de la fórmula matricial {=SUMA(C4:D7*F4:G7)}. Podrían usarse
paréntesis para que quede un poco más claro, como {=SUMA((C4:D7)*(F4:G7))}:
La notación de una fórmula matricial puede expresarse como FORMULA
(MATRIZ1 (operador) MATRIZ2), su destino puede ser una celda o un conjunto de
ellas, y se introduce pulsando Ctrl+May+Enter.

 Fórmula puede ser alguna de las muchas funciones de Excel: SUMA, PROMEDIO,
etc
 El operador es la operación que quieres realizar. Para establecer condiciones se
utilizan los operadores AND y OR (es decir Y y O), expresados respectivamente con
el producto (*) o la suma (+).
 El destino de la fórmula matricial puede ser una sola celda que ofrezca un único
resultado, o un conjunto de celdas, que ofrezca una matriz de resultados.

Por ejemplo, una empresa tiene su matriz de cantidades vendidas (C4:D7), su


matriz de costes (F4:G7) y su matriz de márgenes porcentuales (I4:J7):

Quiere hacer dos ejercicios: por un lado A) generar su matriz de precios por
producto (añadiendo el margen a sus costes), y por otro B) obtener los valores
totales de ingresos, gastos y beneficios.
A) Matriz de precios. En este caso queremos obtener como resultado no una
celda sino un conjunto de valores. Para ello, seleccionamos las celdas objetivo
(L4:M7), escribimos la fórmula que añade los márgenes a la matriz de costes
{(F4:G7)*(1+(I4:J7))}, y pulsamos Ctrl+May+Enter. Veremos que las ocho celdas
del rango elegido se han resuelto con esa única fórmula:

Observa la fórmula usada para añadir los márgenes en porcentaje a los costes,
puede resumirse como COSTE x (1+MARGEN %), pero su potencia es que admite
matrices de valores como argumentos.

Si intentaras modificar una sola celda del rango resultante, por ejemplo la celda
M5, Excel no te dejará porque solo te permitirá modificar el rango (matriz)
completo, no una parte de él. Sirve como protección de tus fórmulas matriciales, ya
que tienes que modificar todo o nada:

B) Valores de ingresos, costes y resultados: En esta segunda parte,


queremos que el resultado aparezca en celdas individuales, no en matrices. Para
ello introducimos tres fórmulas matriciales en las celdas G10 (costes), M10
(ingresos) y M12 (beneficio):
Es cierto, es una forma complicada de hacer algo que podría hacerse más fácil. Pero
solo es el principio.

Vamos a otro ejemplo, dadas dos series de datos, por ejemplo los precios por
artículo, y el número de artículos que hemos comprado. Queremos obtener el
precio medio de los 56 artículos comprados. Generalmente multiplicaremos las dos
columnas (cantidad x precio), sumaremos el resultado y lo dividiremos entre el
número de artículos (método 1). Alternativamente, conocemos la función
SUMAPRODUCTO y la aplicamos a nuestros datos (método 2). Pero también
podemos usar las capacidades de Excel de trabajar con matrices de datos, mediante
funciones matriciales (método 3):

Para la fórmula matricial las funciones y sus argumentos son las normales en Excel,
pero recordando que trabajamos con matrices de datos. Además como he dicho
antes debemos indicar claramente que se trata de una operación con matrices; para
eso, en vez de pulsar Enter cuando hemos acabado de escribirla, usaremos
Control+Mayúsculas+Enter. Eso añadirá llaves de apertura y cierre { } a
nuestra expresión, lo cual sirve para avisar que se trata de una fórmula matricial.

Nota: Incluso cuando edites de nuevo tu fórmula matricial en la barra de


fórmulas, tendrás que validarla pulsando Ctrl+May+Enter o dará error.
Recuerda que las llaves de apertura y cierre no hay que escribirlas.

Sigues pensando: “Vaya cosa, una forma complicada de hacer algo que puedo
hacer más fácil con lo que ya sabía”. Tienes razón, los problemas de trabajar con
fórmulas matriciales no compensan su aparente utilidad en este ejemplo. Pero era
solo otro ejemplo sencillo, vamos a ver ahora la potencia de esta herramienta.

1) USO PARA DISCRIMINAR ERRORES EN SERIES DE DATOS:

Tengo una serie de 7 datos, pero uno muestra error en la hoja de cálculo. Sabemos
que no puede calcularse el promedio de una serie si alguno da error, pero puedo
usar la fórmula matricial para obtener el promedio de los datos:

Vemos que el PROMEDIO normal no ofrece ningún resultado, mientras que


usando la fórmula matricial no importa que haya elementos en error. Lo que la
función condicional SI(ESERROR()) de la fórmula matricial indica es que si algún
elemento de la matriz da error, debe tomarse el 0 (cero) como valor en el primer
caso [promedio de siete elementos 13, 18, 25, 17, 0, 15, 16], y como elemento
vacío (no computable) en el segundo [promedio de seis elementos 13, 18, 25, 17,
15, 16]. No se me ocurre una forma más fácil de evitar celdas en error, así que
después de todo parece que las matriciales tienen alguna utilidad ¿eh?. Lo mismo
sirve para otras funciones habituales con las que obtendrías errores:

2) APLICACION A RANGOS DE DATOS, USANDO CONDICIONES:

Una empresa paga un bonus a sus agentes, del 10% si sus márgenes superan la
media de la empresa, y del 5% si están por debajo de la media. Esto puede
calcularse de la forma tradicional, sin complicaciones, pero también con fórmulas
matriciales:

 Se han definido tres rangos (VENTAS, MARGEN, MGMEDIO). Los dos primeros se
usarán como matrices de datos, y el tercero como valor de comparación.
 Para hacer que una fórmula matricial se aplique no a una solo celda, sino a una
matriz de resultados (en este caso será el rango G3:G10, cada uno de los agentes),
lo primero que hay que hacer es seleccionar la matriz de salida (G3:G10) y escribir
la fórmula matricial en la primera celda del rango (G3). La fórmula elegida es una
condición {=SI(MARGEN/VENTAS>MGMEDIO;MARGEN*10%;MARGEN*5%)}
tal que para cada elemento de la matriz evalúe si el margen del agente es superior o
inferior a la media, y en cada caso aplique el 10% o el 5% de bonus. Pulsamos
Ctrl+May+Enter y el resto de celdas seleccionadas (G4 a G10) se rellenará con la
misma fórmula matricial.
En este caso también es más fácil el método tradicional, y escribir una condición
simple SI en la columna G para aplicar el porcentaje de bonus, pero solo quiero
mostrar otra forma de hacerlo.

3) OTROS EJEMPLOS:

¿Aún no le ves la utilidad?. Supongamos que tienes una lista de miles de frases, y
quieres saber cuál es la longitud en caracteres de la frase más larga. Habitualmente
añadirías una columna a la derecha de esa lista de palabras, aplicarías la función
=LARGO(celda) a cada una de las frases, y luego buscarías el mayor valor de esta
nueva columna. Pues con una función matricial te bastaría con
{=MAX(LARGO(rango)} para obtener el mismo resultado.

Vamos a otro ejemplo. Dicen que las fórmulas matriciales deben emplearse sobre
todo para evaluar (contar y sumar) celdas basándose en criterios múltiples. Una
empresa vende tres productos y tiene tres vendedores. Cada día revisan el listado
de ventas del día anterior, y quieren hacer una tabla resumen de unidades vendidas
por producto y vendedor:

 Opción 1: hacen una tabla dinámica y se olvidan de preocupaciones.


 Opción 2: son maestros de Excel, han leído este post y deciden aplicar fórmulas
matriciales.

En este caso usaremos tres rangos de datos (PROD, VEND, UDS) y una única celda
como matriz de salida (Q16). Luego llenaremos hacia abajo y hacia la derecha para
completar la tabla.

Nota: La fórmula SUMA((PROD=P16)*(VEND=Q15)*(UDS)) ofrecerá la suma de


unidades que cumplen las condiciones de Producto y Vendedor establecidas.

El siguiente ejemplo lo he tomado libremente de da TAB.IS.ON, una web muy


buena sobre Excel. Primero se obtienen mediante fórmulas matriciales los valores
máximos y mínimos de ventas de acuerdo a ciertos criterios (por producto y
región). Y luego se riza el rizo al obtener el Producto y la Región correspondientes a
los valores de ventas máximas y mínimas respectivamente. La fórmula usada es
fantástica:
 Observa el uso de matrices en la función SUMAR.SI de las celdas F3 y F9, en modo
que sus tres argumentos, tanto el rango de comparación, como el criterio, así
como el rango de suma, son matrices.
 Las fórmulas más largas son geniales. Lo que hace primero es comprobar SI la
SUMA de ventas de un determinado Producto es igual al valor máximo que puede
tener; si el resultado es cierto, devuelve el número de su fila. Usando la función
MAX se halla la FILA donde el nombre del Producto aparece por última vez, y luego
la función DESREF nos dará el nombre del Producto correspondiente a esa fila.

4) OTRAS OPERACIONES UTILES CON FORMULAS MATRICIALES:

4.1) Suma de resultados otras funciones Excel aplicadas sobre


matrices: Por ejemplo sumas de rangos redondeados, de valores absolutos, etc.
4.3) Convertir todo una matriz de números en una nueva matriz de
valores absolutos: Para ello elegimos como rango de salida una matriz del
mismo tamaño que el rango origen, y escribimos la fórmula matricial
{ABS(rango)}. Es un método mucho más rápido que aplicar condiciones.

4.4) Sumas o Recuentos basados en múltiples condiciones: Observa la


última fórmula, y cómo obtiene el recuento final (también la he tomado de da
TAB.IS.ON).
4.5) Transformaciones complejas de matrices de datos, basadas en
múltiples condiciones:

Puedes anidar sucesivas condiciones SI para tratar cada valor de la matriz origen
según reglas especiales. Recuerda que el asterisco (*) equivale al operador AND, es
decir, exige que se cumplan ambas condiciones. Puedes asimismo usar el operador
OR, con la suma (+).
4.6) Contar ocurrencias de una cadena de texto en listas de palabras,
evaluar características:

4.7) Sumar una cadena de números a los que se ha dado formato de


texto: Todos nos hemos encontrado con números que venían formateados como
texto, y para los que las funciones normales no funcionarán hasta no transformar
en números reales esos “falsos números”. Pues bien, con una fórmula matricial
usando la función VALUE, puedes hacer estas operaciones sin ninguna otra
transformación.
Esto no acaba aquí, seguiré poniendo ejemplos de esta poderosa herramienta de
fórmulas matriciales.

Você também pode gostar