Index

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
 

Tibo

XLDnaute Barbatruc
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

@+
 

eriiic

XLDnaute Barbatruc
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
 

giorgios

XLDnaute Occasionnel
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
 

eriiic

XLDnaute Barbatruc
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

  • giorgios.xls
    14.5 KB · Affichages: 47

giorgios

XLDnaute Occasionnel
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
 

eriiic

XLDnaute Barbatruc
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
 

Discussions similaires

  • Résolu(e)
Microsoft 365 Formule SI
Réponses
8
Affichages
227
Réponses
5
Affichages
188

Statistiques des forums

Discussions
312 503
Messages
2 089 062
Membres
104 014
dernier inscrit
Aurélie MONTEIL