Trouver la Première, Seconde et Troisième valeur non nulle

Résolu/Fermé
JnJData Messages postés 2 Date d'inscription mardi 8 août 2017 Statut Membre Dernière intervention 9 août 2017 - Modifié le 8 août 2017 à 10:23
DjiDji59430 Messages postés 4048 Date d'inscription samedi 19 avril 2008 Statut Membre Dernière intervention 13 mai 2024 - 9 août 2017 à 18:23
Bonjour à Tous,

Voici mon problème:
J'ai une série de proportions (en colonne) dont seulement 3 (dans certains cas 2 ou 1, mais moins fréquent) valeurs sont différentes de 0.
Je souhaiterais avoir une formule qui me sorte de cette série la 1er proportion non nulle rencontrée (ni la plus petite (minimum) ni la plus grande (maximum) mais la première), ainsi que la seconde et la troisième.

En vous remerciant.

(Je cherche comment insérer l'Excel Exemple de mon problème)

2 réponses

eriiic Messages postés 24571 Date d'inscription mardi 11 septembre 2007 Statut Contributeur Dernière intervention 8 mai 2024 7 216
8 août 2017 à 10:56
<bonjour,

un essai quand même :
=INDEX(B:B;(PETITE.VALEUR(SI(B2:B15=0;"";LIGNE(B2:B15));1))) 

formule matricielle à valider avec shift+ctrl+entrée
La formule doit s'entourer de { } si la validation est correcte.
#NOMBRE! si des valeurs manquent, éliminer avec sierreur() au besoin.
eric
1
Salut Merci Eriiic

Dans mon exemple1 (http://www.cjoint.com/c/GHipmgWVqMH) cela me donne uniquement la valeur la plus petite, c'est à dire en l'occurence 3,0. Qui d'ailleurs n'est pas la 1er valeur différente de 0 mais la 3ieme.

Avec l'Excel ce sera plus simple. J'espère que vous le recevez.

Merci
0
eriiic Messages postés 24571 Date d'inscription mardi 11 septembre 2007 Statut Contributeur Dernière intervention 8 mai 2024 7 216
Modifié le 8 août 2017 à 17:42
J'ai oublié de te dire de remplacer le 1 final par 2 et 3 pour les suivants.
Que tu peux remplacer par E6 dans ton classeur.

Dans mon exemple1 (https://www.cjoint.com/c/GHipmgWVqMH cela me donne uniquement la valeur la plus petite, c'est à dire en l'occurence 3,0. Qui d'ailleurs n'est pas la 1er valeur différente de 0 mais la 3ieme.
Comme tu n'as pas laissé la formule je ne sais pas où tu t'es trompé.
Pour ma part avec :
=INDEX($C:$C;(PETITE.VALEUR(SI($C$3:$C$12=0;"";LIGNE($C$3:$C$12));E6)))
en matriciel j'obtiens bien 41.0, 79.0 et 3.0
et :
#NOMBRE! si des valeurs manquent, éliminer avec sierreur() au besoin.
eric
0
JnJData Messages postés 2 Date d'inscription mardi 8 août 2017 Statut Membre Dernière intervention 9 août 2017
Modifié le 9 août 2017 à 10:36
OK. Super
Je ne comprend pas pourquoi il faut que je mette $C:$C dans la formule INDEX. Si je met mon intervalle restreint de valeur $C$3:$C$12, cela ne fonctionne pas. Pourquoi?

Merci encore
0
eriiic Messages postés 24571 Date d'inscription mardi 11 septembre 2007 Statut Contributeur Dernière intervention 8 mai 2024 7 216
9 août 2017 à 11:32
Bonjour,

Il y a beaucoup de formules qui ne feront pas le bon résultat...
Regarde l'aide sur Index.
Réfléchi à ce que te ramène PETITE.VALEUR(SI($C$3:$C$12=0;"";LIGNE($C$3:$C$12));E6) et tu auras ta réponse.
Au besoin aide toi de 'Formule / Audit de formule / Evaluation de formule'.
eric
0
DjiDji59430 Messages postés 4048 Date d'inscription samedi 19 avril 2008 Statut Membre Dernière intervention 13 mai 2024 648
8 août 2017 à 10:36
Bonjour ,

Joins un fichier-test, (avec TOUTES les explications et les résultats souhaités) ou mieux, si c'est possible, le fichier concerné, c'est plus commode pour les intervenants.

1) Tu vas dans https://www.cjoint.com/
2) Tu cliques sur [Parcourir] pour sélectionner ton fichier
3) Tu descends en bas de la page pour cliquer sur [Créer le lien Cjoint]
4) Au bout de quelques secondes s'affiche le lien en bleu souligné ; tu le sélectionnes et tu fais "Copier"
5) Tu reviens dans la discussion, et, dans ton message de réponse, tu fais : "Coller".

Cordialement.
0
Voici mon Excel!

http://www.cjoint.com/c/GHipmgWVqMH

Merci
0
DjiDji59430 Messages postés 4048 Date d'inscription samedi 19 avril 2008 Statut Membre Dernière intervention 13 mai 2024 648 > JnJData
9 août 2017 à 18:23
Bonjour,

Je ne peux qu'approuver eriiic pour sa reponse (tres astucieux le b:b en tete)

Crdmt
0