Simplification de formule

lefty49300

XLDnaute Nouveau
Bonjour,
j'ai trois tables:
Entrée: A avec 72 colonnes de -24 à +48 dont les 24 de B à partir de colonne O
Entrée: B avec 24 colonnes de 1 à 24 à partir de colonne AM
Sortie: C avec 72 colonnes -24 à +48 dont les 24 de B à partir de colonne O

Je cherche dans C à effectuer une opération de B par rapport à A avec recopie à droite et à gauche des 24 colonnes de B dans C (cf fichier joint)


=+B!BK2*(1+A!$J2)*A!$O2+B!BJ2*(1+A!$J2)*A!$P2+B!BI2*(1+A!$J2)*A!$Q2+B!BH2*(1+A!$J2)*A!$R2+B!BG2*(1+A!$J2)*A!$S2+B!BF2*(1+A!$J2)*A!$T2+B!BE2*(1+A!$J2)*A!$U2+B!BD2*(1+A!$J2)*A!$V2+B!BC2*(1+A!$J2)*A!$W2+B!BB2*(1+A!$J2)*A!$X2+B!BA2*(1+A!$J2)*A!$Y2+B!AZ2*(1+A!$J2)*A!$Z2+B!AY2*(1+A!$J2)*A!$AA2+B!AX2*(1+A!$J2)*A!$AB2+B!AW2*(1+A!$J2)*A!$AC2+B!AV2*(1+A!$J2)*A!$AD2+B!AU2*(1+A!$J2)*A!$AE2+B!AT2*(1+A!$J2)*A!$AF2+B!AS2*(1+A!$J2)*A!$AG2+B!AR2*(1+A!$J2)*A!$AH2+B!AQ2*(1+A!$J2)*A!$AI2+B!AP2*(1+A!$J2)*A!$AJ2+B!AO2*(1+A!$J2)*A!$AK2+B!AN2*(1+A!$J2)*A!$AL2+B!AM2*(1+A!$J2)*A!$AM2+B!AL2*(1+A!$J2)*A!$AN2+B!AK2*(1+A!$J2)*A!$AO2+B!AJ2*(1+A!$J2)*A!$AP2+B!AI2*(1+A!$J2)*A!$AQ2+B!AH2*(1+A!$J2)*A!$AR2+B!AG2*(1+A!$J2)*A!$AS2+B!AF2*(1+A!$J2)*A!$AT2+B!AE2*(1+A!$J2)*A!$AU2+B!AD2*(1+A!$J2)*A!$AV2+B!AC2*(1+A!$J2)*A!$AW2+B!AB2*(1+A!$J2)*A!$AX2+B!AA2*(1+A!$J2)*A!$AY2+B!Z2*(1+A!$J2)*A!$AZ2+B!Y2*(1+A!$J2)*A!$BA2+B!X2*(1+A!$J2)*A!$BB2+B!W2*(1+A!$J2)*A!$BC2+B!V2*(1+A!$J2)*A!$BD2+B!U2*(1+A!$J2)*A!$BE2+B!T2*(1+A!$J2)*A!$BF2+B!S2*(1+A!$J2)*A!$BG2+B!R2*(1+A!$J2)*A!$BH2+B!Q2*(1+A!$J2)*A!$BI2+B!P2*(1+A!$J2)*A!$BJ2+B!O2*(1+A!$J2)*A!$BK2

en AN:

