Formule Excel: compter plusieurs critères sans logique -

Table des matières

Formule générique

=SUMPRODUCT((rng1=crit1)*ISNA(MATCH(rng2,crit2,0)))

Sommaire

Pour compter avec plusieurs critères, y compris la logique pour PAS l'une de plusieurs choses, vous pouvez utiliser la fonction SOMMEPROD avec les fonctions MATCH et ISNA.

Dans l'exemple illustré, la formule du G8 est:

=SUMPRODUCT((gender=F4)*ISNA(MATCH(group,G4:G5,0)))

Où «genre» est la plage nommée C4: C12 et «groupe» est la plage nommée D4: D12.

Remarque: MATCH et ISNA permettent à la formule de se mettre à l'échelle facilement pour gérer plus d'exclusions, car vous pouvez facilement étendre la plage pour inclure des valeurs "NON" supplémentaires.

Explication

La première expression de SUMPRODUCTS teste les valeurs de la colonne C, Sexe, par rapport à la valeur de F4, "Homme":

(gender=F4)

Le résultat est un tableau de valeurs TRUE FALSE comme ceci:

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

Où VRAI correspond à "Homme".

La deuxième expression à l'intérieur de SUMPRODUCTS teste les valeurs de la colonne D, Group, par rapport aux valeurs de G4: G5, "A" et "B". Ce test est géré avec MATCH et ISNA comme ceci:

ISNA(MATCH(group,G4:G5,0))

La fonction MATCH est utilisée pour faire correspondre toutes les valeurs de la plage nommée «groupe» aux valeurs de G4: G5, «A» et «B». Lorsque la correspondance réussit, MATCH renvoie un nombre. Là où le MATCH échoue, MATCH renvoie # N / A. Le résultat est un tableau comme celui-ci:

(1; 2; # N / A; 1; 2; # N / A; 1; 2; # N / A)

Puisque les valeurs # N / A correspondent à "pas A ou B", ISNA est utilisé pour "inverser" le tableau en:

(FAUX; FAUX; VRAI; FAUX; FAUX; VRAI; FAUX; FAUX; VRAI)

Maintenant TRUE correspond à "pas A ou B".

Dans SUMPRODUCT, les deux résultats du tableau sont multipliés ensemble, ce qui crée un seul tableau numérique dans SUMPRODUCT:

SUMPRODUCT((0;0;1;0;0;1;0;0;0))

SUMPRODUCT renvoie alors la somme, 2, représentant "2 hommes n'appartenant pas au groupe A ou B".

Bons liens

Réponse de Stackoverflow par Barry Houdini

Articles intéressants...