Ceci est une page optimisée pour les mobiles. Cliquez sur ce texte pour afficher la vraie page.

Microsoft 365 Extrapolation sur Evolution

PierroD

XLDnaute Nouveau
Bonjour,
Je souhaiterais utiliser Excel pour extrapoler des valeurs sur un tableau, le but est d'avoir une extrapolation sur un deuxième tableau qui aurait une évolution de ses valeurs d'abscisse ou d'ordonnée.

En utilisant "TENDANCE" ca fonctionne mais pas vraiment comme je voudrais, les valeurs ont tendance à être diminuées et les courbes plates...
Si vous avez une idée pour m'aider, à vos claviers

Edit :

- Extrapolation 1 : Elle semble correcte (forme à 700 ordonnée), les valeurs sont par contre plus faibles pour la même ordonnée (ex. 5401/420 = 80 contre 76), le lissage est accepté.



- Extrapolation 2 : Elle semble correcte (forme à 100 ordonnée) mais comparé au tableau de base les petites valeurs d'ordonnée (ex. 6) sont bien plus faibles dans le tableau, les grosses valeurs d'ordonnée (ex.60) semblent par contre plus proches de la base, le lissage est accepté.



- Extrapolation 3 : Elle n'est clairement pas correcte, les dernières valeurs d'abscisse sont identiques pour plusieurs ordonnées... la tendance est donc sur presque les même valeurs que 40 sur la nouvelles abscisse à 80, il y a trop de lissage car on perd toute la bute.

 

Pièces jointes

  • Excel.xlsx
    79.2 KB · Affichages: 1
Dernière édition:

xUpsilon

XLDnaute Accro
Bonjour,

Ce tableau est parfaitement indigeste, serait-il possible d'avoir une simple pièce jointe Excel contenant ces valeurs ?
Aussi, pourriez-vous faire un exemple du résultat attendu pour que l'on puisse proposer une solution ?

Bonne journée,
 

Dranreb

XLDnaute Barbatruc
Bonjour.
Des pièces pour calculer des bouts de courbes passant exactement par certains points :
VB:
Function IntpoSpl(ByVal X As Double, TY() As Double) As Double
   Dim N As Long
   N = Int(X): IntpoSpl = Fx0à1Splm1p2(X - N, TY(N - 1), TY(N), TY(N + 1), TY(N + 2))
   End Function
Function Fx0à1Splm1p2(ByVal X As Double, ByVal Ym As Double, ByVal Y0 As Double, ByVal Y1 As Double, ByVal Y2 As Double) As Double
   Fx0à1Splm1p2 = Fx0à1Spl3(X, Y0, Y1, (Y1 - Ym) / 2, (Y2 - Y0) / 2)
   End Function
Function Fx0à1Spl3(ByVal X As Double, ByVal Y0 As Double, ByVal Y1 As Double, _
                                      ByVal d0 As Double, ByVal d1 As Double) As Double
   Fx0à1Spl3 = (((Y1 - Y0) * (3 - 2 * X) + d0 * (X - 2) + d1 * (X - 1)) * X + d0) * X + Y0
   End Function
 

PierroD

XLDnaute Nouveau
Effectivement, ci-joint mon exemple.
Les valeurs avec la même abscisse devraient être les même, et les valeurs d'extrapolation avec abscisse supérieure plus élevées.
 

Pièces jointes

  • Excel.xlsx
    79.2 KB · Affichages: 0
Dernière édition:

Dranreb

