Fonction decaler

Bonjour à tous,

Pour mon premier post j'aurais une question concernant la fonction decaler().

J'ai dans la première feuille de mon livre excel (Factures!) un registre des factures que je fais à mes clients. A chaque facture correspond une ligne. Dans la colonne A j'ai indiqué le trimestre, par exemple, dans la cellule A2 j'ai T2-2011 (deuxième trimestre de l'année 2011). Dans la colonne Q j'ai le montant total de la facture.

Dans la deuxième feuille du livre (URSSAF!) je veux calculer mon chiffre d'affaires total pour chaque trimestre. Or, pour automatiser la formule je ne peux pas faire une simple "somme()", parce que le nombre de factures par trimestre varie. C'est pour cela que dans la colonne A j'ai les trimestres (A2= T2-2011; A3 = T3-2011, etc) et dans la colonne B j'ai écrit la formule suivante:

B2=SOMME(DECALER((INDIRECT(ADRESSE((EQUIV(A2;Factures!A:A;0));1)));0;16;(NB.SI(Factures!A:A;A2));1))

pour avoir le chiffre d'affaires du semestre.

Donc, la référence de la formule DECALER() c'est l'adresse de la première cellule de Factures!A:A où apparaît la valeur de la cellule URSSAF!A2 (en l'occurrence T2-2011), en INDIRECT() bien sûr.

Ensuite, je demande à excel de décaler cette référence de 16 colonnes (pour aller à la colonne Q) et de créer à partir de là une plage qui comprenne autant de lignes que de factures ont été émises au trimestre en question, d'où que j'aie mis dans la position "hauteur" de la formuler DECALER() le nombre de lignes comportant la valeur A2. Cette plage doit avoir la largeur d'une colonne.

Jusque là tout va bien. Le problème c'est qu'excel me renvoie comme résultat 0, au lieu du chiffre d'affaires...

Quelqu'un voit l'erreur dans la formule?

Je vous remercie d'avance de vos réponses!

Bonsoir DavidG, forum,

Il faut que tu fasses référence à la feuille "Factures" dans la fonction "ADRESSE".

=SOMME(DECALER((INDIRECT(ADRESSE((EQUIV(A2;Factures!A:A;0));1;;;"Factures")));0;16;(NB.SI(Factures!A:A;A2));1))

La formule sommeprod me parait aussi plus appropriée dans ton cas.

=SOMMEPROD((Factures!A:A=URSSAF!A2)*Factures!Q:Q)

Amicalement

Merci Haonv,

Oui, comme ça sa marche! Je suis bête d'avoir oublié cette partie de la fonction. En revanche la deuxième option ne fonctionne pas, mais ce n'est pas grave, je prends la première.

Bonne journée!

Rechercher des sujets similaires à "fonction decaler"