=+B!BL2*(1+A!$J2)*A!$O2+B!BK2*(1+A!$J2)*A!$P2+B!BJ2*(1+A!$J2)*A!$Q2+B!BI2*(1+A!$J2)*A!$R2+B!BH2*(1+A!$J2)*A!$S2+B!BG2*(1+A!$J2)*A!$T2+B!BF2*(1+A!$J2)*A!$U2+B!BE2*(1+A!$J2)*A!$V2+B!BD2*(1+A!$J2)*A!$W2+B!BC2*(1+A!$J2)*A!$X2+B!BB2*(1+A!$J2)*A!$Y2+B!BA2*(1+A!$J2)*A!$Z2+B!AZ2*(1+A!$J2)*A!$AA2+B!AY2*(1+A!$J2)*A!$AB2+B!AX2*(1+A!$J2)*A!$AC2+B!AW2*(1+A!$J2)*A!$AD2+B!AV2*(1+A!$J2)*A!$AE2+B!AU2*(1+A!$J2)*A!$AF2+B!AT2*(1+A!$J2)*A!$AG2+B!AS2*(1+A!$J2)*A!$AH2+B!AR2*(1+A!$J2)*A!$AI2+B!AQ2*(1+A!$J2)*A!$AJ2+B!AP2*(1+A!$J2)*A!$AK2+B!AO2*(1+A!$J2)*A!$AL2+B!AN2*(1+A!$J2)*A!$AM2+B!AM2*(1+A!$J2)*A!$AN2+B!AL2*(1+A!$J2)*A!$AO2+B!AK2*(1+A!$J2)*A!$AP2+B!AJ2*(1+A!$J2)*A!$AQ2+B!AI2*(1+A!$J2)*A!$AR2+B!AH2*(1+A!$J2)*A!$AS2+B!AG2*(1+A!$J2)*A!$AT2+B!AF2*(1+A!$J2)*A!$AU2+B!AE2*(1+A!$J2)*A!$AV2+B!AD2*(1+A!$J2)*A!$AW2+B!AC2*(1+A!$J2)*A!$AX2+B!AB2*(1+A!$J2)*A!$AY2+B!AA2*(1+A!$J2)*A!$AZ2+B!Z2*(1+A!$J2)*A!$BA2+B!Y2*(1+A!$J2)*A!$BB2+B!X2*(1+A!$J2)*A!$BC2+B!W2*(1+A!$J2)*A!$BD2+B!V2*(1+A!$J2)*A!$BE2+B!U2*(1+A!$J2)*A!$BF2+B!T2*(1+A!$J2)*A!$BG2+B!S2*(1+A!$J2)*A!$BH2+B!R2*(1+A!$J2)*A!$BI2+B!Q2*(1+A!$J2)*A!$BJ2+B!P2*(1+A!$J2)*A!$BK2

en AL:

=+B!BJ2*(1+A!$J2)*A!$O2+B!BI2*(1+A!$J2)*A!$P2+B!BH2*(1+A!$J2)*A!$Q2+B!BG2*(1+A!$J2)*A!$R2+B!BF2*(1+A!$J2)*A!$S2+B!BE2*(1+A!$J2)*A!$T2+B!BD2*(1+A!$J2)*A!$U2+B!BC2*(1+A!$J2)*A!$V2+B!BB2*(1+A!$J2)*A!$W2+B!BA2*(1+A!$J2)*A!$X2+B!AZ2*(1+A!$J2)*A!$Y2+B!AY2*(1+A!$J2)*A!$Z2+B!AX2*(1+A!$J2)*A!$AA2+B!AW2*(1+A!$J2)*A!$AB2+B!AV2*(1+A!$J2)*A!$AC2+B!AU2*(1+A!$J2)*A!$AD2+B!AT2*(1+A!$J2)*A!$AE2+B!AS2*(1+A!$J2)*A!$AF2+B!AR2*(1+A!$J2)*A!$AG2+B!AQ2*(1+A!$J2)*A!$AH2+B!AP2*(1+A!$J2)*A!$AI2+B!AO2*(1+A!$J2)*A!$AJ2+B!AN2*(1+A!$J2)*A!$AK2+B!AM2*(1+A!$J2)*A!$AL2+B!AL2*(1+A!$J2)*A!$AM2+B!AK2*(1+A!$J2)*A!$AN2+B!AJ2*(1+A!$J2)*A!$AO2+B!AI2*(1+A!$J2)*A!$AP2+B!AH2*(1+A!$J2)*A!$AQ2+B!AG2*(1+A!$J2)*A!$AR2+B!AF2*(1+A!$J2)*A!$AS2+B!AE2*(1+A!$J2)*A!$AT2+B!AD2*(1+A!$J2)*A!$AU2+B!AC2*(1+A!$J2)*A!$AV2+B!AB2*(1+A!$J2)*A!$AW2+B!AA2*(1+A!$J2)*A!$AX2+B!Z2*(1+A!$J2)*A!$AY2+B!Y2*(1+A!$J2)*A!$AZ2+B!X2*(1+A!$J2)*A!$BA2+B!W2*(1+A!$J2)*A!$BB2+B!V2*(1+A!$J2)*A!$BC2+B!U2*(1+A!$J2)*A!$BD2+B!T2*(1+A!$J2)*A!$BE2+B!S2*(1+A!$J2)*A!$BF2+B!R2*(1+A!$J2)*A!$BG2+B!Q2*(1+A!$J2)*A!$BH2+B!P2*(1+A!$J2)*A!$BI2+B!O2*(1+A!$J2)*A!$BJ2

