Fórmula genérica
=COUNTA(UNIQUE(data))
Resumen
Para contar valores únicos en un conjunto de datos, puede usar la función ÚNICA junto con la función CONTAR. En el ejemplo que se muestra, la fórmula en F5 es:
=COUNTA(UNIQUE(B5:B16))
que devuelve 7, ya que hay siete colores únicos en B5: B16.
Explicación
Este ejemplo usa la función UNIQUE para extraer valores únicos. Cuando UNIQUE se proporciona con el rango B5: B16, que contiene 12 valores, devuelve los 7 valores únicos que se ven en D5: D11. Estos se devuelven directamente a la función CONTAR como una matriz como esta:
=COUNTA(("red";"amber";"green";"blue";"purple";"pink";"gray"))
A diferencia de la función COUNT, que cuenta solo números, COUNTA cuenta tanto texto como números. Dado que hay siete elementos en la matriz, COUNTA devuelve 7. Esta fórmula es dinámica y se recalculará inmediatamente cuando se modifiquen los datos de origen.
Con una referencia de celda
También puede consultar una lista de valores únicos ya extraídos en la hoja de trabajo con la función ÚNICA utilizando un tipo especial de referencia de celda. La fórmula en D5 es:
=UNIQUE(B5:B16)
que devuelve los siete valores vistos en D5: D11. Para contar estos valores con una referencia dinámica, puede usar una fórmula como esta:
=COUNTA(D5#)
El carácter de almohadilla (#) le dice a Excel que se refiera al rango de derrame creado por UNIQUE. Al igual que la fórmula todo en uno anterior, esta fórmula es dinámica y se adaptará cuando se agreguen o eliminen datos del rango original.
Contar espacios en blanco únicos ignorados
Para contar valores únicos mientras ignora las celdas en blanco, puede agregar la función FILTRO de esta manera:
=COUNTA(UNIQUE(FILTER(data,data"")))
Este enfoque se explica con más detalle aquí. También puede filtrar valores únicos con criterios.
Sin datos
Una limitación de esta fórmula es que devolverá incorrectamente 1 si no hay valores en el rango de datos. Esta alternativa contará todos los valores devueltos por UNIQUE que tengan una longitud mayor que cero. En otras palabras, contará todos los valores con al menos un carácter:
=SUM(--(LEN(UNIQUE(B5:B16))>0))
Aquí, la función LEN se usa para verificar la longitud de los resultados de UNIQUE. Luego, se verifican las longitudes para ver si son mayores que cero y los resultados se cuentan con la función SUMA. Este es un ejemplo de lógica booleana. Esta fórmula también excluirá las celdas vacías de los resultados.
Rango de fuente dinámica
UNIQUE no cambiará automáticamente el rango de la fuente si se agregan o eliminan datos. Para darle a UNIQUE un rango dinámico que se redimensionará automáticamente según sea necesario, puede usar una tabla de Excel o crear un rango dinámico con nombre con una fórmula.
Sin matrices dinámicas
Si está utilizando una versión anterior de Excel sin soporte de matriz dinámica, aquí hay algunas alternativas.