Excel Avanzado

Macros, Vba en Excel y muchos ejemplos de nuestro Curso de Excel Avanzado

Excel Avanzado
sumaprod1 150x150, Función WorksheetFunction.SumProduct

Función WorksheetFunction.SumProduct

| 5 comentarios

Esta función es equivalente a la usada directamente en cualquier celda de Excel "=SUMAPRODUCTO(matriz1, matriz2,...)", con la diferencia de que puede ser incluida en el lenguaje VBA para programar una macro. La notación de esta función en VBA es : "Application.WorksheetFunction.SumProduct(arg1,arg2,...)".

Esta función multiplica cada uno de los componentes de las matrices con su semejante en la otra matriz,  y devuelve la suma de esos productos. Para ello, las matrices deben tener las mismas dimensiones, es decir, todas las matrices deben tener el mismo número de filas y  de columnas. Esto se ilustra mejor en el siguiente ejemplo:

sumaprod1, Función WorksheetFunction.SumProduct

función sumaproducto

Para aplicar esta función en VBA, desarrollaremos el siguiente ejemplo, en el que tenemos la cantidad vendida de ciertos productos y sus correspondientes precios unitarios, entonces para hallar el importe total se puede usar una macro como se muestra a continuación:

sumaprod2, Función WorksheetFunction.SumProduct

sumaprod6 300x94, Función WorksheetFunction.SumProduct

(Para mayor visualización de la imagen, hacer click en la misma)

En este ejemplo se usó la matriz1 "cantidad" con 7 filas y 1 columna y la matriz2 "precio" con las mismas dimensiones, ya que ese es el requisito para esta función. Luego, se multiplicaron los elementos de cada matriz, para finalmente sumarlos. De manera similar, podemos usar la función WorksheetFunction.SumProduct para obtener promedios ponderados, como se muestra en el siguiente ejemplo:

sumaprodd 300x201, Función WorksheetFunction.SumProduct

(Para mayor visualización de la imagen, hacer click en la misma)

Cabe mencionar que si alguna de las celdas de la matriz se encontrara vacía, se multiplica como si éste tuviera valor cero. Además, esta función se puede usar con dos o más matrices.

Por: Katherine Yahaira Quintero Garibay

5 comentarios

Deja una respuesta

Los campos requeridos estan marcados con *.