Menu

Utiliser la formule PETITE.VALEUR uniquement sur les cellules non vides [Résolu]

Messages postés
7
Date d'inscription
mardi 22 janvier 2019
Dernière intervention
22 janvier 2019
-
Bonjour,

Ce que j'aimerais réaliser : effectuer un tri sur une base de données (onglet Data) extrayant les dix plus petites valeurs de cette base dans un nouvel onglet (onglet Santé) selon un critère précis (Santé dans la colonne B de l'onglet Data) et sans prendre en compte les cellules vides de ma colonne subissant l'extraction (colonne E de l'onglet Data).

Mon problème : la formule PETITE.VALEUR prend en compte les cellules vides lorsque je sélectionne l'ensemble de la colonne et m'affiche "0". Et j'aimerais bien faire la distinction entre les cellules vides de ma colonne et celles qui contiennent effectivement un 0 et qui pourraient éventuellement faire partie des 10 plus petites valeurs.

Ma solution : =PETITE.VALEUR(SI(Data!$B:$B=$B$3;Data!$E:$E;0);1) est la formule que j'utilise dans mon onglet "Santé". Et je pense qu'il faut utiliser la fonction LIGNE mais je ne sais pas comment.

J'ai essayé de chercher sur différents forums mais je n'ai pas trouvé de solution ou du moins, peut-être que la solution est passée sous mes yeux et que je ne l'ai pas comprise. Du coup, je me suis inscrite ici dans l'espoir de trouver une solution. Je suis vraiment dans la démarche de comprendre donc si vous avez l'extrême gentillesse de me proposer une solution, pourriez-vous fournir les explications qui vont avec svp?

Merci pour votre aide.
Afficher la suite 

Votre réponse

6 réponses

Messages postés
7
Date d'inscription
mardi 22 janvier 2019
Dernière intervention
22 janvier 2019
0
Merci
Si quelqu'un pouvait aussi me dire comment poster mon fichier excel, ce serait cool ! Merci ! (Oui je débute, c'est mon tout premier poste sur un forum)
Commenter la réponse de E_13
Messages postés
16862
Date d'inscription
dimanche 17 février 2008
Statut
Contributeur
Dernière intervention
21 février 2019
5037
0
Merci
Bonsoir,

pour joindre ton fichier anonymisé
1) Tu vas dans http://cjoint.com/
2) Tu cliques sur [Parcourir] pour sélectionner ton fichier (15 Mo maxi)
3) Tu défiles vers le bas pour cliquer sur le bouton bleu [Créer le lien Cjoint]
4) Au bout de quelques secondes la deuxième page s'affiche, avec le lien en gras ; tu fais un clic-droit dessus et tu choisis "Copier le lien"
5) Tu reviens dans ta discussion sur CCM, et dans ton message tu fais "Coller".
=>Voir la fiche http://www.commentcamarche.net/faq/29493-utiliser-cjoint

dans le même style tu as https://mon-partage.fr/
E_13
Messages postés
7
Date d'inscription
mardi 22 janvier 2019
Dernière intervention
22 janvier 2019
-
Merci, je le fais de suite! :)
Commenter la réponse de Mike-31
Messages postés
7
Date d'inscription
mardi 22 janvier 2019
Dernière intervention
22 janvier 2019
0
Merci
Voici le fichier ! :)

https://www.cjoint.com/c/IAwszL6iqGO
Commenter la réponse de E_13
Messages postés
16862
Date d'inscription
dimanche 17 février 2008
Statut
Contributeur
Dernière intervention
21 février 2019
5037
0
Merci
Re,

essaye cette formule matricielle
=PETITE.VALEUR(SI(Data!$B$2:$B$20=$B$3;Data!$E$2:$E$20;"");1)

A+
Mike-31

Je suis responsable de ce que je dis, pas de ce que tu comprends...
Mike-31
Messages postés
16862
Date d'inscription
dimanche 17 février 2008
Statut
Contributeur
Dernière intervention
21 février 2019
5037 -
Re,

petite précision, les formules matricielles utilisent beaucoup de ressources et ralentissent le bon fonctionnement du classeur.
Limite les plages en évitant l'application à des colonnes entières

tu pourrais également nommer tes plages exemple B2:B20 nommée Sect et E2:E20 nommée Prix
la formule toujours en matricielle devient
=PETITE.VALEUR(SI(Sect=$B$3;Prix;"");1)
E_13
Messages postés
7
Date d'inscription
mardi 22 janvier 2019
Dernière intervention
22 janvier 2019
-
Je te remercie, ça fonctionne au top! ^^
La solution était ultra simple et je me cassais la tête pour rien!
Si j'ai bien compris, tu as fait un SI multiple en spécifiant de ne prendre que les cellules non vides avec "" sans espace entre les guillemets?
E_13
Messages postés
7
Date d'inscription
mardi 22 janvier 2019
Dernière intervention
22 janvier 2019
-
Oui je sais. En fait, c'est une volonté de ma part de ne pas délimiter ma plage de cellules. C'est censé être "dynamique" car je ne sais jamais exactement le nombre de valeurs que je vais avoir. Cela peut être 500 comme 1000 d'où la sélection de la colonne entière.
Commenter la réponse de Mike-31
Messages postés
16862
Date d'inscription
dimanche 17 février 2008
Statut
Contributeur
Dernière intervention
21 février 2019
5037
0
Merci
Re,

en fait Excel considère les cellules vides = 0 donc dans ta formule il suffisait de remplacer ;0 par ;""
E_13
Messages postés
7
Date d'inscription
mardi 22 janvier 2019
Dernière intervention
22 janvier 2019
-
oui en effet! j'aurais dû y penser! Merci beaucoup pour ton aide et bonne soirée!
Commenter la réponse de Mike-31
Messages postés
16862
Date d'inscription
dimanche 17 février 2008
Statut
Contributeur
Dernière intervention
21 février 2019
5037
0
Merci
Re,

je reviens sur ton choix d'appliquer les formules matricielles à la colonne il faut que tu comprennes que dans ton cas la formule va boucler sur 1048576 cellules sur les colonne B et E
même si tes plage risque progresser tu n'auras jamais 1048576 lignes ou il faut passer en VBA si tu as quelques notions, mais bon à toi de voir.
Commenter la réponse de Mike-31