Somme.si.ens + décaler

franck70

XLDnaute Junior
Bonjour à tous

Voilà mon petit problème. J'ai un tableau sur lequel je fais une somme.si.ens car j'ai plusieurs critères. Jusque là, tout est OK. Mais ensuite, je veux rajouter un décaler pour sommer tous les mois depuis le début d'année en fonction d'une date que je défini dans une cellule. Ainsi, je somme les 3 premières colonnes si la date est le 31/03 et 6 colonnes si c'est en juin.
J'avais réussi à faire fonctionner cette formule quand je souhaitais faire une somme sur une seule colonne avec la fonciton décaler, mais je dois mal faire quelque chose quand je souhaite faire la somme d'une plage variable de colonne.

La formule est en F17 dans le fichier ci-joint

Merci beaucoup pour votre aide
 

Pièces jointes

  • Test sumifs offsets.xlsx
    11.4 KB · Affichages: 39

franck70

XLDnaute Junior
Bonsoir mapomme,
Merci pour votre réponse
Malheureusement, cette formule renvoie à une colonne fixe (dans l'exemple, la colonne 3) alors que je souhaite une somme de colonne (donc de la colonne E jusqu'à la 3ème colonne suivante). Il devrait donner un résultat de 14 296 (9 440 venant de la 1ère colonne et 4856 de la 2ème colonne).

Merci beaucoup
 

franck70

XLDnaute Junior
Super, merci beaucoup. Ca fonctionne parfaitement
Ca fait tellement longtemps que je n'avais pas utilisé de formule matricielle que j'avais complètement oublié leur existence :)
Juste pour mon information, la formule somme.si.ens avec décaler ne peut pas fonctionner pour ce genre de cas ? Je pensais que dans la formule décaler, la largeur demandée correspondait au nombre de colonne qu'on souhaiter sommer, mais ça ne semble pas être ça...
 

mapomme

XLDnaute Barbatruc
Supporter XLD
Re ;)
Super, merci beaucoup. Ca fonctionne parfaitement
Ca fait tellement longtemps que je n'avais pas utilisé de formule matricielle que j'avais complètement oublié leur existence :)
Juste pour mon information, la formule somme.si.ens avec décaler ne peut pas fonctionner pour ce genre de cas ? Je pensais que dans la formule décaler, la largeur demandée correspondait au nombre de colonne qu'on souhaiter sommer, mais ça ne semble pas être ça...

Je n'ai pas creusé. Il me semble que si on veut combiner des fonctions ou bien si les plages ne sont pas toutes unicolonne et de même dimension , alors le nb.si.ens coince. Il faudrait se pencher dessus et bien étudier cette fonction. En fait dès que les conditions deviennent un peu complexes, je passe soit par des formules matricielles soit par des sommeprod (qui d'ailleurs semble être une fonction matricielle mais sans la validation des matricielles). Mais il est trop tard pour y réfléchir et développer. Il fait sommeil, au dodo!
 

R@chid

XLDnaute Barbatruc
Bonsoir @ tous,
Salut mapomme,
le plus simple est d'utiliser la fonctione que t'a donnée notre ami mapomme, et bien évidemment avec sommeprod() sans la validation matricielle c'est plus simple.
Sinon, on peut faire avec une formule classique de type SOMME(DECALER()) mais il faut que la base de données soit triée.


Cordialement
 

Discussions similaires

Statistiques des forums

Discussions
312 095
Messages
2 085 248
Membres
102 835
dernier inscrit
Alexandrax971