Sortir les deux dernières valeurs colonnes - Libreoffice

Résolu
Ooinn -  
tontong Messages postés 2572 Date d'inscription   Statut Membre Dernière intervention   -
Bonjour,

Je bloque sur un problème depuis 2 semaines ...

Je fais des mesures qui définissent un stade "crise" en fonction des deux dernières mesures réalisées.

J'essaie d'automatiser au maximum le tableau et donc que ces deux dernières valeurs ressortent sur deux lignes différentes. Les données sont prises deux jours par semaine donc en moyenne une ligne sur deux est vide ...

J'ai essayé avec des formules à base d'EQUIV et de DECALER. Mais cela bloque dans certains cas particuliers : par exemple si l'une des deux dernières valeurs a déjà été atteinte plus tôt ou si les deux dernières sont égales ...

Exemples de données :
A B
01/07
02/07 314
08/07
09/07 168
15/07 206
16/07
22/07
23/07 119
29/07
30/07 214
05/08 183
06/08
12/08
13/08 141
19/08
20/08 128

Les données sorties doivent être :
Dernière valeur = 128
Valeur précédente = 141

J'utilise actuellement un truc immonde à base de test SI DECALER-2 non vide, alors prendre DECALER-2, puis -3, -4, etc. ...
"SI(DECALER(B18;EQUIV(MAX($A$18:$A$124);$A18:$A124;0)-2;0)<>"";DECALER(B18;EQUIV(MAX($A$18:$A$124);$A18:$A124;0)-2;0)

Mais du coup cette formule donne de mauvais résultats si valeurs atteintes plusieurs fois...

Merci par avance de votre aide =)

Yannick
Configuration: Windows / Firefox 60.0
A voir également:

3 réponses

tontong Messages postés 2572 Date d'inscription   Statut Membre Dernière intervention   1 062
 
Bonjour,
Dans une colonne auxiliaire C numéroter les mesures avec la formule en C2
=SI(NB.SI(B2:$B$1000;B2)>0;MAX($C$1:C1)+1;0) recopiée vers le bas

dernière valeur : =INDEX(B2:C1000;EQUIV(MAX(C2:C1000);C2:C1000;0);1)
avant dernière valeur : =INDEX(B2:C1000;EQUIV(MAX(C2:C1000)-1;C2:C1000;0);1)
0
Ooinn
 
Bonjour,

J'avais pas pensé à passer par une numérotation des données, merci beaucoup, ça marche au top !

Bonne journée
0
Ooinn
 
Si cela intéresse, j'ai un poil simplifié la formule =SI(NB.SI(B2:$B$1000;B2)>0;MAX($C$1:C1)+1;0)

=>

=SI(B2<>"";MAX($C$1:C1)+1;0) à glisser vers le bas
0
tontong Messages postés 2572 Date d'inscription   Statut Membre Dernière intervention   1 062
 
Bonjour,
C' est vrai que j'ai "pomper" paresseusement le premier exemple de numérotation que j'ai trouvé sur mon grenier.
Vous pouvez cliquer "résolu" en haut du message initial. Merci et bonne route.
0