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