• Initiateur de la discussion Initiateur de la discussion giorgios
  • Date de début Date de début

Boostez vos compétences Excel avec notre communauté !

Rejoignez Excel Downloads, le rendez-vous des passionnés où l'entraide fait la force. Apprenez, échangez, progressez – et tout ça gratuitement ! 👉 Inscrivez-vous maintenant !

giorgios

XLDnaute Occasionnel
Bonsoir

J'ai une formule qui me permet dans une liste de données de nombres de

renvoyer en résultat, l'avant dernière valeur et la voici


=INDEX(A1:A5;NB(A1:A5)-1))

Avec : A1 = 2 RESULTAT = 6
A2 = 5
A3 = 7
A4 = 6
A5 = 9

Mais si par exemple une valeur n'est pas renseignée, considérons ici que A3

soit vide ( la cellule est, donc, vide et j'ai fait en sorte qu'elle n'affiche pas

zéro )

on aura A1=2 A2=5 A3= (VIDE) A4=6 A5=9

RESULTAT QUI S'AFFICHE EST : ( VIDE )

et non pas 5 ( = A2 ) comme je le souhaiterai

car si ma formule fonctionne parfaitement, si mes cellules sont remplit dans l'ordre les unes après les autres,elle n'indique plus rien si 1 cellule ou 2 ou +
sont VIDES

Je souhaiterai mettre en place une formule qui m'indiquerait toujours la valeur précédente où qu'elle se trouve par rapport à la suivante ( tout en ignorant les cellules vides lorsque c'est le cas )


En espérant avoir été clair

Merci de votre aide

Giorgios
 
Re : Index

Bonsoir,

Tu nous indiques vouloir l'avant-dernière valeur de A1:A5

Si A1:A5 sont renseignés, l'avant-dernière est A4

Si A3 est vide, l'avant-dernière valeur reste A4, non ?

Or tu souhaites la valeur en A2 ...

Quelque chose m'échappe, ou j'ai mal lu ou mal compris.

A te (re)lire avec quelques précisions pour bien (mieux) comprendre

@+
 
Re : Index

Bonsoir tout le monde,

Il y a sans doute plus court mais en attendant :
=MAX(SI(SI(A1:A5="";0;LIGNE(A1:A5))=MAX(SI(A1:A5="";0;LIGNE(A1:A5)));0;SI(A1:A5="";0;LIGNE(A1:A5))))

Confirme si c'est ok car j'avoue que j'ai décroché à 'qui m'indiquerait toujours la valeur précédente où qu'elle se trouve par rapport à la suivante'

eric

Edit: matricielle à valider par shift+ctrl+entrée. En fait ne retourne que l'index de la ligne pour l'instant
 
Re : Index

Bonsoir,

Tu nous indiques vouloir l'avant-dernière valeur de A1:A5

Si A1:A5 sont renseignés, l'avant-dernière est A4

Si A3 est vide, l'avant-dernière valeur reste A4, non ?

Or tu souhaites la valeur en A2 ...

Quelque chose m'échappe, ou j'ai mal lu ou mal compris.

A te (re)lire avec quelques précisions pour bien (mieux) comprendre

@+

re salut

merci pour vos réponses ( Eriiic, ta formule ne me renvois pas la valeur souhaitée

Effectivement (Tibo ), je me suis mal expliqué, je refais cela

autre exemple

A1 = 2 ; A2 = 4 ; A3 = 5 ; A4 = VIDE ; A5 = 8

RÉSULTAT ATTENDU = 5

autre exemple

A1 = 2 ; A2 = vide ; A3 = vide ; A4 = vide ; A5 = 8

RÉSULTAT ATTENDU = 2

Dernier exemple

A1 = vide ; A2 = 4 ; A3 = vide ; A4 = 10 ; A5 = vide ; A6 = 12

RÉSULTAT ATTENDU = 10

Voilà

merci à vous les gars

Giorgios
 
Re : Index

Eriiic, ta formule ne me renvois pas la valeur souhaitée
J'avais précisé formule matricielle à valider par shift+ctrl+entrée et que je ne retournais que l'index de la ligne
Et si tu rajoutes des lignes (A6) il faut modifier en conséquence les plages.

La voici complétée par index(...), et pour les lignes 1:50
A-priori ça retourne ce qu'il faut au vu de tes derniers exemples :
=INDEX(A1:A50;MAX(SI(SI(A1:A50="";0;LIGNE(A1:A50))=MAX(SI(A1:A50="";0;LIGNE(A1:A50)));0;SI(A1:A50="";0;LIGNE(A1:A50)))))
voir fichier exemple
 

Pièces jointes

Re : Index

Eriiic, ta formule ne me renvois pas la valeur souhaitée
J'avais précisé formule matricielle à valider par shift+ctrl+entrée et que je ne retournais que l'index de la ligne
Et si tu rajoutes des lignes (A6) il faut modifier en conséquence les plages.

La voici complétée par index(...), et pour les lignes 1:50
A-priori ça retourne ce qu'il faut au vu de tes derniers exemples :
=INDEX(A1:A50;MAX(SI(SI(A1:A50="";0;LIGNE(A1:A50))=MAX(SI(A1:A50="";0;LIGNE(A1:A50)));0;SI(A1:A50="";0;LIGNE(A1:A50)))))
voir fichier exemple

salut Eriiic

ton exemple est super et il est exactement ce que je voulais

malheureusement pour moi, je n'arrive pas à l'adapter à mon fichier

ma case résultat de formule reste vide

il faut que je voies pourquoi

Merci Eriic, Merci à tous

Bonne soirée

Giorgios
 
Re : Index

Re,

Beaucoup plus simple finalement :
=INDEX(A1:A50;GRANDE.VALEUR(SI(A1:A50=0;0;LIGNE(A1:A50));2))
matricielle à valider par shift+ctrl+entrée

Je m'obstinais dans cette voie depuis un moment mais en utilisant rang() au lieu de grande.valeur() par erreur :-s
 
- Navigue sans publicité
- Accède à Cléa, notre assistante IA experte Excel... et pas que...
- Profite de fonctionnalités exclusives
Ton soutien permet à Excel Downloads de rester 100% gratuit et de continuer à rassembler les passionnés d'Excel.
Je deviens Supporter XLD

Discussions similaires

Réponses
0
Affichages
429
Réponses
10
Affichages
974
O
Réponses
6
Affichages
961
Océane-33
O
Réponses
1
Affichages
942
Retour