Calcul d'un montant en fonction de 2 données

gpera

XLDnaute Nouveau
Bonjour,

J’aimerai rapatrier dans l’onglet "sum.view" , en cellule C2 , le total des frais du département « Sales » de la société BEF01 et ainsi de suite par type de département selon les mois etc…

Idem pour la société CZF01, etc…

En synthèse, l’idée est d’aller chercher la somme des montants par société, par service et par mois.

J’ai tenté la fonction sommeprod mais me suis cassé les dents. Idem avec un « savant » mélange de recherchev et de sierreur…

Bref, toute aide est la bienvenue !

Merci pour vos retours !
 

Pièces jointes

  • fichier test.xlsx
    275.6 KB · Affichages: 101

gpera

XLDnaute Nouveau
Bonjour Chris,

Merci pour ce (très) rapide retour!
Quelle belle fonction (que je ne connaissais pas jusqu'à présent). Et assez facile à utiliser.

Si je la comprends bien, elle permet de sommer des montants en fonction de plage que l'on lie à nos critères de recherche.

Merci et bonne journée,
 

Jocelyn

XLDnaute Barbatruc
Bonjour le Forum,
Bonjour gpera, l'amie Chris :),

Principalement pour saluer Chris et ma fois comme tu as essaye par sommeprod () la solution en sommeprod
Code:
=SOMMEPROD((Report!$C$2:$C$420=$A2)*(Report!$B$2:$B$420=$B2)*DECALER(Report!$M$2:$M$420;;EQUIV(C$1;Report!$M$1:$Q$1;0)-1))

a mettre en C2 et a étirer vers la droite et le bas

les plages sont arrétée ligne 420 car après il y a des N/A en colonne A

Voila cordialement

Bises chris :)
 

job75

XLDnaute Barbatruc
Bonjour gpera, chris, Jocelyn,

@ Jocelyn : pas besoin de DECALER/EQUIV puisque les mois se suivent de la même manière dans les 2 feuilles.

En C2 :
Code:
=SOMMEPROD((Report!$C$2:$C$420=$A2)*(Report!$B$2:$B$420=$B2);Report!M$2:M$420)
A+
 

gpera

XLDnaute Nouveau
Bonjour à tous,

@job75, merci pour la fonction sommeprod, j'ai comparé avec ce que j'avais fait initialement et j'avais oublié une parenthèse dans la formule.

@Jocelyn, peux-tu m'expliquer la logique et la construction du decaler/equiv. Effectivement, j'avais déjà reclassé les mois, mais l'extraction initiale du système me donne janvier / février / octobre / novembre / décembre.

Merci!
 

gpera

XLDnaute Nouveau
Bonjour à tous,

Merci à tous pour vos retours.

@job75 , j'ai comparé ta fonction avec ce que j'avais fait initialement, et j’avais oublié une parenthèse.

@Jocelyn, peux-tu m'expliquer la logique / construction de la fonction decaler / equiv. En effet dans cet exemple j'ai reclassé les mois, mais l'extraction initiale du système me donne les mois dans cet ordre : janvier / février / octobre / novembre / décembre

Merci!
 

Jocelyn

XLDnaute Barbatruc
re,
Bonjour Job75,

Alors la fonction décaler (inutile dans cet exemple)

DECALER(Report!$M$2:$M$420;;EQUIV(C$1;Report!$M$1:$Q$1;0)-1)

on démarre de la première colonne ou il peut y avoir des valeurs a additionnées ici Report!$M$2:$M$420
après le premier ; il faudrait mettre une valeur si nous voulions faire un décalage en ligne ce n'est pas le cas donc on ne met rien ou 0
après le 2 eme ; on gère le calage en colonne et pour le cas ou tout de serait pas rangé de la même façon on calcul le nombre de colonne de décalage par equiv EQUIV(C$1;Report!$M$1:$Q$1;0)-1 on cherche la valeur de C1 (octobre) dans la plage Report!$M$1:$Q$1 (qui contient octobre, novembre, décembre, janvier et février ) la position de la valeur de C1 et 1 comme Report!$M$2:$M$420 représente bien les valeur d'octobre il y a à la fin du équiv le -1 si nous avions cherché décembre le résultat aurait été 3 donc 3-1 on décale de 2 colonnes cela enverrait en Report!$o$2:$o$420

Voila j'espère avoir été clair

Cordialement
 

Discussions similaires

Statistiques des forums

Discussions
312 924
Messages
2 093 669
Membres
105 781
dernier inscrit
Dominique G.