Fórmula de Excel: contar el número de valores diferentes

Resuelto
smer38 Mensajes publicados 13 Estado Membre -  
 nono -
Hola,

estoy buscando contar el número de valores únicos en una columna. Y no puedo contar eso. ¿Alguien tiene una idea?

gracias

4 réponses

Beaj109562 Mensajes publicados 3 Estado Membre 43
 
Mi comentario a la respuesta de 'g' del 3 de diciembre de 2012 a las 15:14 fue eliminado justificando que "El mensaje ha sido considerado obsoleto.", pero esta conversación no permite saber al final cuál es la mejor solución. Por lo tanto, doy mi opinión/resumen:

La mejor solución es la fórmula
[A] {
=SUMA(SI(A1:A10<>"";1/CONTAR.SI(A1:A10;A1:A10)))
} (la última propuesta en el tema, por tongtong)

Proporciona conteos exactos de valores distintos en el rango de celdas para todos los tipos de valores evaluados: cadenas de caracteres del alfabeto, números, y no alfanuméricos (+, /,...), pero también los valores de error (#DIV/0!, #N/A,...) y de lógica (VERDADERO, FALSO), e incluso el valor celda vacía (que no se cuenta como valor distinto).
Cuidado, puede tardar en calcularse (9 seg de cálculo para 50 celdas, 15 seg para 500, 25 seg para 5000, ... error para 50000)

La fórmula secundariamente propuesta, por ccm81, [B] {
=SUMARPRODUCTO(1/CONTAR.SI(A1:A7;A1:A7))
} también funciona muy bien, siempre que no haya celdas vacías en el rango buscado, o que se busque contar precisamente esta vacía como un valor distinto:
Para evitar que arroje un valor de error (#DIV/0!) en cuanto hay una celda vacía, lo mejor es reemplazar las celdas vacías por un valor particular, por ejemplo 'vacío' (o un punto, incluso un espacio pero atención a los olvidos más distinguibles). El número de valores distintos encontrados incluye entonces, por supuesto, este valor de "vacío", lo cual puede ser deseado a veces. Misma observación sobre la duración del cálculo.

Finalmente, la fórmula en primer lugar, por g [C] {
=SUMA(SI(CONTAR.SI(A1:A7;A1:A7)=1;1))
} debe ser descartada: da valores inexactos tan pronto como un valor se duplica... Basta con ver cómo su cuenta evoluciona de manera extraña al contar un rango de celdas que contiene un solo carácter (encuentra 1), luego 2 veces ese mismo carácter (encuentra 0), luego 3 (0), ...
55
michel_m Mensajes publicados 18903 Fecha de registro   Estado Contributeur Última intervención   3 320 > tontong Mensajes publicados 2575 Fecha de registro   Estado Membre Última intervención  
 
Hola tongtong



El origen de la fórmula proviene de foros anglófonos, como mencionó Laurent Longre hace 10 o 15 años:

. 
.....
"2. Rango que contiene todo tipo de valores
=SUMA(1/CONTAR.SI(Rango;Rango))

Esta fórmula proviene de foros anglófonos sobre Excel.
CONTAR.SI(Rango;Rango)

devuelve una matriz que contiene el número de repeticiones de cada valor dentro del rango indicado. Si un valor se repite N veces, la matriz correspondiente contiene N veces el número N.
Al sumar los inversos de estos números, obtenemos N*(1/N), es decir, 1 por cada uno de los valores duplicados. El resultado es el número de valores únicos en el rango.
A diferencia de la fórmula anterior, esta cuenta el número de valores diferentes sin importar su tipo (número, texto...) pero el rango utilizado no debe incluir celdas vacías, a menos que también contenga al menos un número 0 o que lo modifiquemos así:
=SUMA(SI(Rango<>"";1/CONTAR.SI(Rango;Rango))) "....
2
tontong Mensajes publicados 2575 Fecha de registro   Estado Membre Última intervención   1 064 > michel_m Mensajes publicados 18903 Fecha de registro   Estado Contributeur Última intervención  
 
Hola Michel
Y gracias por este historial hiper-documentado.
0