Fórmula de Excel: cuente valores numéricos únicos en un rango -

Tabla de contenido

Fórmula genérica

=SUM(--(FREQUENCY(data,data)>0))

Resumen

Para contar valores numéricos únicos en un rango, puede usar una fórmula basada en las funciones FREQUENCY y SUM. En el ejemplo que se muestra, los números de empleado aparecen en el rango B5: B14. La fórmula en F5 es:

=SUM(--(FREQUENCY(B5:B14,B5:B14)>0))

que devuelve 4, ya que hay 4 ID de empleado únicos en la lista.

Explicación

Nota: antes de Excel 365, Excel no tenía una función dedicada para contar valores únicos. Esta fórmula muestra una forma de contar valores únicos, siempre que sean numéricos. Si tiene valores de texto o una combinación de texto y números, deberá utilizar una fórmula más complicada.

La función FRECUENCIA de Excel devuelve una distribución de frecuencia, que es una tabla de resumen que muestra la frecuencia de los valores numéricos, organizados en "bins". Lo usamos aquí como una forma indirecta de contar valores numéricos únicos.

Trabajando desde adentro hacia afuera, proporcionamos el mismo conjunto de números tanto para la matriz de datos como para la matriz de bins a FREQUENCY:

FREQUENCY(B5:B14,B5:B14)

FREQUENCY devuelve una matriz con un recuento de cada valor numérico en el rango:

(4;0;0;0;2;0;1;3;0;0;0)

El resultado es un poco críptico, pero el significado es 905 aparece cuatro veces, 773 aparece dos veces, 801 aparece una vez y 963 aparece tres veces.

FREQUENCY tiene una función especial que devuelve automáticamente cero para cualquier número que ya haya aparecido en la matriz de datos, por lo que los valores son cero una vez que se ha encontrado un número.

A continuación, se prueba que cada uno de estos valores sea mayor que cero:

(4;0;0;0;2;0;1;3;0;0;0)>0

El resultado es una matriz como esta:

(TRUE;FALSE;FALSE;FALSE;TRUE;FALSE;TRUE;TRUE;FALSE;FALSE;FALSE)

Cada VERDADERO representa un número único en la lista. La SUMA ignora los valores lógicos de forma predeterminada, por lo que coaccionamos los valores VERDADERO y FALSO a 1 y 0 con un doble negativo (-), lo que produce:

=SUM((1;0;0;0;1;0;1;1;0;0;0))

Finalmente, SUM suma estos valores y devuelve el total, que en este caso es 4.

Nota: también puede usar SUMPRODUCT para sumar los elementos de la matriz.

Usando COUNTIF en lugar de FREQUENCY para contar valores únicos

Otra forma de contar valores numéricos únicos es usar COUNTIF en lugar de FREQUENCY. Esta es una fórmula más simple, pero tenga en cuenta que el uso de CONTAR.SI en conjuntos de datos más grandes para contar valores únicos puede causar problemas de rendimiento. La fórmula de FRECUENCIA, aunque más complicada, calcula mucho más rápido.

Buenos enlaces

El libro de Mike Girvin Control-Shift-Enter

Articulos interesantes...