El uso de SUMAPRODUCTO supone que se cumplen dos condiciones obligatorias:
1 – Los rangos son del mismo tamaño, es decir tienen la misma cantidad de miembros
2 – Los rangos tienen la misma orientación, filas o columnas.
A veces sucede que una de las matrices es un rango en una columna y otra matriz es un rango en una fila.
Para sobreponerse a este problema, sin tener que rehacer las hojas de cálculo, podemos utilizar la función TRANSPONER.
La definición de la función TRANSPONER en la ayuda de Excel es la siguiente:
Devuelve un rango de celdas vertical como un rango horizontal o viceversa.
TRANSPONER debe introducirse como una fórmula matricial en un rango que tenga el
mismo número de filas y columnas, respectivamente, que el número de columnas y
filas en una matriz. Utilice TRANSPONER para cambiar la orientación vertical y
horizontal de una matriz en una hoja de cálculo.
Es importante notar que se trata de una función matricial (array function).
Veamos el uso de TRANSPONER con SUMAPRODUCTO con un ejemplo (apretar el link para decargar el cuaderno)
Supongamos que tenemos esta tabla en una hoja de cálculos
Aquí el cálculo del total del inventario es sencillo, ya que las dos matrices (cantidad y precios) están orientadas en el mismo sentido
=SUMAPRODUCTO(B4:B13,C4:C13)
Pero supongamos que la matriz de Precios esté en un rango en una fila (en nuestro ejemplo en el rango A17:K17). En este caso usamos la función TRANSPONER para convertir la matriz de precios de fila a columna. La fórmula es
={SUMAPRODUCTO(B4:B13,TRANSPONER(B17:K17))}
Debemos prestar atención a los símbolos "{" y "}" al principio y al final de la fórmula. Ya que TRANSPONER es una función matricial, SUMAPRODUCTO debe ser anotada como tal, es decir apretando Ctrl+Shift junto con Enter.
Ya que hemos convertido a SUMAPRODUCTO en una función matricial, podemos utilizar la función SUMA, en forma matricial, de la siguiente manera:
={SUMA((B4:B13)*TRANSPONER(B17:K17))}
Categorías: Funciones&Formulas_, Formulas Matriciales_
Technorati Tags: SUMAPRODUCTO, TRANSPONER