lunes, enero 23, 2006

Fórmulas matriciales (array functions) en Excel

Los ejemplos en esta nota fueron desarrollados usando la versión inglesa de Excel. Por favor, lean esta nota.

En una nota en mi blog en inglés he mencionado el uso de funciones matriciales (array formulas). La mejor forma de comprender el concepto es con un ejemplo.
Supongamos que tenemos una lista que muestra el numero de miembros de una institución por edad:


Si queremos saber la edad promedio de los miembros (es decir, un promedio ponderado) y no conocemos las fórmulas matriciales, tendremos que usar cálculos intermedios para llegar al resultado. Lo que seguramente haremos es multiplicar cada edad por el número de miembros en la columna B, luego sumar los productos y dividirlos por la suma de la column B:


Utilizando fórmulas matriciales podemos hacer todos estos cálculos en un solo paso. En nuestro ejemplo el rango A2:A12 será la matriz1 y el rango B2:B12 la matriz2. La fórmula matricial nos permitirá multiplicar cada miembro de la matriz1 por el correspondiente miembro de la matriz2, y luego dividir la suma delproducto por la suma de la columna B.

La fórmula es la siguiente:

{=SUM(A2:A12*B2:B12)/SUM(B2:B12)}

Los signos "{" al principio de la fórmula y "}" al final no se deben introducir manualmente! Para generar una fórmula matricial debemos mantener apretadas las teclas Ctrl y Shift (mayúsculas) y pulsar entonces Enter (de aquí que tambien son conocidas como fórmulas CSE).

Fijense en la fórmula en la barra de las fórmulas:


Las fórmulas matriciales son una de las herramientas más poderosas de Excel y adquirir dominio del concepto nos permitirá realizar cálculos complejos con facilidad.

En el futuro estaré escribiendo sobre otros usos de estas fórmulas.

(22/04/2006): he agregado una entrada sobre fórmulas matriciales multicelulares y constantes matriciales.

Si te gustó esta nota agregala a del.icio.us


Technorati Tags: ,



Categorías: Funciones&Formulas_, Formulas Matriciales_

9 comentarios:

  1. Muy interesante su nota sobre Fórmulas Matriciales y Promedios Ponderados. Yo cálculo el Promedio Ponderado de la forma más larga como ha explicado, por lo que esta entrada me va a venir muy bien. Me gustaría saber si podría realizar el mismo cálculo pero en MS Access, y si existe algún Blog como el suyo pero de Access. Enhorabuena por el Blog es muy útil.

    ResponderBorrar
  2. Mira sabes trate de realizar tu ejemplo pero no pude sacar los simbolos podrias ser mas detallado por favor se agradece ante todo gracias por el tiempo que nos brindas para aprender cada dia mas

    ResponderBorrar
  3. Hola, que quieres decir con "no pude sacar los simbolos"?

    ResponderBorrar
  4. ME GUSTARIA SABER COMO SACO LA CUOTA MENSUAL DE UN PRESTAMO. POR EJEMPLO PRESTAMO 60000, INTERES ANUAL 9% A PAGAR EN 5 AÑOS, ME GUSTARIA USAR LAS FORMULAS MATRICIALES.
    NOSE SI ME EXPLIQUE BIEN.
    DE ANTEMANO GRACIAS

    ResponderBorrar
  5. Sandra
    ¿por qué usar fórmulas matriciales cuando Excel cuenta con la funcón PAGO?

    ResponderBorrar
  6. Hola Jorge,

    Hay alguna manera de armar esta formula matricial como una funcion de VB para tenerla directamente en el menu de formulas y no tener que estar armandola manualmente cada vez?

    ResponderBorrar
  7. Si, sólo hay que programar la función.

    ResponderBorrar
  8. Hola Jorge,
    No sé si esta es la entrada pertinente para esta pregunta. Si no es así, perdón. Tengo un set de datos en excel con 3 columnas que corresponden con las coordenadas de pixels en un mapa (X,Y en las columnas A y B) y el valor que corresponde a cada pixel (VALOR en la columna C). Me gustaría saber si es posible crear una matriz (o quizá una tabla dinámica?) en la que X e Y sean las filas y las columnas y dentro de cada celda figure el valor correspondiente de la columna C... ¿es posible? Muchas gracias
    Ana

    ResponderBorrar
  9. Ana, es posible pero te pido que te pongas en contacto conmigo por mail.

    ResponderBorrar

Nota: sólo los miembros de este blog pueden publicar comentarios.