Précédent   Forum des professionnels en informatique > Logiciels > Microsoft Office > Excel
Excel Forum d'entraide sur Excel. Vos questions sur les fonctions, formules, manipulations, et tout sujet qui ne trouve pas sa place dans un sous-forum.
Partagez cette discussion sur d'autres réseaux sociaux : Viadeo Twitter Google Facebook Digg Delicious MySpace Yahoo
Réponse Proposer ce sujet en actualité
 
Outils de la discussion
Publicité
'
Vieux 14/01/2011, 10h17   #1
Nouveau Membre du Club
 
Inscription : janvier 2009
Messages : 78
Détails du profil
Informations forums :
Inscription : janvier 2009
Messages : 78
Points : 26
Points : 26
Par défaut Sommeprod avec liste

Bonjour a tous
J'ai en colonne A plusieurs noms différents et en colonne B des chiffres
J'ai une liste de préférés qui sont entre crochet
Voila j'ai cette formule:
=SOMMEPROD((A1:A100={"ADR"."BAW"."MXA"."ITF"."KAC"."JBU".OHY"})*(B1:B100))
Je voudrais remplacer {"ADR"."BAW"."MXA"."ITF"."KAC"."JBU".OHY"} par un simple terme "MaListe" pour éviter si je modifie ces préférés aller dans la formule
exp.
=SOMMEPROD((A1:A100=Ma Liste)*(B1:B100))
J'ai essayé mais cela ne fonctionne pas
Merci et bonne journée
Philippe76
Philippe76 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 14/01/2011, 10h33   #2
Membre habitué
 
Inscription : janvier 2011
Messages : 106
Détails du profil
Informations personnelles :
Âge : 51

Informations forums :
Inscription : janvier 2011
Messages : 106
Points : 137
Points : 137
Bonjour,

Peut-être avec
Code :
=SOMMEPROD((NB.SI(MaListe;A1:A10))*(B1:B10))
... pour autant que MaListe corresponde bien à une plage nommée
U. Milité est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 14/01/2011, 10h50   #3
Nouveau Membre du Club
 
Inscription : janvier 2009
Messages : 78
Détails du profil
Informations forums :
Inscription : janvier 2009
Messages : 78
Points : 26
Points : 26
Par défaut Merci

Merci c'est tout bon
Bonne journée
Philippe76 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 14/01/2011, 14h42   #4
Membre confirmé
 
Inscription : mai 2010
Messages : 200
Détails du profil
Informations forums :
Inscription : mai 2010
Messages : 200
Points : 278
Points : 278
Bonjour,

Juste pour une petite explication concernant ta formule :
=SOMMEPROD((A1:A100=Ma Liste)*(B1:B100))
Tu as une erreur car tu compares une colonne de 100 lignes avec une autre (Ma Liste) de 7 valeurs ce qui provoque l'erreur #VALEUR! (les colonnes devant être de même longueur).

D'ailleurs si tu avais 100 valeurs dans Ma Liste, tu n'aurais plus le message d'erreur mais un résultat faux puisque la comparaison se fait ligne par ligne soit :
A1=1er élement de Ma Liste; A2=2ème élément de Ma Liste ...etc).
Ce qui ne correspond pas à ce que tu recherches.

La solution (en plus de celle U. Milité qui est OK) est mettre ta liste sur 1 ligne et non 1 colonne.
A1:A100=Ma Liste renvoie alors une matrice de 100 lignes et 7 colonnes (1 pour chaque élément de Ma Liste).
La formule renvoie alors le résultat escompté.

Ou avec ta liste en colonne, utiliser la fonction TRANSPOSE.
=SOMMEPROD((A1:A100=TRANSPOSE(Ma Liste))*(B1:B100))
ce qui nécessite de valider la formule par ctrl+maj+entrée, le caractère matriciel n'étant pas transmis à TRANSPOSE par SOMMEPROD.

Ceci est juste pour expliquer le non-fonctionnement de ta formule, d'autant que la formule avec NB.SI dans le cas d'une très grande plage de données est moins gourmande en ressources.

A+

Gérard
GerardCalc est déconnecté   Envoyer un message privé Réponse avec citation 00
Réponse Proposer ce sujet en actualité Cette discussion est résolue.
Outils de la discussion



Fuseau horaire GMT +2. Il est actuellement 00h36.


 
 
 
 
Partenaires

Hébergement Web