Signaler

Excel - countif + critères multiples [Résolu/Fermé]

Posez votre question Nimsir 53Messages postés dimanche 5 octobre 2008Date d'inscription 11 juillet 2012 Dernière intervention - Dernière réponse le 18 mars 2009 à 17:31 par Nim
Bonjour,

Je suis occupé à créer un fichier excel. Mais j'ai un p'tit soucis:
Je ne trouve pas comment faire des totaux comportant plusieurs critères.

Admettons:

A B C D E
1 Chien 26 qmsdk 55
2 Chat 52 qdfqsd qsdf 85
3 Chien 26 qmsdk 65
4 Chat 52 qdfqsd qsdf 85
5 Chien 65
6 Chat 52 qdfqsd qsdf 85
7 Chien qmsdk 65
8 Chat 52 qdfqsd qsdf 85

Ici j'aimerais donc faire le total du nombre de "Chiens" dans la colonne A, n'ayant rien dans la colonne B et "65" dans la colonne E.

(Je vois qu'ici ça part un peu en sucette, mais sinon le A, B, C, ... représente la lettre de la colonne et les 1, 2, 3, 4,... le numéro de la ligne dans Excel. En A1 vous trouvez donc "Chien", en B1 "26", ... )

Et j'ai excel en anglais...

Merci d'avance pour l'aide que vous pouriez m'apporter :)
Afficher la suite 
Utile
+1
plus moins
Je ne peux passer le fichier, étant donné qu'il comporte des données confidentiels (vu que c'est un fichier pour le boulot).

Mais avec le lien passé précedemment, j'ai réussi. Toutefois, il me reste un petit problème:

Les variables !

C'est à dire qu'un des deux critères peut varier. Par exemple, je veux toujours les chiens, je veux toutes les villes ou il y a "Marche" dedans.
Nous avons donc, par exemple, Marche-lez-écaussinnes, Marche les binche, marche en famenne, ville-de-marche, etc etc.

Si je veux tout les chiens venants des villes ou il y a "marche", je fais comme suite:
=sumproduct(($A$7:$A$5000="Chiens")*($D$1:$D$5000="*marche*"))

Mais il me met comme résultat 0... Alors qu'il en y a quand même quelques uns quand je regarde manuellement...
Cette réponse vous a-t-elle aidé ?  
wilfried_42 907Messages postés mardi 19 août 2008Date d'inscription ContributeurStatut 8 décembre 2009 Dernière intervention - 12 mars 2009 à 13:45
bonjour

c'est meme etonant qu'il ne te mette pas autre chose
=sumproduct(($A$7:$A$5000="Chiens")*($D$1:$D$5000="*marche*"))
regarde ta formule : Une matrice tu commence à la ligne 7 et l'audre à la ligne 1
de plus les matrices ne font pas la même taille
$A$7 et $D$1 ---> soit $A$1 avec $D$1, soit $A$7 avec $D$7
Nimsir 53Messages postés dimanche 5 octobre 2008Date d'inscription 11 juillet 2012 Dernière intervention - 12 mars 2009 à 13:57
Je me suis trompé en tappant ici, mais c'est bon dans ma feuille excel.
Utile
+0
plus moins
Bonjour,

Si je comprends bien, tu souhaites connaître le total de chiens (total colonne B) mais l'afficher dans la colonne A?


Voici comment faire:

Tu cliques sur la cellule ou tu voudrais que le total apparaisse


1ère méthode (si tu as peu de valeurs):
Par exemple dans le cellule A10
Ensuite tu va dans l'onglet "Insertion" et tu cliques sur "Fonction..." (il y a un petit f dessiner à côté)
Ca ouvre une petite fenêtre où il est marqué Number 1= et là, tu as une case vide. Tu cliques dessus et tu choisi la première valeur (pour ton exemple 26)
Puis tu cliques sur la case vide de Number 2 et tu choisi la cellule avec ton deuxième nombre et ainsi de suite...

2ème méthode (si tu as beaucoup de valeurs):

