crear una funcion UDF que calcule un porcentaje si se cumple cierta condicion
Publicado por federico (2 intervenciones) el 18/07/2017 01:58:04
Buenas noches,
tengo que crear una funcion que realice lo siguiente:
• Premio: Si la cantidad de litros vendidos por un distribuidor supera al promedio de los litros vendidos y el importe de las ventas superan al promedio de las ventas totales de los 5 distribuidores, este cobra un premio de 5% del importe de las ventas realizadas.
la planilla es la siguiente:
intente grabando una macro para despues convertirla en funcion. pero la idea de la funcion es que yo ingrese como variables los rangos donde se van a calcular los promedios y ahi es donde fallo. porque yo declaro la funcion y le paso 2 variables para que se guarden los 2 rangos que elijo en la planilla.
despues quiero calcular el promedio de esos rangos y no se que codigo usar.
muestro el codigo que estoy usando. se que formulaR1C1 no se usa asi. son pruebas que estuve haciendo.
espero que me puedan ayudar.
gracias!!
tengo que crear una funcion que realice lo siguiente:
• Premio: Si la cantidad de litros vendidos por un distribuidor supera al promedio de los litros vendidos y el importe de las ventas superan al promedio de las ventas totales de los 5 distribuidores, este cobra un premio de 5% del importe de las ventas realizadas.
la planilla es la siguiente:
intente grabando una macro para despues convertirla en funcion. pero la idea de la funcion es que yo ingrese como variables los rangos donde se van a calcular los promedios y ahi es donde fallo. porque yo declaro la funcion y le paso 2 variables para que se guarden los 2 rangos que elijo en la planilla.
despues quiero calcular el promedio de esos rangos y no se que codigo usar.
muestro el codigo que estoy usando. se que formulaR1C1 no se usa asi. son pruebas que estuve haciendo.
espero que me puedan ayudar.
gracias!!
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
Function pruebapremio(rangoVentas As Range, rangoLitros As Range)
'
' pruebapremio Macro
Dim promVentas As Variant
Dim promLitros As Variant
'Dim rangoVentas As Range
'Dim rangoLitros As Range
Dim premio As Variant
Range("j2").Select
ActiveCell.FormulaR1C1 = "=AVERAGE(range(rangoVentas))"
promVentas = Range("j2").Value
Range("j2").ClearContents
Range("j2").Select
ActiveCell.FormulaR1C1 = "=AVERAGE(range(rangoLitros))"
promLitros = Range("j2").Value
'Range("e2").ClearContents
If (promVentas > Range("d2").Value) And (promLitros > Range("c2").Value) Then
premio.FormulaR1C1 = "=(RC[-1]*5)/100"
Range("e2").Value = premio
End If
End Function
Valora esta pregunta
0