Excel croissance décroissance
Résolu
Alex
-
Alex -
Alex -
Bonjour,
J'ai une série de nombres sur une même colonne (nombre entier) qui sont soit croissants soit décroissants et je souhaiterais compter le nombre de fois où cette série change de "sens" (croissant ou décroissant). J'ai essayé avec des SI mais je n'y arrive pas. Connaissez vous une manière simple ?
Exemple : 0.0.0.15.30.70.15.0.0.15.15.30 résultat : 3 fois
Merci !
J'ai une série de nombres sur une même colonne (nombre entier) qui sont soit croissants soit décroissants et je souhaiterais compter le nombre de fois où cette série change de "sens" (croissant ou décroissant). J'ai essayé avec des SI mais je n'y arrive pas. Connaissez vous une manière simple ?
Exemple : 0.0.0.15.30.70.15.0.0.15.15.30 résultat : 3 fois
Merci !
A voir également:
- Excel croissance décroissance
- Liste déroulante excel - Guide
- Comment trier un tableau excel par ordre décroissant - Guide
- Word et excel gratuit - Guide
- Déplacer colonne excel - Guide
- Si ou excel - Guide
2 réponses
Bonjour
je ne garantis pas, mais essayez celle-ci
sous réserve que la cellule avant le champ soit égale à 0 et celle d'après la fin soit au maxi de la liste (soit les cellules A1 et A13 dans l'exemple pour un champ effectif de A2 à A12)
=SOMMEPROD((A2:A12>A1:A11)*(A2:A12>A3:A13))+SOMMEPROD((A2:A12<A1:A11)*(A2:A12<A3:A13))
mais je ne garantis pas
Bonne chance
crdlmnt
Demandons nous si nous ne sommes pas seuls à comprendre ce que l'on explique?
je ne garantis pas, mais essayez celle-ci
sous réserve que la cellule avant le champ soit égale à 0 et celle d'après la fin soit au maxi de la liste (soit les cellules A1 et A13 dans l'exemple pour un champ effectif de A2 à A12)
=SOMMEPROD((A2:A12>A1:A11)*(A2:A12>A3:A13))+SOMMEPROD((A2:A12<A1:A11)*(A2:A12<A3:A13))
mais je ne garantis pas
Bonne chance
crdlmnt
Demandons nous si nous ne sommes pas seuls à comprendre ce que l'on explique?
bonjour a tous les deux
une macro a mettre dans un module (alt-F11 pour acceder à l'éditeur puis coipier/coller)
utilisation
si la plage a tester est B1:B20
=nbchange(B1:B20)
la garantie n'est pas non plus assurée et il doit y avoir plus simple !!!!
bonne suite
une macro a mettre dans un module (alt-F11 pour acceder à l'éditeur puis coipier/coller)
utilisation
si la plage a tester est B1:B20
=nbchange(B1:B20)
Public Function nbchange(plage As Range) As Long Dim nbch As Long, nbli As Long, li As Long, lili As Long Dim D1 As Double, D2 As Double nbli = plage.Rows.Count nbch = 0 If nbli < 3 Then nbchange = 0 Else With plage li = 2 D1 = .Cells(li, 1) - .Cells(li - 1, 1) While D1 = 0 And li < nbli li = li + 1 D1 = .Cells(li, 1) - .Cells(li - 1, 1) Wend If li = nbli Then nbchange = 0 Else lili = li For li = lili + 1 To nbli D2 = .Cells(li, 1) - .Cells(li - 1, 1) If D1 * D2 < 0 Then nbch = nbch + 1 End If If D2 <> 0 Then D1 = D2 End If Next li End If End With End If nbchange = nbch End Function
la garantie n'est pas non plus assurée et il doit y avoir plus simple !!!!
bonne suite