Tu va sur la cellule où tu veux que le total apparaisse et tu va dans l'onglet "Insertion" et tu cliques sur "Fonction..." (il y a un petit f dessiner à côté)
Ca ouvre une petite fenêtre où il est marqué Number 1= et là, tu as une case vide.
Tu cliques sur la case vide et te positionne ta souris sur le premier nombre (ici B1 et tu fais glisser ta souris jusqu'à ton dernier nombre (mettons que si tu as beaucoup de valeur, par exemple B120) et tu cliques sur le bouton OK



N.B: Si tu change le nombre d'une des cellules que tu as utilisé pour calculer ton total, ta somme sera automatiquement mise à jour.
Utile
+0
plus moins
Bonjour
Pour ce genre de requete
La fonction Sommprod d'excel y répond
regarde ici les exemples
http://bvrve.club.fr/Astuces_Michel/30excel.php

Bonne journée
Nimsir 53Messages postés dimanche 5 octobre 2008Date d'inscription 11 juillet 2012 Dernière intervention - 12 mars 2009 à 11:40
Oui, cela semble correspondre a ce que j'ai besoin, mais ça fonctionne pas quand j'essaye xD
Utile
+0
plus moins
Non non.

Je souhaite faire des totaux avec plusieurs critères.

C'est à dire, dans la colonne "A" on trouve des Chiens, des Chats, des souris et autres.
Dans la colonne "B", on trouve d'autres données.
Dans la colonne "C", encore d'autres.
etc etc

J'aimerais donc faire le total du nombre de chiens (de la colonne A), correspondants aux critères que j'aurai choisi (d'après les données des colonnes B, C, ...).

En clair, si dans la colonne A j'ai les "marques" des animaux
dans la colonne B je leur provenance
dans la colonne C leur age

J'aimerais donc avec un total de tout les chiens venant de France ayant 5 ans (par exemple).
Utile
+0
plus moins
Tiens un exemple
Attention pour cette formule :

Toutes les colonnes doivent avoir le même nombre d'éléments.
Cette fonction ne fonctionne pas sur des colonnes entières.

=SOMMEPROD((A1:A6="Chien")*(B1:B6="France")*(C1:C6=5))
Utile
+0
plus moins
essai ceci
=SOMMEPROD((A1:A6="Chien")*(B1:B6="Marche"))
Nimsir 53Messages postés dimanche 5 octobre 2008Date d'inscription 11 juillet 2012 Dernière intervention - 12 mars 2009 à 13:58
Si je mets "Marche" tout court, il me trouvera les mots qui sont exactement comme ça.
Utile
+0
plus moins
re:

je n'avais pas vus ton *marche*
en francais la formule, tu traduits
=sommeprod(($A$1:$A$5000="Chiens")*(estnum(Trouve("marche";$D$1:$D$5000))))
Utile
+0
plus moins
le "trouve" ce doit être "search" parcontre le estnum... je vois pas ^^
Utile
+0
plus moins
re:

je viens de rentrer chez moi et j'ai un fichier de traduction
Trouve c'est find
EstNum c'est IsNumber

ce qui donne :
=sumproduct(($A$1:$A$5000="Chiens")*(isnumber(find("marche";$D$1:$D$5000))))
Nimsir 53Messages postés dimanche 5 octobre 2008Date d'inscription 11 juillet 2012 Dernière intervention - 12 mars 2009 à 21:15
Okay, la aussi je suis chez moi, je vais donc voir demain. Je vous tien au courant :)
Utile
+0
plus moins
Voila !

ça fonctionne ! Merci beaucoup !
Je vais analyser la formule histoire de savoir pour une prochaine fois :)

Encoremerci
Utile
+0
plus moins
re:

Find renvoie la position d'une chaîne à l'intérieur d'une autre, si la chaîne n'existe pas, il renvoie une erreur
en testant si la valeur renvoyée par find est numérique, un sait finalement si la chaîne est présente.
voila
Nim- 18 mars 2009 à 17:31
J'ai pas tout compris... je dois l'avouer :s

Les membres obtiennent plus de réponses que les utilisateurs anonymes.

Le fait d'être membre vous permet d'avoir un suivi détaillé de vos demandes.

Le fait d'être membre vous permet d'avoir des options supplémentaires.

Vous n'êtes pas encore membre ?

inscrivez-vous, c'est gratuit et ça prend moins d'une minute !