Función de promedio personalizado

A continuación veremos un programa en Excel VBA que crea una Función definida por el usuario que calcula el promedio de un rango seleccionado al azar excluyendo uno o más valores que son atípicos y no deben ser promediados.

Situación:

Las funciones definidas por el usuario deben ser colocadas en un módulo.

1. Abra el Editor de Visual Basic y haga clic en Insertar, Módulo.

2. Añade la siguiente línea de código:

Función PERSONALIZACIÓN (rng como rango, inferior como entero, superior como entero)

El nombre de nuestra función es PERSONALIZACIÓN. La parte entre los paréntesis significa que le damos a Excel VBA un rango y dos variables Enteras como entrada. Llamamos a nuestro rango rng, una variable Entera que llamamos inferior, y una variable Entera que llamamos superior, pero puedes usar cualquier nombre.

3. A continuación, declaramos un objeto Range y dos variables de tipo Integer. Llamamos a la celda del objeto Range. A una variable de tipo Integer la llamamos total y a una variable de tipo Integer la llamamos count.

Célula tenue como rango, total como entero, cuenta como entero

4. Queremos comprobar cada célula en un rango seleccionado al azar (este rango puede ser de cualquier tamaño). En Excel VBA, puedes usar el bucle For Each Next para esto. Añade las siguientes líneas de código:

Para cada célula en el rng La siguiente celda

Nota: el rng y la celda son elegidos al azar aquí, puedes usar cualquier nombre. Recuerda referirte a estos nombres en el resto de tu código.

5. A continuación, comprobamos para cada valor de este rango si se encuentra entre los dos valores (inferior y superior). Si es cierto, incrementamos el total por el valor de la celda e incrementamos la cuenta por 1. Añadimos las siguientes líneas de código al bucle.

Si celda.Valor >= inferior Y celda.Valor <= superior Entonces total = total + celda.Valor cuenta = cuenta + 1 Finalizar si

6. Para devolver el resultado de esta función (el promedio deseado), añada la siguiente línea de código fuera del bucle.

PERSONALIZACIÓN = total / recuento

7. No te olvides de terminar la función. Añade la línea:

Fin de la función

8. Ahora puedes usar esta función como cualquier otra función de Excel para calcular el promedio de los números que caen entre dos valores.

Resultado:

Como comprobación, puede eliminar todos los valores inferiores a 10 y superiores a 30 y utilizar la función Promedio estándar de Excel para ver si Excel calcula el mismo promedio que nuestra función de promedio personalizada.

¡Nuestra función media personalizada funciona! Nota: esta función sólo está disponible en este libro de trabajo.

Deja un comentario