Formule Excel: compter les dates uniques -

Table des matières

Formule générique

=COUNT(UNIQUE(date))

Sommaire

Pour compter des dates uniques ("jours de négociation" dans l'exemple), vous pouvez utiliser la fonction UNIQUE avec la fonction COUNT, ou une formule basée sur la fonction COUNTIF. Dans l'exemple illustré, la formule de la cellule G8 est:

=COUNT(UNIQUE(date))

date est la plage nommée B5: B16.

Explication

Traditionnellement, compter des éléments uniques avec une formule Excel a été un problème délicat, car il n'y avait pas de fonction unique dédiée. Cependant, cela a changé lorsque des tableaux dynamiques ont été ajoutés à Excel 365, ainsi que plusieurs nouvelles fonctions, y compris UNIQUE.

Remarque: dans les anciennes versions d'Excel, vous pouvez compter les éléments uniques avec la fonction NB.SI ou la fonction FREQUENCE, comme expliqué ci-dessous.

Dans l'exemple illustré, chaque ligne du tableau représente une transaction boursière. Un certain nombre de dates, plus d'un commerce est effectué. L'objectif est de compter les jours de négociation - le nombre de dates uniques auxquelles une sorte de transaction a eu lieu. La formule de la cellule G8 est:

=COUNT(UNIQUE(date))

Travaillant de l'intérieur vers l'extérieur, la fonction UNIQUE est utilisée pour extraire une liste de dates uniques de la plage nommée "date":

UNIQUE(date) // extract unique values

Le résultat est un tableau avec 5 nombres comme celui-ci:

(44105;44109;44111;44113;44116)

Chaque nombre représente une date Excel, sans mise en forme de la date. Les 5 dates sont le 1-oct-20, 5-oct-20, 7-oct-20, 9-oct-20 et 12-oct-20.

Ce tableau est livré directement à la fonction COUNT:

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

qui renvoie un nombre de valeurs numériques, 5, comme résultat final.

Remarque: La fonction COUNT compte les valeurs numériques, tandis que la fonction COUNTA compte les valeurs numériques et textuelles. Selon la situation, il peut être judicieux d'utiliser l'un ou l'autre. Dans ce cas, comme les dates sont numériques, nous utilisons COUNT.

Avec COUNTIF

Dans une ancienne version d'Excel, vous pouvez utiliser la fonction COUNTIF pour compter les dates uniques avec une formule comme celle-ci:

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

En travaillant de l'intérieur vers l'extérieur, COUNTIF renvoie un tableau avec un nombre pour chaque date de la liste:

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

À ce stade, nous avons:

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

Une fois que 1 est divisé par ce tableau, nous avons un tableau de valeurs fractionnaires:

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

Ce tableau est livré directement par la fonction SUMPRODUCT. SUMPRODUCT additionne ensuite les éléments du tableau et renvoie le total, 5.

Avec FREQUENCE

Si vous travaillez avec un grand ensemble de données, vous pouvez rencontrer des problèmes de performances avec la formule COUNTIF ci-dessus. Dans ce cas, vous pouvez passer à une formule matricielle basée sur la fonction FREQUENCE:

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

Remarque: Il s'agit d'une formule matricielle et doit être saisie avec Ctrl + Maj + Entrée, sauf dans Excel 365.

Cette formule calculera plus rapidement que la version COUNTIF ci-dessus, mais elle ne fonctionnera qu'avec des valeurs numériques. Pour plus de détails, consultez cet article.

Articles intéressants...