UDF: eXl_ValorFrecuente Para obtener el valor más o menos frecuente en Excel

0

 


Código:


Function eXl_ValorFrecuente(Rango As Range, Optional Ingrese_1_para_valor_infrecuente As Variant = 0) As Variant

Dim x As Object, y As Range, l As Variant, m As Long, n As String

Set x = CreateObject("Scripting.Dictionary")

If Ingrese_1_para_valor_infrecuente = 0 Then

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) > m Then

m = x(y.Value)

n = y.Value

ElseIf x(y.Value) = m Then

n = n & "; " & y.Value

End If

End If

Next y

If Len(n) > 0 Then

IB·ValorFrecuente = n

Else

IB·ValorFrecuente = ""

End If

ElseIf Ingrese_1_para_valor_infrecuente = 1 Then

For Each y In Rango

l = y.Value

If Not IsEmpty(l) Then

If x.Exists(l) Then

x(l) = x(l) + 1

Else

x.Add l, 1

End If

End If

Next y

m = Application.WorksheetFunction.Min(x.Items)

For Each l In x

If x(l) = m Then

If n = "" Then

n = l

Else

n = n & "; " & l

End If

End If

Next l

eXl_ValorFrecuente = n

Else

eXl_ValorFrecuente = " Ingrese 1 para valor menos frecuente "

End If

End Function


👉 Como hacer que la UDF (User Defined Functions) esté disponible como una Función Nativa de Excel

Entradas que pueden interesarte

Sin comentarios

Etiquetas:
#aprendiendoexcel365, #josealcaldealias, #Excel, #funciones, #UDF, #Visual Basic, #VBA, #DAX, #Tips, #Basico, #Microsoft Excel, #Cursos Excel OnLine, #Aprende Excel, #Aprende Excel OnLine, #Excel 365, #Power Pivot, #Power BI, #Power Query, #Google Sheets, #Macros, #Código VBA, #Tutoriales Excel, #MTV, #Vbscript, #TypeScript, #Lenguaje M, #fórmulas, #funciones, #paso a paso, #funciones Excel, #libros, #tablas, #formatos, #hojas, #datos, #gráfico, #análisis de datos, #base de datos, #dashboards, #tablas dinámicas, #excel desde cero, #hoja de cálculo, #plantillas de Excel