[Résolu] Fonction matricielle - Plage contenant des valeurs spécifiques

swissboy

XLDnaute Nouveau
Bonjour à tous,

Voici mon problème, j'espère que vous pourrez m'aider.

Je dois faire la somme des cellules qui répondent à ces critères : Si la cellule A1 contient un a, un b ou un c, alors on doit la compter, sinon pas. Et je dois connaître le nombre de cellule de la plage A1 à A20 qui correspondent à ce critère.

Le souci que j'ai, c'est que la cellule qui contient ab ne doit être comptée qu'une seule fois, et qu'une cellule contenant xa doit être comptée également.

Je ne sais pas si j'ai été très clair, mais je pense que c'est faisable avec une fonction matricielle, sauf que je n'y arrive pas.

Merci d'avance et bonne fin de semaine !
swissboy
 
Dernière édition:

swissboy

XLDnaute Nouveau
Re : Fonction matricielle - Plage contenant des valeurs spécifiques

Bonjour,

Merci pour ta réponse.
Oui pas de problème, voici le fichier exemple.
 

Pièces jointes

  • exemple.xlsx
    9.1 KB · Affichages: 38
  • exemple.xlsx
    9.1 KB · Affichages: 41
  • exemple.xlsx
    9.1 KB · Affichages: 42

Dugenou

XLDnaute Barbatruc
Re : Fonction matricielle - Plage contenant des valeurs spécifiques

Bonjour,
je n'y arrive pas en une seule cellule.
mon approche en pj
 

Pièces jointes

  • swissboy texte.xlsx
    9.6 KB · Affichages: 34
  • swissboy texte.xlsx
    9.6 KB · Affichages: 37
  • swissboy texte.xlsx
    9.6 KB · Affichages: 34

hbenalia

XLDnaute Occasionnel
Re : Fonction matricielle - Plage contenant des valeurs spécifiques

Bonjour à tous,

Un essai avec l'une des formules matricielles suivantes (validées par CTRL+MAJ+ENTREE):
Code:
=SOMME(SI(ESTERREUR(TROUVE("a";$A$1:$A$10));0;1)) +SOMME(SI(ESTERREUR(TROUVE("b";$A$1:$A$10));0;1))+SOMME(SI(ESTERREUR(TROUVE("c";$A$1:$A$10));0;1))-SOMME(SI(ESTERREUR(TROUVE("a";$A$1:$A$10)*TROUVE("b";$A$1:$A$10)*TROUVE("b";$A$1:$A$10));0;1))
ou plus réduite:
Code:
=SOMME(SI(ESTERREUR(TROUVE(TRANSPOSE({"a";"b";"c"});$A$1:$A$10));0;1))-SOMME(SI(ESTERREUR(TROUVE("a";$A$1:$A$10)*TROUVE("b";$A$1:$A$10)*TROUVE("b";$A$1:$A$10));0;1))
Cordialement
 

swissboy

XLDnaute Nouveau
Re : Fonction matricielle - Plage contenant des valeurs spécifiques

Merci bcp pour vos réponses !

hbenalia : malheureusement si une cellule contient abc, elle est comptée 3 fois au lieu d'une, avec les formules matricielles proposées.
Dugenou : c'est exactement ça, mais est-il possible de transformer ta formule en formule matricielle ? Car évidemment, je dois utiliser un fichier déjà existant sur lequel je ne peux ajouter que le total de la colonne, et aucune colonne supplémentaire :/

Merci pour votre temps !
swissboy
 

hbenalia

XLDnaute Occasionnel
Re : Fonction matricielle - Plage contenant des valeurs spécifiques

Bonjour à tous,

Les formules proposées plus haut présentent des failles et je me suis rendu compte de ces failles mais raison de coupures du net je n'ai pu remédier à ce problème. Un autre essai avec la formule suivante(toujours matricielle):
Code:
=SOMME(SI(ESTERREUR(TROUVE(TRANSPOSE({"a";"b";"c"});$A$1:$A$10));0;1))-SOMME(SI(ESTERREUR(TROUVE(TRANSPOSE({"ab";"ba";"bc";"cb";"ac";"ca"});$A$1:$A$10));0;1))
Cordialement
 

Dugenou

XLDnaute Barbatruc
Re : Fonction matricielle - Plage contenant des valeurs spécifiques

Bonjour à vous deux,
celle ci semble fonctionner aussi :
Code:
=SOMME(SI(SIERREUR(TROUVE("a";A1:A10);SIERREUR(TROUVE("b";A1:A10);SIERREUR(TROUVE("c";A1:A10);0)))>0;1;0))
à valider par ctrl+maj+enter

Cordialement
 

Pièces jointes

  • swissboy texte.xlsx
    9.5 KB · Affichages: 36
  • swissboy texte.xlsx
    9.5 KB · Affichages: 38
  • swissboy texte.xlsx
    9.5 KB · Affichages: 38
Dernière édition:

swissboy

XLDnaute Nouveau
Re : Fonction matricielle - Plage contenant des valeurs spécifiques

Magnifique Dugenou ! Merci bcp :)
Merci également à hbenalia (je pense que le fait de lister toutes les possibilités de suite possible à éliminer n'est pas optimal, car si le code est "anc", il sera compté 2 fois.

A tout bientôt, et merci encore !
 

Discussions similaires

Réponses
16
Affichages
557