Menu

Contar valores únicos en Excel: UNICOS y CONTAR.SI

=CONTARA(UNICOS(A2:A9)) cuenta cuántos valores distintos hay en A2:A9. En versiones anteriores de Excel usa =SUMAPRODUCTO(1/CONTAR.SI(A2:A9;A2:A9)). Cuenta los valores que aparecen una vez, con una condición y sin celdas vacías.

Todas las hojas de esta página están vivas: cambia un número o una fórmula y se recalculan.

=CONTARA(UNICOS(A2:A9)) cuenta cuántos valores distintos hay en A2:A9. UNICOS devuelve cada valor una vez y CONTARA cuenta esa lista. Necesita Excel 2021 o Microsoft 365; las versiones anteriores se explican más abajo. En inglés las funciones se llaman UNIQUE y COUNTA, y la tabla muestra la fórmula así: =COUNTA(UNIQUE(A2:A9)). La tabla también acepta las fórmulas escritas en español, con punto y coma (o con comas, como en México).

Clientes distintos
D2
ABCD
1CustomerUnique listCount
2AnaAna5
3BenBen
4AnaCara
5CaraDan
6BenEva
7Dan
8Ana
9Eva
Haz clic en una celda para ver su fórmula. Cambia un número o una fórmula y la hoja se recalcula.En Excel en español: =CONTARA(UNICOS(A2:A9))

Ocho pedidos vinieron de cinco clientes. C2 desborda la lista de nombres de UNICOS para que veas qué se está contando, y D2 la cuenta sin necesitar la lista en la hoja. Cambia A9 a Ana y el conteo baja a 4; escribe un nombre nuevo y sube.

UNICOS no distingue mayúsculas, así que Ana y ana cuentan como un solo cliente.

Contar valores únicos en versiones anteriores de Excel

Excel 2019 y las versiones anteriores no tienen UNICOS. La fórmula clásica es:

=SUMPRODUCT(1/COUNTIF(A2:A9,A2:A9))

En Excel en español: =SUMAPRODUCTO(1/CONTAR.SI(A2:A9;A2:A9)).

CONTAR.SI con todo el rango como criterio devuelve, para cada fila, cuántas veces aparece el valor de esa fila. Un nombre que aparece 3 veces recibe un 3 en cada una de sus filas, así que 1/3 se suma tres veces y el nombre suma exactamente 1. La columna B muestra el conteo de cada fila y la columna C la fracción.

Cómo funciona 1/CONTAR.SI
E2
ABCDE
1CustomerTimes1/TimesCount
2Ana30.335
3Ben20.505.00
4Ana30.33
5Cara11.00
6Ben20.50
7Dan11.00
8Ana30.33
9Eva11.00
Haz clic en una celda para ver su fórmula. Cambia un número o una fórmula y la hoja se recalcula.En Excel en español: =SUMAPRODUCTO(1/CONTAR.SI(A2:A9;A2:A9))

Las tres filas de Ana suman 0,33 cada una, las dos de Ben 0,50 cada una, y los tres nombres que aparecen una vez suman 1 cada uno: 5 en total, lo mismo que la SUMA de la columna auxiliar. Con decenas de miles de filas esta fórmula es lenta, porque CONTAR.SI recorre todo el rango una vez por fila; UNICOS no tiene ese costo.

Distintos o únicos: valores que aparecen una sola vez

"Único" se usa para dos conteos diferentes. El de arriba cuenta valores distintos: cada nombre una vez. El otro cuenta los valores que aparecen exactamente una vez, como los clientes que pidieron una sola vez. UNICOS lo hace con su tercer argumento, exactly_once, en VERDADERO.

Distintos y exactamente una vez
D3
ABCD
1CustomerCountResult
2AnaDistinct5
3BenExactly once3
4AnaExactly once, older Excel3
5Cara
6Ben
7Dan
8Ana
9Eva
Haz clic en una celda para ver su fórmula. Cambia un número o una fórmula y la hoja se recalcula.En Excel en español: =CONTARA(UNICOS(A2:A9;;VERDADERO))

Cinco clientes distintos, pero solo tres de ellos, Cara, Dan y Eva, pidieron una vez. La versión para Excel anterior cuenta las filas cuyo CONTAR.SI es exactamente 1. Si todos los valores se repiten, UNICOS con exactly_once devuelve #CALC! y CONTARA cuenta ese error como 1; la versión con SUMAPRODUCTO da 0.

Contar valores únicos con una condición

Para contar los clientes distintos de una región, filtra primero las filas y luego cuenta lo que queda. FILTRAR conserva las filas de North y UNICOS quita las repeticiones.

Clientes distintos por región
E2
ABCDE
1CustomerRegionRegionCustomers
2AnaNorthNorth3
3BenSouthSouth3
4AnaNorthNorth, older Excel3
5CaraNorth
6BenNorth
7DanSouth
8AnaNorth
9EvaSouth
Haz clic en una celda para ver su fórmula. Cambia un número o una fórmula y la hoja se recalcula.En Excel en español: =CONTARA(UNICOS(FILTRAR(A2:A9;B2:B9=D2)))

North tiene cinco pedidos de tres clientes: Ana, Cara y Ben. E3 cuenta South de la misma forma. E4 es la versión para Excel 2019 y anteriores: CONTAR.SI.CONJUNTO cuenta cada par de cliente y región, y la condición deja solo las fracciones de North.

