Index, renvoie d'une plage à sommer

Bonjour,

Mon problème est le suivant:

J'ai un tableau de ce type, pour faire simple:

A B C

Animal Nourriture type

chien 1 sauvage

poule 3 sauvage

chat 2 domestique

chien 2 domestique

chien 1 sauvage

Je veux additionner le nombre d'unité de nourriture pour les chiens sauvages.

la fonction {=INDEX(B2:B6;EQUIV(1;(A2:A6="chien")*(C2:C6="sauvage"));0)} me renvoie seulement la première combinaison chien/sauvage qu'il trouve et me renvoie donc 1.

Avez vous une idée de la méthode pour pouvoir additionner la nourriture pour chien/sauvage et donc trouver 2?

Merci d'avance.

Bonjour,

Essaye avec la fonction SOMMEPROD :

=SOMMEPROD((A1:A10="chien")*(C1:C10="sauvage")*B1:B10)

Je te laisse tester

@+

Ok, super merci, ça marche.

Mais j'avais peut être trop réduit mon problème à la somme.

Car en fait, je dois faire une moyenne (donc ça c'est pas trop compliqué, je fais =SOMMEPROD((A2:A7="chien")*(C2:C7="sauvage")*B2:B7)/SOMMEPROD((A2:A7="chien")*(C2:C7="sauvage")).

Mais si par exemple je veux trouver le minimum et le max des unités de nourriture pour chien et sauvage.

Y-a-t-il une fonction du genre?

Encore merci, déjà ça m'aide pas mal.

avec une colonne combinaison

puis menu données tri selon cette colonne

puis menu données sous-totaux selon cette colonne

puis clic sur le bouton 2 en tête de la colonne grisée à gauche de ton écran

ça doit pouvoir tout être enregistrable en macro

edit :

1/

thibo, bonjour. Efficace ta formule !

2/

avec les sous-totaux on peut avoir les max et les min au lieu de la somme

bgrvfe

29classeur2.xls (14.00 Ko)

Bonjour,

Avec une formule matricielle :

=MAX(($A$2:$A$6="chien")*($C$2:$C$6="sauvage")*$B$2:$B$6)

Tu entres cette formule, puis tu cliques au milieu de la formule, et tu appuies simultanément sur les touches :

Ctrl + Maj + Entrée (touches Contrôle + Majuscule (celle avec la flèche vers le haut) + Entrée)

Bonne journée

Merci bien, c'est vrai que je préfère la formule matricielle car pour remplir mon tableau, ça m'est plus pratique.

Cependant, quand je mets, =MAX(($A$2:$A$6="chien")*($C$2:$C$6="sauvage")*$B$2:$B$6), ça me met bien 5.

Mais quand je mets =MIN(($A$2:$A$6="chien")*($C$2:$C$6="sauvage")*$B$2:$B$6), ça me met 0.

Et quand je mets =MOYENNE(($A$2:$A$6="chien")*($C$2:$C$6="sauvage")*$B$2:$B$6), ça me met 1.2 ce qui ne semble pas être la bonne valeur.

Savez-vous pourquoi?

Bonjour,

C'est normal que cela ne fonctionne pas, les lignes ne correspondant pas aux critères sont comptées pour 0 (FAUX).

Une petite variante :

=MIN(SI((A2:A6="chien")*(C2:C6="sauvage");B2:B6))

même chose pour MOYENNE

=MOYENNE(SI((A2:A6="chien")*(C2:C6="sauvage");B2:B6))

A+

Rechercher des sujets similaires à "index renvoie plage sommer"