Rendement

Bonjour à tous,

J'en profite pour saluer tout le monde étant nouveau sur le forum.

Merci d'avance pour le temps que vous vous voudrez bien m'accorder.

Mon problème est le suivant :

J'ai une base de données avec X (du type beaucoup) actions qui est constituée de la manière suivante :

colonne A : nom

colonne C : cours d'ouverture

colonne D : cours de clôture.

en ligne : les dates de cotation

J'aimerai que la fonction me calcule, pour une action donnée, un taux de variation entre le cours de clôture de la dernière date et cours d'ouverture de la première date. Je m'en sors, avec une action mais quand j'étends la formule à la base ça devient un carnage ...

Je suis en train de m'arracher les cheveux avec des formules si imbriquées avec des recherchesv... mais avant de m'attaquer au cuir chevelu j'ai préféré vous consulter !

Merci encore et à bientôt

Bonjour

Exemple pour la Valeur en a4

=(INDEX($E$1:$E$581;GRANDE.VALEUR(SI(($A$4:$A$581=$A4)*($C$4:$C$581<>"");LIGNE($C$4:$C$581));1))/INDEX($D$1:$D$581;PETITE.VALEUR(SI(($A$4:$A$581=$A4)*($C$4:$C$581<>"");LIGNE($C$4:$C$581));1)))-1

ou

=(INDEX($E$1:$E$581;MAX(SI(($A$4:$A$581=$A4)*($C$4:$C$581<>"");LIGNE($C$4:$C$581))))/INDEX($D$1:$D$581;MIN(SI(($A$4:$A$581=$A4)*($C$4:$C$581<>"");LIGNE($C$4:$C$581)))))-1

Matricielles à valider avec les 3 touches Ctrl+Maj+Entrée

Résultat: 13,77%

Cordialement

Merci beaucoup amadeus. Impressionnante cette formule, je me rends compte que j'en étais trés loin.

Quand j'étais la fonction sur l'ensemble de la colonne le rendement pour la seconde action affiché (ACCOR) est de 23,17% alors qu'à la mano j'obtiens 22,57%.

Par ailleurs, peux tu m'expliquer la formule car j'avoue ne pas comprendre à partir du " * "

=(INDEX($E$1:$E$581;MAX(SI(($A$4:$A$581=$A4)* $C$4:$C$581<>"");LIGNE($C$4:$C$581))))

Encore merci

Bonjour

Effectif! La formule est

=(INDEX($D$1:$D$581;MAX(SI(($A$4:$A$581=$A4)*($C$4:$C$581<>"");LIGNE($C$4:$C$581))))/INDEX($H$1:$H$581;MIN(SI(($A$4:$A$581=$A4)*($C$4:$C$581<>"");LIGNE($C$4:$C$581)))))-1

C'est toi qui a indiqué des colonnes erronées dans ton post.

Tu peux contrôler sur ce fichier

=(INDEX(Colonne D;Ligne de la date Max correspondante à la Valeur)/INDEX(Colonne H; Ligne de la date Min correspondant à la valeur))-1

Comme ta formule en M62

=(H318/D61)-1

Cordialement

ah oui autant pour moi, et merci pour le pas à pas.

A plus tard

Je recycle ce post plutôt que d'en créer un nouveau.

Si je souhaite obtenir le rendement des 50 derniers jours, comment adapter la formule donnée par amadeus en conséquence ?

Merci d'avance.

Bonjour

Je cherche plus simple.

En attendant, je propose (Matricielle)

=(INDEX($H$1:$H$581;GRANDE.VALEUR(SI(($A$4:$A$581=$A4)*($C$4:$C$581<>"");LIGNE($C$4:$C$581));1))/INDEX($D$1:$D$581;PETITE.VALEUR(SI(($A$4:$A$581=$A4)*($C$4:$C$581>=INDEX($C$1:$C$581;GRANDE.VALEUR(SI(($A$4:$A$581=$A4)*($C$4:$C$581<>"");LIGNE($C$4:$C$581));1))-50);LIGNE($C$4:$C$581));1)))-1

Voir détails dans tableau couleur

Cordialement

Merci Amadeus, pas encore eu le temps de tester la formule.

Je te reviens dans la journée

Cdt,

Ca marche. Effectivement un peu lourd de traitement sur un fichier à 35000 lignes mais ca fait le boulot !

Si tu as d'autres propositions je suis preneur.

Merci encore amadeus

Rechercher des sujets similaires à "rendement"