Somme Si avec intervalle de temps

Bonjour à tous,

Je travaille sur un fichier qui doit me permettre d'anticiper des échéances de paiement mensuelles d'ici à 2030.

Trois données au départ : la clé d'identification liée au projet, les dates des différentes échéances et le montant des échéances. L'idée n'étant pas d'avoir une formule avec 240 formules SI cumulées, je souhaite faire apparaître un échéancier mensuel du règlement des échéances.

Je souhaite donc faire une somme si ens des montants dus avec un critère d'intervalle de temps (1er du mois au 30) en fonction de la clé d'identification (elle peut varier). J'ai tenté plus d'une heure à cumuler des recherche X et des somme si ens mais rien n'y fait.

Le fichier ci-joint pour plus de clarté.

11classeur1.xlsx (27.03 Ko)

Merci beaucoup :)

Bonjour,

à voir
eric

19classeur1.zip (213.03 Ko)

Bonjour Eric,

Merci : c'est astucieux. Néanmoins la formule ne prends pas en compte la somme des échéances. J'ai fait un test en faisant varier la date d'échéance d'une ligne.

Voir ci-joint. Merci d'avance :)

8classeur-1.zip (188.07 Ko)

Bonjour,

en regardant les premières lignes j'avais conclus, à tort, qu'il ne pouvait y avoir 2 échéances par mois.
Là c'est un peu plus complexe et je manque un peu de temps dans l'immédiat.
eric

Bonjoir Eric,

Merci en tout cas. Avez-vous vu une idée des formules à utiliser ? Je vais essayer de faire ma cuisine à partir de ça.

Sur de telles formules, l'idée est là quand on a fini avec le bon résultat.
Te donner les fonctions que l'on pense utiliser ne t'avancerait guère...
En D3 :

=SOMMEPROD((((DATE(ANNEE(DECALER(Feuil1!$O$1;EQUIV($B3;Feuil1!$B:$B;0)-1;;;10));MOIS(DECALER(Feuil1!$O$1;EQUIV($B3;Feuil1!$B:$B;0)-1;;;10));1)=D$2)*COLONNE($O3:$X3)-14)>0)*DECALER(Feuil1!$D$1;EQUIV($B3;Feuil1!$B:$B;0)-1;;;10))

à tirer vers la droite puis vers le bas.
Ca risque d'être assez lourd si plusieurs milliers de lignes.
Dans ce cas il vaudrait mieux passer en vba
eric

Bonjour à tous,

Une proposition Power Query.

Complément gratuit Microsoft Excel 2010, 2013. Natif pour les versions ultérieures.

Cdlt.

6homela.zip (67.86 Ko)

Merci Eric,

Quelle formule ! Il m'aurait fallu plusieurs jours pour trouver '--.

Deux questions pour comprendre un peu plus ta formule :

1) Dans tes fonctions décaler, quelle est l'idée derrière "-1;;;10" ?

2) Pourquoi as-tu mis un "*COLONNE($O4:$X4)-14)>0)" ? Je bug notamment sur la raison du "-14)>0)".

Merci beaucoup :)

1) EQUIV() recherche la ligne de ton ident à utiliser dans Decaler()
Comme on décale depuis la ligne 1, si la ligne voulue est la 3 il faut faire +2 pour l'atteindre (=3-1)
10 est le nombre de colonnes voulues.
Pour rappel, l'aide de decaler() te donne la syntaxe et le rôle des paramètres :
DECALER(réf, lignes, colonnes, [hauteur], [largeur])

2) tu as raison de bloquer dessus, c'est un résidu qui n'a plus lieu d'être.
Pour l'explication, à l'origine j'avais laissé les colonnes depuis O pour te montrer qu'on était encore dans les dates, et -14 pour ramener O (colonne 15) à 1.
Pas vu qu'au final c'était superflu (opération blanche en fait), la suite s'étend orientée autrement.
Donc :

=SOMMEPROD((((DATE(ANNEE(DECALER(Feuil1!$O$1;EQUIV($B3;Feuil1!$B:$B;0)-1;;;10));MOIS(DECALER(Feuil1!$O$1;EQUIV($B3;Feuil1!$B:$B;0)-1;;;10));1)=D$2))*DECALER(Feuil1!$D$1;EQUIV($B3;Feuil1!$B:$B;0)-1;;;10)))

eric

Merci Eric !

Je finis bien la semaine en grande partie grâce à ton aide !

Bon week-end !

Rechercher des sujets similaires à "somme intervalle temps"