Documenti di Didattica
Documenti di Professioni
Documenti di Cultura
Para convertirse en un usuario avanzado de Excel, debe saber cmo usar las frmulas de matriz que pueden ejecutar clculos que no se pueden hacer mediante el uso de frmulas que no son de matriz. El artculo siguiente est basado en una serie de columnas de Usuarios avanzados de Excel escritas por Colin Wilcox y adaptadas de los captulos 14 y 15 de Excel 2002 Formulas (Frmulas de Excel 2002), un libro escrito por John Walkenbach, un MVP de Excel.
En este artculo:
Obtener informacin acerca de las frmulas de matriz Obtener informacin acerca de las constantes de matriz Crear constantes unidimensionales y bidimensionales Trabajar con frmulas de matriz bsicas Trabajar con frmulas de matriz avanzadas
Es posible que descubra que a las frmulas de matriz tambin se las conoce
como "frmulas CSE". Esto se debe a que para especificarlas en los libros se presiona CTRL+MAY S+ENTRAR.
25/01/12
Si ha hecho un poco de programacin, es probable que se haya encontrado con el trmino matri . A efectos de este artculo, una matriz es una coleccin de elementos. En Excel, esos elementos pueden residir en una nica fila (lo que se denomina una matriz horizontal unidimensional), una columna (una matriz vertical unidimensional) o varias filas y columnas (una matriz bidimensional). En Excel no es posible crear matrices ni frmulas de matriz tridimensionales. Una frmula de matriz es una frmula que puede realizar varios clculos en uno o varios de los elementos de una matriz. Las frmulas de matriz pueden devolver varios resultados o un nico resultado. Por ejemplo, se puede colocar una frmula de matriz en un rango de celdas y utilizarla para calcular una columna o fila de subtotales. Tambin se puede colocar en una sola celda y calcular una cantidad nica. Una frmula de matriz que reside en varias celdas se denomina frmula de varias celdas, mientras una que reside en una sola celda se denomina frmula de una celda. En los ejemplos de la siguiente seccin se muestra cmo crear frmulas de matriz de varias celdas y de una celda.
PRUBELO!
En este ejercicio se muestra cmo utilizar frmulas de matriz de varias celdas y una celda para calcular un conjunto de cifras de ventas. En el primer conjunto de pasos se emplea una frmula de varias celdas para calcular un conjunto de subtotales. En el segundo se usa una frmula de una celda para calcular un total general.
4. Para multiplicar los valores de la matriz (el rango de celdas comprendido entre C2 y D11), seleccione las celdas desde E2 a E11 y, a continuacin, escriba la siguiente frmula en la barra de frmulas:
microsoft.com/
/directrices-y-ejemplos-de-formulas-de-matriz-HA01034
2/19
25/01/12
=C2:C11*D2:D11 5. Presione CTRL+MAY S+ENTRAR. Excel incluye la frmula entre llaves ({ }) y coloca una instancia de la misma en cada celda del rango seleccionado. Eso sucede con mucha rapidez, as que lo que ver en la columna E es la cifra de ventas total de cada tipo de vehculo por vendedor.
ver la misma frmula. Esa coherencia garantiza una mayor precisin. Seguridad No es posible sobrescribir un componente de una frmula de
matriz de varias celdas. Por ejemplo, haga clic en la celda E3 y presione SUPR. Tendr que seleccionar todo el rango de celdas (de E2 a E11) y
microsoft.com/ /directrices-y-ejemplos-de-formulas-de-matriz-HA01034 3/19
25/01/12
modificar la frmula de la matriz completa o dejar la matriz como est. Como medida de seguridad adicional, tiene que presionar CTRL+MAY S+ENTRAR para confirmar la modificacin de la frmula. Tama os de archivo ms peque os A menudo puede usar una frmula
de matriz sencilla en lugar de varias frmulas intermedias. Por ejemplo, el libro que ha creado para este ejercicio emplea una frmula de matriz para calcular los resultados de la columna E. Si hubiera utilizado frmulas estndar (como =C2*D2), habra usado 11 frmulas distintas para calcular los mismos resultados.
25/01/12
(por ejemplo, =C2:C11*D2:D11), presione SUPR y, a continuacin, CTRL+MAY S+ENTRAR. No puede insertar celdas en blanco en una frmula de matriz de varias celdas ni eliminar celdas de la misma.
3. Seleccione el rango de celdas que contiene la frmula de matriz actual (E2:E11) ms las celdas vacas (E12:E17) situadas junto a los nuevos datos. En otras palabras, seleccione las celdas E2:E17. 4. Presione F2 para ir al modo de edicin. 5. En la barra de frmulas, cambie C11 por C17, D11 por D17 y, a continuacin, presione CTRL+MAY S+ENTRAR. Excel actualiza la frmula de las celdas E2 a E11 y coloca una instancia de la misma en las nuevas celdas, E12 a E17.
25/01/12
Las frmulas de matriz pueden parecer mgicas, pero tambin tienen algunas desventajas: A veces uno puede olvidarse de presionar CTRL+MAY S+ENTRAR. Acurdese de presionar esta combinacin de teclas siempre que especifique o modifique una frmula de matriz. Es posible que otros usuarios no entiendan las frmulas. En la prctica, normalmente existe poca documentacin sobre las frmulas de matriz en una hoja de clculo, as que si otros usuarios necesitan modificar los libros, debera evitarlas o asegurarse de que esos usuarios entiendan cmo modificarlas. Segn la velocidad de procesamiento y la memoria del equipo, las frmulas de matriz de gran tamao pueden ralentizar los clculos. Para obtener ms informacin acerca de cmo trabajar con frmulas de matriz, vea los siguientes temas: Crear una frmula de matriz que calcula un resultado nico Crear una frmula de matriz que calcula varios resultados
25/01/12
funciones de Excel.
En este caso,
Es posible que se pregunte por qu no puede escribir los nmeros de forma manual. La seccin Usar constantes en frmulas ms adelante muestra las ventajas de usar constantes de matriz.
25/01/12
tres filas de alto. 2. En la barra de frmulas, escriba la siguiente frmula y presione CTRL+MAY S+ENTRAR: ={1;2;3;4,5;6;7;8,9;10;11;12 Ver el resultado siguiente:
3. En la celda A3, escriba la siguiente frmula y presione CTRL+MAY S+ENTRAR: =SUMA(A1:E1*{1;2;3;4;5 ) Observe que Excel incluye la constante entre otro par de llaves, dado que la ha especificado como una frmula de matriz.
Funcin
microsoft.com/ /directrices-y-ejemplos-de-formulas-de-matriz-HA01034 8/19
25/01/12
Matriz almacenada Operador Constante de matriz El ltimo elemento incluido en los parntesis es la constante de matriz: {1;2;3;4;5}. Recuerde que Excel no incluye las constantes de matriz entre llaves; es usted quien debe hacerlo. Recuerde tambin que despus de agregar una constante a una frmula de matriz, se presiona CTRL+MAY S+ENTRAR para especificar la frmula. Dado que Excel realiza en primer lugar las operaciones de las expresiones incluidas entre parntesis, los dos siguientes elementos que entran en accin son los valores almacenados en el libro (A1:E1) y el operador. En este punto, la frmula multiplica los valores de la matriz almacenada por los valores correspondientes de la constante. Es el equivalente de: =SUMA(A1*1;B1*2;C1*3;D1*4;E1*5) Por ltimo, la funcin SUMA agrega los valores y en la celda A3 aparece la suma 85: Para evitar el uso de la matriz almacenada y simplemente conservar la operacin en su totalidad en memoria, sustituya la matriz almacenada por otra constante de matriz: =SUMA({3;4;5;6;7}*{1;2;3;4;5}) Para intentarlo, copie la funcin, seleccione una celda en blanco del libro, pegue la frmula en la barra de frmulas y, a continuacin, presione CTRL+MAY S+ENTRAR. Ver el mismo resultado que en el ejercicio anterior, cuando emple la frmula de matriz =SUMA(A1:E1*{1;2;3;4;5}).
25/01/12
2. En el cuadro Nombre, escriba Trimestre1. 3. En el cuadro Se refiere a, escriba la siguiente constante (acurdese de escribir las llaves de forma manual): ={"Enero";"Febrero";"Marzo" El contenido del cuadro de dilogo debera tener este aspecto:
4. Haga clic en Aceptar. 5. En la hoja de clculo, seleccione una fila de tres celdas en blanco. 6. Escriba la frmula siguiente y, a continuacin, presione CTRL+MAY S+ENTRAR. =Trimestre1 Aparece el siguiente resultado.
Cuando emplee una constante con nombre como frmula de matriz, acurdese de escribir el signo igual. Si no lo hace, Excel interpretar la matriz como una cadena de texto. Por ltimo, tenga en cuenta que puede utilizar combinaciones de texto y nmeros.
25/01/12
aparecer el valor de error #N/A en la celda vaca. Por el contrario, si selecciona muy pocas celdas, Excel omite los valores que no cuentan con una celda correspondiente.
25/01/12
INTRODUCCI N
Utilice los datos de esta seccin para crear dos hojas de clculo de ejemplo. 1. Abra un libro existente o cree uno nuevo y asegrese de que contiene dos hojas de clculo en blanco. 2. Copie los datos de la tabla siguiente y pguelos en la hoja de clculo a partir de la celda A1.
400 1200 3200 475 500 2000 600 1700 800 2700 el veloz murcilago hind coma feliz cardillo y usuario avanzado 1 5 9 13 2 6 10 14 3 7 11 15 4 8 12 16
3. Pngale el nombre Datos a la primera hoja de clculo y a la segunda hoja de clculo en blanco Matrices.
microsoft.com/ /directrices-y-ejemplos-de-formulas-de-matriz-HA01034 12/19
25/01/12
La frmula se vincula a los valores almacenados en las celdas E1 a G3 de la hoja de clculo Datos. La alternativa a esta frmula de matriz de varias celdas es colocar una frmula nica en cada celda de la hoja de clculo Matrices, tal como sigue.
Si modifica algunos de los valores de la hoja de clculo Datos, esas modificaciones aparecen en la hoja de clculo Matrices. Recuerde que para cambiar valores de la hoja de clculo Datos, tendr que seguir las reglas para modificar frmulas de matriz. Para obtener ms informacin acerca de esas reglas, vea la seccin Obtener informacin acerca de las frmulas de matriz.
25/01/12
={1;2;3,5;6;7,9;10;11 Se ha roto el vnculo entre las hojas de clculo Datos y Matrices y la frmula de matriz ha sido sustituida por una constante de matriz.
BUSCAR LOS
de celdas.
En este ejemplo se muestra cmo buscar los tres valores ms pequeos de un rango
1. En la hoja de clculo Datos, seleccione las celdas comprendidas entre A12 y A14. Este conjunto de celdas contendr los resultados devueltos por la frmula de matriz. 2. En la barra de frmulas, escriba la siguiente frmula y presione CTRL+MAY S+ENTRAR: =K.ESIMO.MENOR(A1:A10;{1,2,3 ) Los valores 400, 475 y 500 aparecen en las celdas A12 a A14, respectivamente. En esta frmula se utiliza una constante de matriz para evaluar la funcin K.ESIMO.MENOR tres veces y devolver los integrantes ms pequeo (1), segundo ms pequeo (2) y tercero ms pequeo (3) de la matriz incluida en las celdas A1:A10. Para buscar ms valores, agregue ms argumentos a la constante y un nmero equivalente de celdas de resultados al rango A12:A14. Tambin puede usar funciones adicionales con esta frmula, por ejemplo SUMA o PROMEDIO. Por ejemplo: =SUMA(K.ESIMO.MENOR(A1:A10;{1,2,3 )) =PROMEDIO(K.ESIMO.MENOR(A1:A10;{1,2,3 ))
BUSCAR LOS
Para buscar los valores mayores de un rango, puede reemplazar la funcin K.ESIMO.MENOR por la funcin K.ESIMO.MAYOR. Adems, en el ejemplo siguiente se emplean las funciones FILA e INDIRECTO. 1. En la hoja de clculo Datos, seleccione las celdas comprendidas entre A12 y
microsoft.com/ /directrices-y-ejemplos-de-formulas-de-matriz-HA01034 14/19
25/01/12
A14. 2. Presione SUPR para borrar la frmula existente, pero deje las celdas seleccionadas. 3. En la barra de frmulas, escriba esta frmula y presione CTRL+MAY S+ENTRAR: =K.ESIMO.MAYOR(A1:A10;FILA(INDIRECTO("1:3"))) Los valores 3200, 2700 y 2000 aparecen en las celdas de la A12 a la A14, respectivamente. En este punto, es posible que le ayude saber ms sobre las funciones FILA e INDIRECTO. Puede utilizar la funcin FILA para crear una matriz de enteros consecutivos. Por ejemplo, seleccione una columna vaca de 10 celdas en el libro de prcticas, escriba esta frmula de matriz en las celdas A1:A10 y presione CTRL+MAY S+ENTRAR: =FILA(1:10) La frmula crea una columna de 10 enteros consecutivos. Para ver un problema potencial, inserte una fila sobre el rango que contiene la frmula de matriz (es decir, sobre la fila 1). Excel ajusta las referencias de fila y la frmula genera los enteros de 2 a 11. Para solucionar el problema, agregue la funcin INDIRECTO a la frmula: =FILA(INDIRECTO("1:10")) La funcin INDIRECTO usa cadenas de texto como argumentos (es por esta razn por lo que el rango 1:10 est incluido entre comillas tipogrficas). Excel no ajusta los valores de texto cuando se insertan filas o se mueve la frmula de matriz. El resultado es que la funcin FILA siempre genera la matriz de enteros que desea el usuario. Vamos a examinar la frmula utilizada anteriormente : =K.ESIMO.MAYOR(A1:A10;FILA(INDIRECTO("1:3"))) , desde los parntesis interiores hacia afuera: la funcin INDIRECTO devuelve un conjunto de valores de texto, en este caso los valores de 1 a 3. La funcin FILA a su vez genera una matriz en columna de tres celdas. La funcin K.ESIMO.MAYOR utiliza los valores del rango de celdas A1:A10 y lo evala tres veces, una por cada referencia devuelta por la funcin FILA. Se devuelven los valores 3200, 2700 y 2000 a la matriz en columna de tres celdas. Si desea buscar ms valores, agregue un rango de celdas mayor a la funcin INDIRECTO. Por ltimo, puede usar esta frmula con otras funciones, como SUMA y PROMEDIO.
25/01/12
=INDICE(C1:C5;COINCIDIR(MAX(LARGO(C1:C5));LARGO(C1:C5);0);1) En la celda C7 aparece el valor salt sobre. Vamos a examinar la frmula desde los elementos interiores hacia fuera. La funcin LARGO devuelve la longitud de cada uno de los elementos del rango de celdas C1:C5. La funcin MAX calcula el valor ms largo de entre esos elementos, que corresponde a la cadena de texto ms larga, que se encuentra en la celda C3. En este punto es en donde la cosa se complica un poco. La funcin COINCIDIR calcula el desplazamiento (la posicin relativa) de la celda que contiene la cadena de texto ms larga. Para ello, necesita tres argumentos: un valor de b squeda, una matriz de b squeda y un tipo de coincidencia. La funcin COINCIDIR busca el valor de b squeda especificado en la matriz de b squeda. En este caso, se trata de la cadena de texto ms larga: (MAX(LARGO(C1:C5)) y esa cadena reside en esta matriz: LARGO(C1:C5) El argumento de tipo de coincidencia es 0. El tipo de coincidencia puede constar de un valor 1, 0 -1. Si especifica 1, COINCIDIR devuelve el valor ms largo que sea menor o igual que el valor de b squeda. Si especifica 0, COINCIDIR devuelve el primer valor exactamente igual que el valor de b squeda. Si especifica -1, COINCIDIR busca el valor ms pequeo que sea mayor o igual que el valor de b squeda especificado. Si omite un tipo de coincidencia, Excel asume 1. Por ltimo, la funcin INDICE toma estos argumentos: una matriz y un n mero de fila y columna de esa matriz. El rango de celdas C1:C5 proporciona la matriz, la funcin COINCIDIR proporciona la direccin de las celdas y el argumento final (1) especifica que el valor proviene de la primera columna de la matriz.
25/01/12
contienen valores de error. A continuacin la funcin SUMA calcula el total de la matriz filtrada.
frmulas de matriz, ya que esas funciones devuelven un nico valor, ya sea VERDADERO o FALSO, y las funciones de matriz necesitan matrices de resultados. Puede solucionar este problema si usa la lgica de la frmula anterior. En otras
microsoft.com/ /directrices-y-ejemplos-de-formulas-de-matriz-HA01034 17/19
25/01/12
palabras, puede realizar operaciones de coincidencia, como suma o multiplicacin, en valores que cumplan la condicin O o Y.
La frmula crea una nueva matriz del mismo tamao que los rangos que se estn comparando. La funcin SI rellena la matriz con el valor 0 y el valor 1 (0 para no coincidencias y 1 para celdas idnticas). A continuacin, la funcin SUMA devuelve la suma de los valores de la matriz. Puede simplificar la frmula de esta manera: =SUMA(1*(Mi Da o <>T Da o ))
Al igual que la frmula que cuenta los valores de error de un rango, esta frmula funciona porque VERDADERO*1=1 y FALSO*1=0.
microsoft.com/
/directrices-y-ejemplos-de-formulas-de-matriz-HA01034
18/19
25/01/12
microsoft.com/
/directrices-y-ejemplos-de-formulas-de-matriz-HA01034
19/19