XLDnaute Barbatruc
Ça vient d'abaques, alors ? Mais un essai de visualisation par des graphiques montre beaucoup d'irrégularités par rapport à quelque chose qui serait d'ordre théorique …
Plus précisément quelles paramètres (qu'on puisse envisager un loi genre croissance exponentielle) ?

Remarque: on a des résultats peut être un peu meilleurs avec en C22, à propager sur 17 lignes et 18 colonnes :
Code:
=TENDANCE(C$3:C$19;$B$3:$B$19^{1.2.3};$B22^{1.2.3};FAUX)
 
Dernière édition:

PierroD

XLDnaute Nouveau

Effectivement, après que ca soit lissé ca m'arrange d'un coté mais je souhaite surtout ne pas avoir de valeurs (trop) diminuées sur la même valeur d'ordonnée.
D'ailleurs sur un passage de 420 à 500 si j'utilise un pourcentage bête de 19%, mes valeurs sont plus hautes et devraient tendre vers ceci via une tendance correcte je penses.

Original4207873,5969,9466,465,365,265,7766
19% Excel499,892,8287,572183,228679,01677,70777,58878,266378,54
Tendance50091,572322986,998515381,827384678,435746677,119055476,462621276,36028776,2475371

Code:
=TENDANCE(C$3:C$19;$B$3:$B$19^{1.2.3};$B22^{1.2.3};FAUX)

Ca semble prometteur, par contre Excel me bloque sur 1.2.3 :/
Il accepte du genre :

Code:
=TREND(C$3:C$19;$B$3:$B$19^{1,23};$B22^{1,23};FALSE)
 

Dranreb

XLDnaute Barbatruc
Mettez 1, 2 et 3 dans trois cellules horizontales, faites y référence et ensuite F9 sur cette référence pour voir comment il le traduit en une constante matricielle de 3 colonnes.
Remarque: si chez vous le séparateur décimal est le point et non la virgule, il se peut que la virgule soit le séparateur de colonnes dans un constante matricielle.
 
Dernière édition:

PierroD

XLDnaute Nouveau
Au final étant sur un Mac avec O365 en Anglais, il faut :

Code:
=TREND(C$5:C$21;$B$5:$B$21^{1\2\3};$B24^{1\2\3};FALSE)

Ca semble bien fonctionner sur le premier tableau, par contre pas du tout sur le dernier
 
Dernière édition:

Dranreb

XLDnaute Barbatruc
Oui, je n'avais pas vu qu'il y avait deux autres tableaux en dessous.
Là ça paraît même bizarre que les courbes commencent à 0.
Il faudrait vraiment savoir ce que c'est tout ça pour pouvoir en dégager des lois plus réalistes.
Et les valeur en têtes, qu'est-ce qu'elles représentent ?
 

PierroD

XLDnaute Nouveau
Je pense qu'il ne faut pas prendre en compte le côté mécanique mais voir en terme de logique via les graphiques 3D, numérotation dans le document Excel joint.

- Extrapolation 1 : Elle semble correcte (forme à 700 ordonnée), les valeurs sont par contre plus faibles pour la même ordonnée (ex. 5401/420 = 80 contre 76), le lissage est accepté.



- Extrapolation 2 : Elle semble correcte (forme à 100 ordonnée) mais comparé au tableau de base les petites valeurs d'ordonnée (ex. 6) sont bien plus faibles dans le tableau, les grosses valeurs d'ordonnée (ex.60) semblent par contre plus proches de la base, le lissage est accepté.



- Extrapolation 3 : Elle n'est clairement pas correcte, les dernières valeurs d'abscisse sont identiques pour plusieurs ordonnées... la tendance est donc sur presque les même valeurs que 40 sur la nouvelles abscisse à 80, il y a trop de lissage car on perd toute la bute.

 

Pièces jointes

  • Excel.xlsx
    79.2 KB · Affichages: 2
Dernière édition:

Dranreb

XLDnaute Barbatruc
Bonjour.
Je ne sais pas ce que vous espériez avec des tendances simplement linéaires et se basant uniquement sur une seule dimension.
Peut-on mettre du VBA dans votre classeur pour écrire une function Termes ?
 
Les cookies sont requis pour utiliser ce site. Vous devez les accepter pour continuer à utiliser le site. En savoir plus…