Formule Excel: compter les commandes mensuelles consécutives -

Table des matières

Formule générique

(=MAX(FREQUENCY(IF(rng>0,COLUMN(rng)),IF(rng=0,COLUMN(rng)))))

Sommaire

Pour compter les commandes mensuelles consécutives, vous pouvez utiliser une formule matricielle basée sur la fonction FREQUENCY, à l'aide de COLUMN et MAX.

Dans l'exemple illustré, la formule en I5 est:

(=MAX(FREQUENCY(IF(C5:H5>0,COLUMN(C5:H5)),IF(C5:H5=0,COLUMN(C5:H5)))))

Remarque: il s'agit d'une formule matricielle et doit être saisie avec Ctrl + Maj + Entrée.

Explication

C'est une formule délicate à comprendre, alors attachez votre ceinture!

La clé de la formule est de savoir que FREQUENCY rassemble les nombres dans des «bacs» d'une manière spécifique. Chaque case représente une limite supérieure et génère un décompte de tous les nombres de l'ensemble de données qui sont inférieurs ou égaux à la limite supérieure et supérieurs au numéro de bac précédent. L'astuce consiste alors à créer le data_array en utilisant la condition que vous voulez tester (nombre de commandes supérieur à zéro dans ce cas), et le bins_array en utilisant la condition opposée.

Pour créer le bin data_array, nous utilisons ce qui suit:

IF(C5:H5>0,COLUMN(C5:H5))

Nous testons le nombre de commandes chaque mois et, s'il est positif, nous renvoyons le numéro de colonne où le nombre de commandes> 0. Le tableau résultant ressemble à ceci:

(3, FAUX, FAUX, 6,7,8)

Notez que seules les colonnes où le nombre de commandes> 0 font partie de ce tableau.

Le tableau bins est généré avec ceci:

IF(C5:H5=0,COLUMN(C5:H5))

Cela met les numéros de colonne pour les nombres de commandes = 0 dans un tableau qui se termine comme ceci:

(FAUX, 4,5, FAUX, FAUX, FAUX)

Seules les colonnes où le nombre de commandes = 0 sont intégrées dans ce tableau où, par comportement FREQUENCE standard, elles deviennent les classes fonctionnelles qui totalisent les commandes non nulles. Les victoires sont traduites en FALSE et ne collectent aucun nombre du tableau de données, car les valeurs FALSE sont ignorées.

Avec le tableau de données et les tableaux de bin ci-dessus, la fréquence renvoie un tableau de décomptes par bin dans un tableau comme celui-ci:

(1; 0; 3)

Maintenant, nous enroulons simplement la fonction MAX autour du tableau retourné par FREQUENCY. MAX renvoie ensuite le nombre le plus élevé du tableau comme résultat final.

Autres valeurs consécutives

Pour compter les occurrences consécutives d'autres valeurs, ajustez simplement la logique selon les besoins en suivant le même modèle: la première condition teste la chose que vous voulez compter, la deuxième condition teste le contraire.

Bons liens

Compter les cellules consécutives avec un texte spécifique (MrExcel)

Articles intéressants...