Si ninguna fila coincide, FILTRAR devuelve #CALC!, y CONTARA cuenta ese error como un valor: escribe West en D2 y E2 muestra 1, no 0. Envolver la fórmula en SI.ERROR no ayuda, porque CONTARA no devuelve ningún error. Cuenta en su lugar las filas del resultado, que sí transmite el error: =SI.ERROR(FILAS(UNICOS(FILTRAR(A2:A9;B2:B9="West")));0) devuelve 0.

Contar valores únicos sin contar las celdas vacías

Una celda vacía del rango se convierte en un "valor" más. UNICOS la devuelve como un 0 y CONTARA cuenta ese 0, así que para Ana, una celda vacía, Ben, Ana, una celda vacía, Cara y Ben, Excel da:

=COUNTA(UNIQUE(A2:A8))    4   three names plus the 0 for the empty cells

En Excel en español: =CONTARA(UNICOS(A2:A8)).

En la fórmula antigua una fila vacía hace que CONTAR.SI devuelva 0, así que 1/0 da #¡DIV/0! (#DIV/0! en inglés; la tabla muestra los nombres de error en inglés). Quita antes las celdas vacías:

Un rango con huecos
D2
ABCD
1CustomerFormulaCount
2AnaSkip blanks3
3Older Excel3
4Ben
5Ana
6
7Cara
8Ben
Haz clic en una celda para ver su fórmula. Cambia un número o una fórmula y la hoja se recalcula.En Excel en español: =CONTARA(UNICOS(FILTRAR(A2:A8;A2:A8<>"")))

Las dos fórmulas cuentan los tres clientes. FILTRAR con A2:A8<>"" quita las celdas vacías antes de que UNICOS las vea. En la fórmula antigua, A2:A8&"" convierte cada celda vacía en una cadena vacía para que CONTAR.SI nunca devuelva 0, y (A2:A8<>"") da a esas filas un peso de 0.

Práctica: contar los productos

Tu turno: ¿cuántos productos?
E2
ABCDE
1OrderProductCountResult
21001AppleProducts
31002Pear
41003Apple
51004Plum
61005Pear
71006Apple
81007Plum
91008Fig
Haz clic en una celda para ver su fórmula. Cambia un número o una fórmula y la hoja se recalcula.

Tu turno: Cuenta cuántos productos distintos aparecen en B2:B9. Escribe la fórmula en E2.

Qué fórmula usar según tu Excel

ConteoExcel 365 / 2021Excel 2019 y anteriores
Valores distintos=CONTARA(UNICOS(A2:A9))=SUMAPRODUCTO(1/CONTAR.SI(A2:A9;A2:A9))
Valores que aparecen una vez=CONTARA(UNICOS(A2:A9;;VERDADERO))=SUMAPRODUCTO(--(CONTAR.SI(A2:A9;A2:A9)=1))
Distintos, con una condición=CONTARA(UNICOS(FILTRAR(A2:A9;B2:B9="North")))=SUMAPRODUCTO((B2:B9="North")/CONTAR.SI.CONJUNTO(A2:A9;A2:A9;B2:B9;B2:B9))
Distintos, sin celdas vacías=CONTARA(UNICOS(FILTRAR(A2:A9;A2:A9<>"")))=SUMAPRODUCTO((A2:A9<>"")/CONTAR.SI(A2:A9;A2:A9&""))

En una tabla dinámica, el resumen Recuento distinto hace el mismo trabajo sin fórmula, pero solo cuando la tabla dinámica se crea con la casilla "Agregar estos datos al Modelo de datos" marcada. Para borrar las repeticiones en lugar de contarlas, consulta quitar duplicados.

Preguntas frecuentes

¿Cómo cuento los valores únicos en Excel?

En Excel 365 o 2021, usa =CONTARA(UNICOS(A2:A9)): UNICOS lista cada valor una vez y CONTARA cuenta la lista. En versiones anteriores usa =SUMAPRODUCTO(1/CONTAR.SI(A2:A9;A2:A9)).

¿Cómo cuento los valores que aparecen una sola vez?

Pon el tercer argumento de UNICOS, exactly_once, en VERDADERO: =CONTARA(UNICOS(A2:A9;;VERDADERO)). Para Ana, Ana, Ben da 1, porque solo Ben aparece una vez. En Excel 2019 y anteriores usa =SUMAPRODUCTO(--(CONTAR.SI(A2:A9;A2:A9)=1)).

¿Cómo cuento valores únicos con una condición?

Filtra primero y cuenta después: =CONTARA(UNICOS(FILTRAR(A2:A9;B2:B9="North"))) cuenta los clientes distintos de las filas de North. Si ninguna fila coincide, CONTARA cuenta el error #CALC! de FILTRAR como 1, así que cuando eso pueda pasar usa =SI.ERROR(FILAS(UNICOS(FILTRAR(A2:A9;B2:B9="North")));0).

¿Cómo cuento valores únicos sin contar las celdas vacías?

Quita las celdas vacías antes de UNICOS: =CONTARA(UNICOS(FILTRAR(A2:A9;A2:A9<>""))). En versiones anteriores de Excel, =SUMAPRODUCTO((A2:A9<>"")/CONTAR.SI(A2:A9;A2:A9&"")) las salta.

Ilustración de los lenguajes de programación de Coddy

Aprende a programar con Coddy

COMENZAR