Veremos hoy una sencilla UDF (función personalizada) que nos devuelve un conteo de elementos únicos contenidos en una celda.
Se trata de dar solución a un usuario del blog:
Para resolver nuestra cuestión en particular, insertamos el siguiente código dentro de un módulo estándar del explorador de proyectos del Editor de VB:
El uso es simple, basta indicar la celda que contiene los elementos y cuál es el separador empleado.
Vemos el resultado:
Se trata de dar solución a un usuario del blog:
[...] tengo los datos de1-2-3-4-5-6-2-3-5-4-7-, cuantas números hay sin considerar repeticiones? [...] |
Para resolver nuestra cuestión en particular, insertamos el siguiente código dentro de un módulo estándar del explorador de proyectos del Editor de VB:
Function ContarUnicos(celda As Range, separador As String) As Long Application.Volatile 'definimos la matriz de trabajo, empleando el 'separador' dado por el usuario matriz = Split(celda.Text, separador) 'generamos la coleccion Set unicos = New Collection 'loop por todos los elementos de la matriz For Each dato In matriz 'cuando encuentre un item repetido, daría un error 'que salvamos con la instrucción On Error Resume Next On Error Resume Next 'por tanto, nuestra coleccion solo agrega elementos no repetidos 'objeto.Add item, key, before, after 'ocurre un error si una key especificada duplica la key de un miembro existente de la colección unicos.Add dato, CStr(dato) On Error GoTo 0 Next dato 'escribir los datos unicos en la Hoja de cálculo ContarUnicos = unicos.Count End Function
El uso es simple, basta indicar la celda que contiene los elementos y cuál es el separador empleado.
Vemos el resultado:
No hay comentarios:
Publicar un comentario
Nota: solo los miembros de este blog pueden publicar comentarios.