Renvoyer à la première valeur non nulle

Pter22 Messages postés 15 Statut Membre -  
Pter22 Messages postés 15 Statut Membre -
Bonjour,

J'ai deux colonnes A et B avec des valeurs obtenus expérimentalement, je cherche à renvoyer la valeur A correspondant à la première valeur B non nulle.

J'ai cherché mais je n'ai pas trouvé.

Merci de votre aide :)

3 réponses

eriiic Messages postés 25847 Date d'inscription   Statut Contributeur Dernière intervention   7 282
 
Bonjour,

=INDEX(A2:A10;MIN(SI(B2:B10<>0;LIGNE(B2:B10);9^9)))
formule matricielle à valider avec shift+ctrl+entrée

eric
0
Pter22 Messages postés 15 Statut Membre
 
Merci,

A quoi correspond le 9^9 ?

Et si maintenant, je souhaitais non plus que ca soit la première valeur non nulle mais la valeur maximum, qu'est ce que ca donnerait ?
0
Pter22 Messages postés 15 Statut Membre
 
Il ce passe quelque chose d'étrange, cela fonction "presque".

"=INDEX(B11:B2000;MIN(SI(E11:E2000<>0;LIGNE(E11:E2000);9^9)))"

(mon tableau à 2000 lignes)

Enfaite il me renvoit à la ligne 596 alors que la valeur "correcte" est celle de la ligne 586... je ne comprends pas
0
eriiic Messages postés 25847 Date d'inscription   Statut Contributeur Dernière intervention   7 282
 
Pour max c'est plus simple :
=INDEX(A:A;EQUIV(MAX(B:B);B:B;0))

Pour le reste sans ton fichier impossible de répondre.
Déposer le fichier xls (réduit au nécessaire et anonymisé, avec les explications et éventuellement le résultat attendu) sur cjoint.com et coller ici le lien fourni.

eric
0
Pter22 Messages postés 15 Statut Membre
 
Voici le fichier

https://www.cjoint.com/c/CCniwVUDP1N

encore merci
0
eriiic Messages postés 25847 Date d'inscription   Statut Contributeur Dernière intervention   7 282
 
La formule était prévue pour des données démarrant en ligne2, là tu démarres en ligne 11. Il faut en tenir compte :
=INDEX(B11:B2010;MIN(SI(E11:E2010<>0;LIGNE(E11:E2010);9^9))-10)

Mais si tes 0 sont tous regroupés en haut il y a plus simple :
=DECALER($B$10;NB.SI(E11:E3000;0)+1;)

eric
0
Pter22 Messages postés 15 Statut Membre
 
ca marche, merci beaucoup :)
0