Formule Excel: mode conditionnel avec critères -

Table des matières

Formule générique

(=MODE(IF(criteria,data)))

Sommaire

Pour calculer un mode conditionnel avec un ou plusieurs critères, vous pouvez utiliser une formule matricielle basée sur les fonctions IF et MODE. Dans l'exemple illustré, la formule en F5 est:

(=MODE(IF(group=E5,data)))

où "groupe" est la plage nommée B5: B14 et "données" est la plage nommée C5: C14.

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

Explication

La fonction MODE n'a pas de moyen intégré pour appliquer les critères. Étant donné une plage, il renverra le nombre le plus fréquent dans cette plage.

Pour appliquer des critères, nous utilisons la fonction IF à l'intérieur de MODE pour filtrer les valeurs dans une plage. Dans cet exemple, la fonction IF filtre les valeurs par groupe avec une expression comme celle-ci:

IF(group=E5,data)

Ceci compare chaque valeur de la plage nommée «groupe» à la valeur de E5, qui est «A». Étant donné que le test logique est appliqué à un tableau avec plusieurs valeurs, le résultat est un tableau de valeurs TRUE FALSE:

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

où chaque VRAI correspond à une ligne où le groupe est "A". Ce tableau devient un filtre. Pour chaque TRUE, IF renvoie la valeur correspondante dans la plage nommée "data". Les valeurs FALSE restent inchangées. Le résultat final de IF est ce tableau:

(3;FALSE;3;FALSE;5;FALSE;1;FALSE;2;FALSE)

Notez que seules les valeurs du groupe A ont survécu, les valeurs du groupe B sont maintenant FALSE. Ce tableau est renvoyé à la fonction MODE, qui ignore automatiquement les valeurs FALSE et renvoie le nombre le plus fréquent, qui est 3.

Remarque: lorsque IF est utilisé de cette manière pour filtrer les valeurs avec une opération de tableau, la formule doit être saisie avec Ctrl + Maj + Entrée.

Critères supplémentaires

Pour appliquer plusieurs critères, vous pouvez imbriquer un autre IF dans le premier IF:

(=MODE(IF(criteria1,IF(criteria2,data))))

Articles intéressants...