Hallar el valor más repetido en Excel ya sea este un número, texto o alfanumérico
La función UDF (User-Defined Function) llamada "IB·MODA" es una función desarrollada en Visual Basic for Applications (VBA) para ser utilizada en Microsoft Excel para encontrar la moda (valor más frecuente) en un rango de celdas especificado, el valor puede ser numérico, texto o alfanumérico, a diferencia de la función MODA que solo admite valores numéricos. Si hay varios valores con la misma frecuencia máxima, la función IB·MODA devolverá todos los valores empatados separados por punto y coma (;) en caso de empate.
Sintaxis:
La sintaxis de la función "IB·MODA" es la siguiente:
= IB·MODA (Rango)
Parámetros:
La función tiene un parámetro:
Rango (obligatorio): Representa el rango de celdas en el que se desea encontrar la moda.
Código:
Function IB·MODA(Rango As Range) As Variant
Dim x As Object, y As Range, z As Long, m As Variant, n As String
Set x = CreateObject("Scripting.Dictionary")
For Each y In Rango
If Not IsEmpty(y.Value) Then
If Not x.Exists(y.Value) Then
x.Add y.Value, 1
Else
x(y.Value) = x(y.Value) + 1
End If
If x(y.Value) > z Then
z = x(y.Value)
m = y.Value
n = y.Value
ElseIf x(y.Value) = z Then
n = n & ";" & y.Value
End If
End If
Next y
If Len(n) > 0 Then
IB·MODA = n
Else
IB·MODA = m
End If
End Function
Comentarios
Publicar un comentario