La siguiente función es un ejemplo de UDF (User Defined Function) o Función Definida por el Usuario.
Esta función es similar a SUMAR.SI o CONTAR.SI pero para buscar los valores máximos de una serie dado un criterio. Esta función puede hacerse mediante funciones comunes de Excel de tipo array pero tarda mucho más en calcular.USO
Buscar el valor máximo de una serie de datos dado un criterio.
Por ejmplo, puede calcularse el número de libros que fue lo más vendido según la editorial.
Libro Editorial Uds Libro 1 Editorial 1 1000 Libro 2 Editorial 2 2000 Libro 3 Editorial 3 3000 Libro 4 Editorial 1 4000 Libro 5 Editorial 1 2000SINTAXIS
=MAXIF(columna de valores ; columna del criterio ; criterio) =MAXIF(Uds;Editorial;"Editorial 1")
FUNCIÓN
Function MAXIF(RngMaximos As Range, RngCriterios As Range, Criterio As Variant) As Double
Dim C As Range
Dim Max As Double
Max = 0
Counter = 1
For Each C In RngMaximos
If RngCriterios(Counter) = Criterio Then
If C.Value > Max Then Max = C.Value
End If
Counter = Counter + 1
Next
MAXIF = Max
End Function
AÑADIR A MI LIBRO
Para añadir a mi libro de Excel y poder usarla sólo hay que seguir estos sencillos pasos:
- Abrir el desarrollador de Visual Basic (alt + F11)
- Crear un módulo
- Añadir el código de más arriba (copiar y pegar)
- Listo para usarse