Excel - Contar valores únicos

 
Vista:
sin imagen de perfil
Val: 140
Ha mantenido su posición en Excel (en relación al último mes)
Gráfica de Excel

Contar valores únicos

Publicado por Inmarcesible (60 intervenciones) el 05/03/2021 16:27:12
¡Buenas!


Tengo un listado y, tras filtrarlo, debo contar el número de valores único que hay.
He probado con la siguiente fórmula para un rango en la columna B:

=SUMAPRODUCTO(1/CONTAR.SI(B2:B10;B2:B10))

Funciona a la perfección pero arroja el mismo valor siempre porque el rango no cambia al filtrar.
Otra manera es copiar en una hoja auxiliar la columna filtrada y contarlo ahí o ir cambiando cada vez el rango.

Pero quería saber si hay alguna manera de hacer lo que digo, que cuando filtre la columna, aparezca directamente el el número de valores únicos que hay.

¡Gracias!
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder
sin imagen de perfil
Val: 140
Ha mantenido su posición en Excel (en relación al último mes)
Gráfica de Excel

Contar valores únicos

Publicado por Inmarcesible (60 intervenciones) el 05/03/2021 19:19:15
Está genial. Lo había imaginado.

¿Y hay algún caracter que puedas incluir en el rango del argumento de la fómula, para que solo se tengan en cuenta las celda visibles de ese rango?

¡Gracias por responder!
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar
sin imagen de perfil
Val: 140
Ha mantenido su posición en Excel (en relación al último mes)
Gráfica de Excel

Contar valores únicos

Publicado por Luis (60 intervenciones) el 08/03/2021 11:13:29
Gracias! Queda resuelto ;)

Por otro lado (sé que no es el medio), ¿habría posibilidad de registrar CUALQUIER cambio (por mínimo que sea) en una tabla?

Uso eventos de hoja como el siguiente:


1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
Private Sub Worksheet_Change(ByVal Target As Range)
 
Application.EnableEvents = False
 
With ThisWorkbook.Sheets("Registro-Histórico de cambios").Range("A" & Rows.Count).End(xlUp)
.Offset(1, 0).Value = Application.UserName
.Offset(1, 1).Value = Replace(Target.Address, "$", "")
.Offset(1, 2).Value = ThisWorkbook.Sheets("Auxiliar").Cells(1, 1).Value
.Offset(1, 3).Value = Target.Value
.Offset(1, 4).Value = Date
.Offset(1, 5).Value = Time
End With
 
ActiveWorkbook.Save
 
Application.EnableEvents = True
 
End Sub
 
Private Sub Worksheet_SelectionChange(ByVal Target As Range)
 
Application.EnableEvents = False
 
ThisWorkbook.Sheets("Auxiliar").Cells(1, 1).Value = Target.Value
 
Application.EnableEvents = True
 
End Sub

Añade una fila a una tabla de cambio cuando se produce un cambio con la celda, el valor antiguo, el valor nuevo, la fecha y el usuario que ha realizado el cambio. Pero se pierde cosas como, por ejemplo, al copiar un rango de celdas. Está bien para ir celda a celda o susituir de golpe un valor en todas.

Estaba pensando en una "tabla espejo" o clonada que registre hasta el más mínimo cambio.

Gracias!
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar