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