Peut-on simplifier cette formule?
A vous lire
 

Pièces jointes

  • Exemple Formule.xlsx
    30.3 KB · Affichages: 60
  • Exemple Formule.xlsx
    30.3 KB · Affichages: 48
  • Exemple Formule.xlsx
    30.3 KB · Affichages: 52

Dugenou

XLDnaute Barbatruc
Re : Simplification de formule

Bonjour,
déjà tu peux mettre (1+A!$J2) en facteur commun et le sortir de chaque expression +.
ensuite il me semble que si tu changeais l'ordre des colonnes dans A ou dans B on pourrait faire un sommeprod
mais j'avoue avoir du mal à imaginer en partant de ta seule formule
si tu voulais bien expliquer quel est le principe du calcul ce serait plus facile

edit : par tâtonnements et après avoir classé les colonnes de la feuille B du plus grand au plus petit :
=SOMMEPROD(DECALER(B!$AL$2:$CH$2;;-AM1)*A!$O$2:$BK$2)*(1+A!$J2) pui recopier à droite
donne un résultat correct sur les 10 première colonnes
donc avec un peu d'explications on devrait y arriver
voir pj
 

Pièces jointes

  • lefty49300.xlsx
    47.9 KB · Affichages: 25
Dernière édition:

lefty49300

XLDnaute Nouveau
Re : Simplification de formule

Bonjour,
déjà tu peux mettre (1+A!$J2) en facteur commun et le sortir de chaque expression +.
ensuite il me semble que si tu changeais l'ordre des colonnes dans A ou dans B on pourrait faire un sommeprod
mais j'avoue avoir du mal à imaginer en partant de ta seule formule
si tu voulais bien expliquer quel est le principe du calcul ce serait plus facile

edit : par tâtonnements et après avoir classé les colonnes de la feuille B du plus grand au plus petit :
=SOMMEPROD(DECALER(B!$AL$2:$CH$2;;-AM1)*A!$O$2:$BK$2)*(1+A!$J2) pui recopier à droite
donne un résultat correct sur les 10 première colonnes
donc avec un peu d'explications on devrait y arriver
voir pj

Ci-joint explication du principe de calcul
 

Pièces jointes

  • Exemple FormuleTréso.xlsx
    31.7 KB · Affichages: 43

Dugenou

XLDnaute Barbatruc
Re : Simplification de formule

Lefty,
merci pour l'explication des montants et du % ça je l'avais compris. Ce qui m'échappe c'est l'utilisation des colonnes des feuilles A et B : pourquoi on multiplie la colonne BK de B (25) par la colonne O de A (-24) pour l'afficher dans la colonne 1 de C avec la formule :=+B!BK2*(1+A!$J2)*A!$O2+B!BJ2*(1+A!$J2)*A!$P2+B!BI2*(1+A!$J2)*A!$Q2.......
merci de tes lumières
 

lefty49300

XLDnaute Nouveau
Re : Simplification de formule

Dans mes hypothèses, feuille A, le client peut payer en avance de 24 mois et au plus tard 24 mois après
Dans la feuille B, mon budget peut s'étaler sur 24 mois
Dans la feuille C, trésorerie résultante, je balaie pour la colonne AM = mois 1 de -24 à + 24 dans A et comme j'ai 24 mois possibles, je recopie à droite la formule et à gauche, j'enlève à chaque mois le mois le plus ancien pour que la formule fonctionne
j'espère avoir été clair.