sábado, 16 de julio de 2011

Función de PROMEDIO PONDERADO en VBA para Excel

Creamos una función ("prompond")en excel para que calcule promedios ponderados a partir de la entrada de cantidades y valores:
'Creo la función
Function PromPond(cantidades As Range, valores As Range) As Variant
If valores.Count <> cantidades.Count Then
    'mala dimension en los inputs, tiene que haber igual número de cantidades que valores
    PromPond = "NA"
Else
    'si cantidades y valores son iguales, ejecuta la fórmula de promedio ponderado
    PromPond = Application.WorksheetFunction.SumProduct(valores, cantidades) / Application.WorksheetFunction.Sum(cantidades)
End If
End Function

La función "PromPond" creada por nosotros, estará disponible cuando abramos el archivo de excel en el cual fue creada. Si quieres usar esta función siempre que abras el Excel sin necesidad de abrir este archivo debes subirla a los Complementos de Excel. Para ver como hacer esto, haz click aquí.

2 comentarios:

  1. Muchas gracias, funciona perfecto.

    ResponderEliminar
  2. Hola Administrador, recién hice una función que anda puesta en un boton (command button) pero no la puedo hacer funcionar como una función normal de excel (seguí todos los pasos) ¿No sabés por que puede ser?
    Gracias

    ResponderEliminar