CONTAR ELEMENTOS ÚNICOS EN UNA COLUMNA CON FILAS OCULTAS


CONTAR ELEMENTOS ÚNICOS DE UN RANGO TENIENDO EN CUENTA SÓLO LAS CELDAS VISIBLES. 

Vamos a darle una vuelta a la necesidad de contar los elementos únicos de una lista. Si tenemos la siguiente lista y queremos obtener cuantos  elementos únicos (están señalados con fondo amarillo para visualizarlos mejor)  hay en la columna de Resultado, lo más rápido es acudir a la función CONTAR.SI (te puede interesar ver los elementos duplicadoscon formato condicional),  para lo que realizaremos los siguientes pasos.




Así, situándonos en la celda E3, escribiremos

=CONTAR.SI($C$2:C3;C3) donde

Rango:   $C$2:C3 El rango a considerar parte de C2, con referencia Fija y de C3, con referencia libre.

Criterio: C3, el elemento a contar, sin fijar, libre, que es elemento a evaluar si se repite o no.

que nos cuenta cuantas veces se repite la celda C3 en el rango que empieza en C2 y va hasta C3. Si arrastramos la celda hacia abajo, el rango a considerar se va ampliando, pero siempre partiendo de C2, que tiene referencia fija.

Así, en la celda E3, tenemos



Nos cuenta cuantas veces se repite C3 en el rango C2:C3
En la celda E4, tenemos


Nos cuenta cuantas veces se repite C4 (el número 5)  en el rango C2:C4, y nos devuelve 2, porque está repetido.

En la celda E5 tenemos


Nos cuenta cuantas veces se repite C5 (el número 7)  en el rango C2:C5, y nos devuelve 1, porque es la primera vez que aparece

Arrastrando, toda la columna E,




Sólo tenemos que contar los 1 que aparecen para ver cuantos números aparecen. Situándonos en la celda C15, escribimos




Que nos suma sólo los números 1.

Pero si con la tabla original hacemos algunos análisis y filtramos algunas filas, por ejemplo la correspondiente a la calidad A, el resultado que obtenemos es erróneo,



porque tanto la fórmula CONTAR.SI como la fórmula SUMAR.SI  tienen en cuenta todas las celdas, estén ocultas o visibles.

Si queremos evaluar sólo las celdas visibles, tenemos o bien que usar otras funciones o usar una “lista espejo” que tenga en cuenta sólo las celdas visibles. Nosotros nos hemos decidido por la función SUBTOTALES, que sólo tiene en cuenta las celdas visibles para crear una lista espejo.
Así, situándonos en C20 (la lista espejo debe estar en otras filas, para que cuando filtremos filas no se oculte), escribimos



La función SUBTOTALES con el número de función 9 nos devuelve la suma de un rango o, como en este caso, de solo una celda. Si la celda está filtrada, el resultado que nos devuelve es cero, y así con esta lista espejo, procedemos a realizar los mismos pasos que antes, (poniendo previamente un condicional para que no tenga en cuenta los valores 0)

Escribimos en E20

=SI(C20=0;0;CONTAR.SI($C$19:C20;C20))




No hay comentarios:

Publicar un comentario