Fórmula de Excel: contar fechas únicas -

Tabla de contenido

Fórmula genérica

=COUNT(UNIQUE(date))

Resumen

Para contar fechas únicas ("días de negociación" en el ejemplo) puede utilizar la función ÚNICA con la función CONTAR, o una fórmula basada en la función CONTAR. En el ejemplo que se muestra, la fórmula en la celda G8 es:

=COUNT(UNIQUE(date))

donde la fecha es el rango con nombre B5: B16.

Explicación

Tradicionalmente, contar elementos únicos con una fórmula de Excel ha sido un problema complicado, porque no ha habido una función única dedicada. Sin embargo, eso cambió cuando se agregaron matrices dinámicas a Excel 365, junto con varias funciones nuevas, incluida UNIQUE.

Nota: en versiones anteriores de Excel, puede contar elementos únicos con la función CONTAR.SI o la función FRECUENCIA, como se explica a continuación.

En el ejemplo que se muestra, cada fila de la tabla representa una operación de acciones. En algunas fechas, se realiza más de una operación. El objetivo es contar los días de negociación: el número de fechas únicas en las que se produjo algún tipo de negociación. La fórmula en la celda G8 es:

=COUNT(UNIQUE(date))

Trabajando desde adentro hacia afuera, la función UNIQUE se usa para extraer una lista de fechas únicas del rango nombrado "fecha":

UNIQUE(date) // extract unique values

El resultado es una matriz con 5 números como este:

(44105;44109;44111;44113;44116)

Cada número representa una fecha de Excel, sin formato de fecha. Las 5 fechas son 1-oct-20, 5-oct-20, 7-oct-20, 9-oct-20 y 12-oct-20.

Esta matriz se entrega directamente a la función COUNT:

=COUNT((44105;44109;44111;44113;44116)) // returns 5

que devuelve un recuento de valores numéricos, 5, como resultado final.

Nota: La función CONTAR cuenta valores numéricos, mientras que la función CONTAR contará valores numéricos y de texto. Dependiendo de la situación, puede tener sentido usar uno u otro. En este caso, debido a que las fechas son numéricas, usamos COUNT.

Con COUNTIF

En una versión anterior de Excel, puede usar la función CONTAR.SI para contar fechas únicas con una fórmula como esta:

=SUMPRODUCT(1/COUNTIF(date,date))

Trabajando desde adentro hacia afuera, COUNTIF devuelve una matriz con un recuento para cada fecha en la lista:

COUNTIF(date,date) // returns (2;2;3;3;3;2;2;2;2;3;3;3)

En este punto, tenemos:

=SUMPRODUCT(1/(2;2;3;3;3;2;2;2;2;3;3;3))

Después de dividir 1 por esta matriz, tenemos una matriz de valores fraccionarios:

(0.5;0.5;0.333333333333333;0.333333333333333;0.333333333333333;0.5;0.5;0.5;0.5;0.333333333333333;0.333333333333333;0.333333333333333)

Esta matriz se entrega directamente a la función SUMPRODUCT. SUMPRODUCT luego suma los elementos de la matriz y devuelve el total, 5.

Con frecuencia

Si está trabajando con un gran conjunto de datos, es posible que tenga problemas de rendimiento con la fórmula COUNTIF anterior. En ese caso, puede cambiar a una fórmula de matriz basada en la función FRECUENCIA:

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

Nota: Esta es una fórmula de matriz y debe ingresarse con control + shift + enter, excepto en Excel 365.

Esta fórmula se calculará más rápido que la versión COUNTIF anterior, pero solo funcionará con valores numéricos. Para más detalles, consulte este artículo.

Articulos interesantes...