Percentil con rango dinámico

Hola, Debo hacer unos cálculos: percentiles, pero este debe hacerse de rangos variables, por ejemplo, tengo la siguiente lista:
Carlos 92.25
Carlos 4.9
Carlos 6.8
Carlos 4.65
Carlos 8.68
Diana 10.45
Diana 13.03
Diana 4.87
Diana 79.15
Diana 76.63
Luis 20.58
Luis 36.13
Luis 8.57
Luis 5.23
Luis 1.42
Luis 3.27
Y debo sacar el percentil por cada usuario, el problema es que la cantidad de datos por usuario (Carlos, Diana o Luis cambia) por lo que debo generar una macro para que me tome rangos variables es decir desde i hasta i+contador. Las variables se como sacarlas.
Grabando la macro me vota el siguiente código:
ActiveCell.FormulaR1C1 = "=PERCENTILE(R[-14]C[-4]:R[15]C[-3],0.82)"
Y no se como hacer que esta fórmula me reciba variables, gracias...
Respuesta
1
Te copio un par de ejemplos a ver si pueden ayudarte:
... Ej 1...
Set Rango01 = Worksheets("Hoja1").Range("D14:E21")
Num = 0.5
Perc = Application.WorksheetFunction.Percentile(Rango01, Num)
ActiveCell.Value = Perc
........................
.......Ej 2...........
AA = "D14:E21"
Set Rango01 = Worksheets("Hoja1").Range(AA)
Num = 0.5
Perc2 = Application.WorksheetFunction.Percentile(Rango01, Num)
ActiveCell.Value = Perc2
...
Doy por descontado que los valores de AA, Rango01 o Num tú lo tomas de otra parte del macro.
Espero te sirvan.
Saludos
P.D: Como comentario general, la grabación de fórmulas con macros graba el texto que se escribe en la celda y no la función propiamente dicha (por lo menos eso es lo que he podido observar en mi experiencia, que no es mucha tampoco). Así que si quieres funciones en tus macros un poco más "independientes", escribe en el código: "Application.WorksheetFuncion. " y luego del punto debería desplegarse una serie de posibles funciones. Suerte.
Buen día, de verdad tu respuesta me da una luz para utilizar las fórmulas en las macros.
Por otra parte, te cuento que la macro ya me funciona y lo que hice fue lo siguiente:
percd y perc son variables y los datos se toman en el desarrollo de la macro y son valores de despliegue hacia arriba o abajo de la celda punto de referencia, que va a ser la celda donde se calcula el percentil:
Range("P2").Select
strFormula = "=PERCENTILE(R[" & Format(perc - 3) & "]C[-1]:R[" & Format(percd - 4) & "]C[-1],0.9)"
ActiveCell.Formula = strFormula
En esta caso la Columna la dejé fija ya que los datos podían variar en filas pero no en columna, pero todo se puede hacer jajaja!
Espero le sirva a alguien, por que dure mucho buscando la forma de hacerlo!
Gracias

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas