Valores unicos en columna filtrada con SUBTOTALES y DESREF

Surge una pregunta rapida pero muy practica en la comunidad: como obtener los valores unicos de una columna de tabla cuando los datos estan filtrados con segmentaciones. El uso directo de UNICOS no funciona porque esta funcion ignora los filtros aplicados a la tabla.

Un miembro sugiere combinar SUBTOTALES con un numero de funcion que cuente (para detectar filas visibles vs ocultas), lo cual permite discriminar que filas estan filtradas.

Miki propone el enfoque mas directo: envolver UNICOS con FILTRAR para preseleccionar las filas visibles. Sin embargo, el autor aclara que el filtro se genera dinamicamente segun la seleccion de segmentaciones, lo que complica usar FILTRAR con criterios fijos.

Finalmente, con ayuda de ChatGPT, llega a esta formula que combina ambos enfoques:

``
=FILAS(
UNICOS(
FILTRAR(
Tabla[Campo];
SUBTOTALES(103;
DESREF(Tabla[Campo];
FILA(Tabla[Campo]) - MIN(FILA(Tabla[Campo]));
0; 1; 1)
)
)
)
)
`

La clave esta en SUBTOTALES(103; ...) que devuelve 1 para las filas visibles y 0 para las ocultas por el filtro. DESREF genera referencias individuales a cada celda para que SUBTOTALES pueda evaluarlas fila por fila. Con eso, FILTRAR selecciona solo los valores visibles y UNICOS` elimina duplicados. Un patron muy util cuando se trabaja con segmentaciones de datos.

Más contenido de Excel en InflueXcel