Comment calculer les dépenses sur 30 jours flottant ?

marsienfr75

XLDnaute Junior
Bonjour,
colonne 1 : la date
colonne 2 : la dépense
colonne 4 : ce que je voudrais (sans macro SVP)
Je n'ai commencé que le 1er février !
Pour chaque ligne, j'aimerais connaitre les dépenses sur 30 jours (jusqu'à la date de ligne : en colonne 1)
La condition est : "entre 2 dates : la date mentionnée et cette date -30". Mais avec SOMME.SI : je n'arrive pas à formuler la condition convenablement et j'ignore si cela est possible. J'ai aussi envisager d'utiliser BDSOMME mais c'est la même difficultés.
J'ai comme info : SOMME.SI(plage;critère;somme_plage) : c'est au niveau de la formulation du "critère" que je n'y arrive pas (faute de savoir).
Merci.
Cordialement, Didier.
 

Pièces jointes

  • dépenses sur 30 jours.xls
    18 KB · Affichages: 120

job75

XLDnaute Barbatruc
Re : Comment calculer les dépenses sur 30 jours flottant ?

Bonjour marsienfr75,

Formule en E2 à tirer vers le bas :

Code:
=SOMME(INDEX(B:B;SI(ESTNA(EQUIV(A2-30-0,0001;A:A));2;EQUIV(A2-30-0,0001;A:A)+1)):B2)
Fichier joint.

A+
 

Pièces jointes

  • dépenses sur30 jours(1).xls
    25 KB · Affichages: 94

job75

XLDnaute Barbatruc
Re : Comment calculer les dépenses sur 30 jours flottant ?

Re,

Formule un peu plus simple en E2 :

Code:
=SOMME(B2:INDEX(B:B;SI(A2-30,0001<A$2;2;EQUIV(A2-30,0001;A:A)+1)))
Fichier (2).

Nota : j'ai oublié de préciser que les dates en colonne A doivent être classées en ordre ascendant.

A+
 

Pièces jointes

  • dépenses sur30 jours(2).xls
    25 KB · Affichages: 87

job75

XLDnaute Barbatruc
Re : Comment calculer les dépenses sur 30 jours flottant ?

Re, salut Genii,

La bonne formule avec SOMMEPROD :

Code:
=SOMMEPROD((A$2:A2>=A2-30)*(A$2:A2<=A2);B$2:B2)
Mais sur de grands tableaux le calcul sera plus lent qu'avec la formule utilisant INDEX/EQUIV.

Fichier joint.

A+
 

Pièces jointes

  • dépenses sur30 jours ave SOMMEPROD(1).xls
    24.5 KB · Affichages: 86

marsienfr75

XLDnaute Junior
Re : Comment calculer les dépenses sur 30 jours flottant ?

Re, salut Genii,

La bonne formule avec SOMMEPROD :

Code:
=SOMMEPROD((A$2:A2>=A2-30)*(A$2:A2<=A2);B$2:B2)
Mais sur de grands tableaux le calcul sera plus lent qu'avec la formule utilisant INDEX/EQUIV.

Fichier joint.

A+

Bonjour,

C'est tout à fait cela ce que je cherche : merci ! Hélas, je ne comprends rien (ou quasiment) ! Je serais incapable de l'utiliser ailleurs !

Sur MicrosoftOffice, je lis "SOMMEPROD(matrice1;matrice2;matrice3,...)" mais je ne comprends pas ce que cela signifie le terme "matrice" ! Il peut y avoir entre 2 et 255 occurrences, mais pour la ligne 15 : "=SOMMEPROD((A$2:A15>=A15-30)*(A$2:A15<=A15);B$2:B15)", je dois dire que ">=" m'était inconnu ! J'arrive à comprendre : "A15>=A15-30" cela signifie "compris entre la date et la date - 30". Les matrices sont séparées par le point-virgule alors ... Quelle galère à comprendre !

La possibilité d'utiliser "INDEX/EQUIV" :'intéresse mais j'aimerais comprendre !

Cordaielemnt, Didier.
 

mapomme

XLDnaute Barbatruc
Supporter XLD
Re : Comment calculer les dépenses sur 30 jours flottant ?

Bonjour,
une autre formule en utilisant somme.si.ens. Formule en A2 à recopier vers le bas. (fonction disponible à partir de Excel 2007)
Code:
=SOMME.SI.ENS( $B$2:$B$15;$A$2:$A$15;"<=" & A2; $A$2:$A$15;">" & (A2-30))

Pour comprendre la fonction sommeprod on peut lire, sur l'excellent site Excelabo.net, la rubrique sur sommeprod: Ce lien n'existe plus

Un équivalent en sommeprod de la formule ci-dessus serait:
Code:
=SOMMEPROD( ($A$2:$A$15<=A2) * ($A$2:$A$15>A2-30) * ($B$2:$B$15) )
 
Dernière édition:

mapomme

XLDnaute Barbatruc
Supporter XLD
Re : Comment calculer les dépenses sur 30 jours flottant ?

Bonjour à tous et à JBOBO,

Ta formule fonctionne, me semble-il, si les dates sont triées en ordre ascendant et si il n'y a qu'une dépense par jour. S'il y a plusieurs dépenses pour un même jour, la somme pour chacune des lignes sera différente et ce n'est qu'à la dernière ligne qu'on aura le total sur 30 jours.
 

job75

XLDnaute Barbatruc
Re : Comment calculer les dépenses sur 30 jours flottant ?

Bonjour mapomme, JBOBO :)

Je vote pour la formule de JBOBO, j'aurais dû y penser :)

En effet il est plus que probable que les lignes sont écrites au fil de l'eau, chronologiquement.

Et quand on est sur une ligne on ne sait pas encore s'il y aura d'autres dépenses le même jour.

A+
 

marsienfr75

XLDnaute Junior
Re : Comment calculer les dépenses sur 30 jours flottant ?

Bonjour à tous et à JBOBO,

Ta formule fonctionne, me semble-il, si les dates sont triées en ordre ascendant et si il n'y a qu'une dépense par jour. S'il y a plusieurs dépenses pour un même jour, la somme pour chacune des lignes sera différente et ce n'est qu'à la dernière ligne qu'on aura le total sur 30 jours.

Bonjour,
Dans mon cas, il y a plusieurs achats par jour et la formule =SOMMEPROD((A$2:A15>=A15-30)*(A$2:A15<=A15);B$2:B15) fonctionne !
Merci mapomme : j'ai compris que le symbole de multiplication "*" signifie ET ; mais il semble que "&" fonctionnerait mais pas pour la même fonction.

Dans un ou deux ans, lorsqu'il y aura trop de lignes, que devrais je faire ?

Cordialement, Didier.
 

Statistiques des forums

Discussions
312 361
Messages
2 087 599
Membres
103 604
dernier inscrit
CAROETALEX59