Ceci est une page optimisée pour les mobiles. Cliquez sur ce texte pour afficher la vraie page.

somme si (verticale et horizontale)????

Sandy

XLDnaute Nouveau
Bonjour,

j'aimerais faire une formule qui ressemblerai à ceci: si le titre de ligne 1 égale "ville" faire recherche de montreal dans cette colonne et faire la somme des colonnes qui ont comme titre en ligne 1 : pomme et fraise
Est-ce possible et comment? Voir mon fichier excel ci-joint pour le petit tableau.


Toutefois, tout ce que j'ai en ce moment est statique: = somme.si(B:B;"Montreal";C:C)+somme.si(B:B;"Montreal";E:E)
Mais, je voudrais que si les colonnes changes de place… ma formule fonctionne quand même.


Merci à l'avance
Sandy
 

Pièces jointes

  • somme-si (verticale & horizontale).xls
    13.5 KB · Affichages: 704

JHA

XLDnaute Barbatruc
Re : somme si (verticale et horizontale)????

Bonsoir Sandy, le forum, Un exemple avec sommeprod():=SOMMEPROD(($B$2:$B$5="Montreal")*((C2:C5)+(E2:E5)))JHA
 
Dernière édition:

ninbihan

XLDnaute Impliqué
Re : somme si (verticale et horizontale)????

Bonsoir Sandy et JHA


Un autre essai, toujours avec sommeprod


Bonne soirée,

Ninbihan
 

Pièces jointes

  • somme-si (verticale & horizontale).zip
    5 KB · Affichages: 905

Sandy

XLDnaute Nouveau
Re : somme si (verticale et horizontale)????

Wow , merci

Ca fonctionne tres bien, mais je me demandais si il était possible de faire la somme de plusieurs colonnes ayant des noms semblables.
Par exemple: pomme1, pomme2 et pomme3
en mettant une * apres le mot pomme par exemple?
SOMMEPROD((B2:B5=B7)*DECALER(B2:B5;0;EQUIV("Pomme*";C1:E1;0)))+SOMMEPROD((B2:B5=B7)*DECALER(B2:B5;0;EQUIV(B9;C1:E1;0)))

Merci encore
 

JeanMarie

XLDnaute Barbatruc
Re : somme si (verticale et horizontale)????

Bonjour Sandy, ninbihan

Sur la base du fichier de 23 h 00, on peut simplifier la formule
Code:
=SOMMEPROD(INDEX(C1:E5;EQUIV(B2;B:B;0);0)*(C1:E1=B8:B9))

Pour ce qui est des noms semblables
Code:
=SOMMEPROD(INDEX(C1:E5;EQUIV(B2;B:B;0);0)*NB.SI(DECALER(B1;;COLONNE(A1:C1));B8:B9&"*"))

La plage définie dans la fonction COLONNE, doit toujours commencer à la colonne A et sa longueur doit être égale à la plage définie dans la fonction INDEX.

@+Jean-Marie
 

Sandy

XLDnaute Nouveau
Re : somme si (verticale et horizontale)????

Merci Jean-Marie,

Ca fonctionne tres bien à l'horizontale, mais si je voudrais aussi que ca fonctionne verticalement??? est-ce possible?

Cette formule ci fonction tres bien quand on regarde sur la ligne, mais j'essaie de l'appliquer à la verticale.... car là ca fait juste la somme du premier Montreal, s'il y en a d'autres en ligne 3 ou 4, il ne les prends pas en considération???
=SOMMEPROD(INDEX(C1:E5;EQUIV("Montreal*";B:B;0);0)*NB.SI(DECALER(B1;;COLONNE(A1:C1));B8:B9&"*"))

Merci encore
Sandy
 

JeanMarie

XLDnaute Barbatruc
Re : somme si (verticale et horizontale)????

Bonsoir Sandy

Une proposition de formule, mais cette fois, il faut la valider par les touches Ctrl+Shift+Entrer
Code:
=SOMME(TRANSPOSE(FREQUENCE(SI(ESTNUM(CHERCHE(B8:B9;C1:E1));COLONNE(A1:C1));COLONNE(A1:C1)))*(C2:F5*(B2:B5=B7)))
Concernant les plages définies :
- dans la fonction COLONNE, elle doit être de même longueur que la plage C1:E1, le début sur la première colonne n'est pas obligatoire.
- C2:F5, elle doit avoir une colonne en plus par rapport à la plage C1:E1, les cellules de la colonne supplémentaire doivent être vides, des données numériques fausseraient le résultat, et des données texte provoqueraient des erreurs. Le rajout de la colonne supplémentaire est dû à l'emploi de la fonction FREQUENCE.

L'emploi de la fonction TRANSPOSE est nécessaire pour basculer la matrice d'un sens vertical à un sens horizontal. Cette fonction impose la validation par les trois touches.

J'espère que ces quelques explications te permettront d'adapter la formule à ton fichier.

@+Jean-Marie
 

Discussions similaires

Réponses
3
Affichages
358
Les cookies sont requis pour utiliser ce site. Vous devez les accepter pour continuer à utiliser le site. En savoir plus…