En resumen — Excel no tiene una función
COUNTUNIQUE, así que "¿cuántos valores diferentes hay aquí?" tiene dos respuestas. Moderna (365/2021):=COUNTA(UNIQUE(range))— despliega los valores distintos y luego cuéntalos. Clásica (versiones antiguas):=SUMPRODUCT(1/COUNTIF(range, range))— un ingenioso truco matricial. Ambas comparten una trampa: una celda en blanco descuadra el recuento, y cada una falla de forma distinta.
=COUNTA(UNIQUE(A2:A100)) ' moderna: recuento de distintos
=COUNTA(UNIQUE(FILTER(A2:A100, A2:A100<>""))) ' moderna, sin blancos
=SUMPRODUCT(1/COUNTIF(A2:A100, A2:A100)) ' clásica (falla con blancos)
=SUMPRODUCT((A2:A100<>"")/COUNTIF(A2:A100, A2:A100&"")) ' clásica, a prueba de blancos
"Contar los valores distintos" es una de las tareas reales más comunes en Excel y una de las pocas sin función propia — que es precisamente por lo que merece la pena entender por qué funciona cada enfoque, no solo pegarlo.
Lo que vas a aprender
- Por qué no hay una única función para "contar únicos" — y las dos eras de respuestas
- El patrón moderno
COUNTA(UNIQUE())y su trampa con las celdas en blanco - El truco clásico
SUMPRODUCT(1/COUNTIF())— y por qué funciona - Cómo evitar que los blancos sumen 1 a tu recuento sin avisar
- "Valores distintos" frente a "valores que aparecen exactamente una vez" — una confusión habitual
Nota — nombres de funciones en español: en la versión española de Excel estas funciones se llaman CONTARA (COUNTA), UNICOS (UNIQUE), FILTRAR (FILTER), SUMAPRODUCTO (SUMPRODUCT) y CONTAR.SI (COUNTIF). En los ejemplos usamos los nombres en inglés dentro de las fórmulas; tú puedes teclear el nombre en español y Excel lo entenderá igual.
El modelo mental: no existe COUNTUNIQUE — la compones tú
La razón por la que esta tarea resulta incómoda es que buscas una función que no existe. Excel te da piezas en su lugar, y tú ensamblas la respuesta. Hay dos montajes, y cuál usas depende por completo de tu versión de Excel:
- Moderna (365, 2021): obtén la lista de distintos y luego cuéntala.
UNIQUE(UNICOS) devuelve los distintos valores como una matriz desbordada;COUNTAcuenta cuántos han vuelto. Legible, y se recalcula en vivo según cambian los datos. - Clásica (2019 y anteriores): sin
UNIQUE, así que usas una sola fórmula matricial,SUMPRODUCT(1/COUNTIF(range,range)), que cuenta los valores distintos sin llegar a listarlos.
Si estás en una versión moderna, usa el patrón moderno — es más claro y puedes ver cómo se despliegan los valores distintos, lo que hace que depurar sea trivial. Echa mano de la fórmula clásica solo cuando tengas que dar soporte a un archivo antiguo.
La forma moderna — y el blanco que suma 1
=COUNTA(UNIQUE(A2:A100))
UNIQUE despliega los valores distintos; COUNTA los cuenta. Limpio — hasta que
hay una celda vacía en el rango. UNIQUE trata el blanco como un valor:
devuelve un 0 (su representación de una celda vacía) como una de las entradas
distintas, así que tu recuento vuelve uno más alto que el número de valores
reales. Esta es la razón número uno de que un recuento de únicos "salga uno de
más".
La solución es quitar los blancos antes de contar, con
FILTER (FILTRAR):
=COUNTA(UNIQUE(FILTER(A2:A100, A2:A100<>"")))
FILTER conserva solo las celdas no vacías, UNIQUE elimina duplicados y
COUNTA cuenta. Esta forma anidada — filtrar, deduplicar, contar — es la que hay
que memorizar, porque las columnas reales casi siempre tienen blancos al final. Si
FILTER no encuentra nada, devuelve #CALC!, así que añade FILTER(..., ..., "")
como valor de reserva vacío si el rango puede quedar totalmente vacío.
La forma clásica — y por qué el truco funciona de verdad
En las versiones antiguas, la fórmula canónica es:
=SUMPRODUCT(1/COUNTIF(A2:A100, A2:A100))
Parece magia, pero la lógica merece entenderse porque es la clave para arreglar su
bug. COUNTIF(range, range) devuelve una matriz — para cada celda, cuántas
veces aparece su valor en el rango. Si "West" aparece 4 veces, cada una de esas
cuatro celdas produce un 4. Toma 1/eso, y cada celda "West" aporta 1/4. Cuatro
celdas × ¼ = 1. Cada valor distinto, se repita las veces que se repita, suma
exactamente 1 — así que el total general es el número de valores distintos.
Entiende eso y no tendrás que memorizarlo nunca.
La pega: si alguna celda está en blanco, COUNTIF devuelve 0 para ella,
obtienes 1/0, y todo se derrumba en #DIV/0! (#¡DIV/0!). La versión a prueba de
blancos neutraliza tanto la división como la aportación del blanco:
=SUMPRODUCT((A2:A100<>"")/COUNTIF(A2:A100, A2:A100&""))
El &"" hace que COUNTIF cuente los blancos como una cadena vacía coincidente
(así no hay divisor cero), y (A2:A100<>"") pone un 0 en el numerador de las
celdas en blanco para que no aporten nada. Es la misma idea que la solución
moderna con FILTER, expresada en el vocabulario matricial más antiguo. (Para
más sobre este patrón de suma de matrices, consulta
SUMPRODUCT.)
Valores distintos frente a valores que aparecen una sola vez
Suenan igual y no lo son — confundirlos es la respuesta equivocada silenciosa más habitual de todo este tema:
- Recuento de distintos — cuántos valores diferentes existen.
{A, A, B}→ 2. Es todo lo anterior. - Recuento de valores que aparecen exactamente una vez — cuántos valores no
se repiten.
{A, A, B}→ 1 (solo B). Pregunta distinta, fórmula distinta:
=SUMPRODUCT(--(COUNTIF(A2:A100, A2:A100)=1)) ' valores que aparecen exactamente una vez
=ROWS(UNIQUE(A2:A100, , TRUE)) ' moderna: el tercer argumento de UNIQUE
El tercer argumento de UNIQUE (exactly_once = TRUE) devuelve solo los valores
que aparecen una única vez — no la lista de distintos. Si quieres "cuántos
clientes diferentes", eso es el UNIQUE por defecto; si quieres "cuántos
clientes pidieron una sola vez", eso es exactly_once. Echa mano del equivocado y
tu recuento estará mal de forma plausible y silenciosa.
La decisión de criterio
En un Excel moderno, la respuesta es siempre =COUNTA(UNIQUE(FILTER(range, range<>""))) — filtra blancos, deduplica, cuenta — porque es legible,
autodepurable (puedes ver el desbordamiento) y a prueba de blancos. Guarda el
truco SUMPRODUCT(1/COUNTIF()) en el bolsillo solo para archivos heredados, y
siempre en su forma a prueba de blancos con &"". Sobre todo, ten claro qué
pregunta estás respondiendo: "cuántos valores diferentes" y "cuántos valores
aparecen una vez" parecen idénticas en una frase y producen números distintos en
la hoja.
Cómo ayuda ExcelMaster
Las fórmulas de recuento de distintos son fáciles de equivocar por poco — un
desajuste de uno por un blanco final, un #DIV/0! del truco clásico, o la
confusión distinto-frente-a-una-vez que ningún error señala jamás.
ExcelMaster comprueba tu versión de Excel, elige el moderno
COUNTA(UNIQUE(FILTER(...))) o la fórmula clásica a prueba de blancos según
corresponda, y — lo crucial — confirma a qué pregunta te refieres antes de
escribir nada: valores distintos, o valores que aparecen exactamente una vez. Di
"cuenta los clientes distintos, ignorando los blancos", y devuelve una fórmula
correcta para tu versión y tu intención.
Preguntas frecuentes
¿Cómo cuento los valores únicos en Excel?
En Excel 365 o 2021, usa =COUNTA(UNIQUE(range)), o
=COUNTA(UNIQUE(FILTER(range, range<>""))) para ignorar las celdas en blanco. En
versiones antiguas, usa la fórmula matricial =SUMPRODUCT((range<>"")/COUNTIF(range, range&"")), que cuenta los valores distintos sin llegar a listarlos.
¿Existe una función COUNTUNIQUE en Excel?
No. Excel no tiene una única función para "contar únicos". La compones tú: UNIQUE
COUNTAen las versiones modernas, oSUMPRODUCT(1/COUNTIF(...))en las antiguas. Una tabla dinámica también puede mostrar un "recuento distinto" para un análisis puntual.
¿Cómo cuento valores únicos en versiones antiguas de Excel sin UNIQUE?
Usa =SUMPRODUCT(1/COUNTIF(range, range)). Cada valor que aparece n veces aporta
n × (1/n) = 1, así que el total es el número de valores distintos. Si el rango
tiene blancos, usa la forma a prueba de blancos
=SUMPRODUCT((range<>"")/COUNTIF(range, range&"")) para evitar un error #DIV/0!.
¿Por qué mi recuento de únicos sale uno de más?
Una celda en blanco del rango se está contando como un valor. UNIQUE devuelve una
celda vacía como 0, sumando 1 al recuento de distintos. Excluye los blancos con
=COUNTA(UNIQUE(FILTER(range, range<>""))).
¿Cuál es la diferencia entre contar valores distintos y valores que aparecen una sola vez?
El recuento de distintos trata {A, A, B} como 2 (dos valores diferentes). Contar
los valores que aparecen exactamente una vez lo trata como 1 (solo B no se
repite). Usa UNIQUE por defecto para los distintos; usa UNIQUE(range,,TRUE) o
SUMPRODUCT(--(COUNTIF(range,range)=1)) para los valores que aparecen una vez.
Probado en
Probado en: Excel 365 (Windows 11) — última verificación el 07/07/2026.
Guías relacionadas: Función UNIQUE de Excel · Excel COUNTIF · COUNT, COUNTA y COUNTBLANK · Función FILTER de Excel
