[Résolu] Nième valeur selon un critère

Discussions à propos du tableur Calc.
Les questions sur les macros doivent être postées dans la section dédiée en dessous.

Modérateur : Vilains modOOs

Règles du forum
Cette section est uniquement dédiée au tableur Calc. Vous ne devez pas poster ici de questions sur les macros mais utiliser la section éponyme.
migrec
Membre hOOnoraire
Membre hOOnoraire
Messages : 108
Inscription : 16 oct. 2012 20:02

[Résolu] Nième valeur selon un critère

Message par migrec »

Bonjour,

Je dispose d'un grand tableau contenant un classement de personnes associées chacune à une catégorie. Il est possible qu'il y ait des personnes ayant la même "valeur".
Je souhaite afficher le classement par catégorie sur une feuille séparée. J'ai donc besoin de rechercher tous les 1er de la catégorie AAAA. S'il y en a 2, je passe au 3ème, etc.

J'ai déjà rencontré le problème par le passé : j'ai résolu en passant par des colonnes intermédiaires mais là les colonnes nécessaires seraient trop nombreuses et surtout variable d'une semaine sur l'autre.

En PJ une feuille simplifiée de mon problème avec 4 catégories. Une idée ?
Vous ne pouvez pas consulter les pièces jointes insérées à ce message.
Dernière modification par micmac le 21 févr. 2018 08:20, modifié 2 fois.
Raison : Ajout de la coche
LibreOffice 7 dernière version disponible sous Kubuntu 21.10 / Windows 10
Avatar de l’utilisateur
OOotremer971
ManitOOu
ManitOOu
Messages : 2744
Inscription : 16 avr. 2010 13:31

Re: Nième valeur selon un critère

Message par OOotremer971 »

Bonjour,

Sous réserve de bien avoir compris !
En B10 une formule matricielle (à valider donc par Ctrl+Maj+Entrée) :

Code : Tout sélectionner

=SIERREUR(PETITE.VALEUR(SI(((Temps.$G$1:$G$100=A10)*(Temps.$C$1:$C$100=$B$2))=1;LIGNE($A$1:$A$100));(LIGNE($A$1)+NB.SI($A$10:A10;A10))-1);"***")
Pour l'étirer vers le bas, maintenir la touche Ctrl enfoncée.
Colonne C la fonction DECALER() utilise le numéro de ligne obtenu en colonne B pour afficher le nom
@+
Vous ne pouvez pas consulter les pièces jointes insérées à ce message.
En principe, toujours à jour des dernières versions dites stables
AOO
LibreOffice
Debian 10 et 11
migrec
Membre hOOnoraire
Membre hOOnoraire
Messages : 108
Inscription : 16 oct. 2012 20:02

Re: Nième valeur selon un critère

Message par migrec »

Tu viens de m'apprendre quelque chose qui va beaucoup me servir : étirer une formule matricielle en maintenant [Ctrl] enfoncé !
Jusqu'à présent, je faisais tout pour éviter les formules matricielles dans les tableaux dont je ne connaissais pas la taille.

Et pour le reste, c'est exactement ça. Merci ! Je vais juste l'adapter à mon tableau réel.
LibreOffice 7 dernière version disponible sous Kubuntu 21.10 / Windows 10
migrec
Membre hOOnoraire
Membre hOOnoraire
Messages : 108
Inscription : 16 oct. 2012 20:02

Re: [Résolu] Nième valeur selon un critère

Message par migrec »

Je rouvre cette discussion car si j'ai bien adapté la solution à mon tableur, j'ai maintenant une erreur dans mon fichier réel que je n'ai pas dans mon fichier posté sur le forum...

Dans la feuille "Class. individuel", j'affiche les noms classés par points mais j'aimerais affuicher ceux qui n'ont pas de points aussi. Pourquoi j'ai #VALEUR! alors que tout me parait correct ?
Vous ne pouvez pas consulter les pièces jointes insérées à ce message.
LibreOffice 7 dernière version disponible sous Kubuntu 21.10 / Windows 10
Avatar de l’utilisateur
OOotremer971
ManitOOu
ManitOOu
Messages : 2744
Inscription : 16 avr. 2010 13:31

Re: [Résolu] Nième valeur selon un critère

Message par OOotremer971 »

Bonjour,

Tu devrais vérifier un peu plus consciencieusement les résultats obtenus par tes formules.

Feuille "Résultat", filtre la colonne I sur SK_LG
Feuille "Class. Individuel", sélectionne en E3 : "Ski Alpin Lycée Garçon"

Tu constateras que l'affichage de la colonne A feuille "Class. Individuel" n'est pas conforme au résultat du filtrage obtenu feuille Résultats :roll: (à déboguer donc)
mais que les numéros de ligne des non classés présents dans cette catégorie sont bien affichés en colonne B.

Ensuite, ta formule matricielle colonne B :
SI(A9="";"";PETITE.VALEUR(SI(((Résultats.$Q$4:$Q$999=A9)*(Résultats.$I$4:$I$999=$E$4))=1;LIGNE($A$1:$A$999));LIGNE($A$1)+NB.SI($A$9:A9;A9)-1))
devrait-être :
SI(A9="";"";PETITE.VALEUR(SI(((Résultats.$Q$4:$Q$999=A9)*(Résultats.$I$4:$I$999=$E$4))=1;LIGNE($A$4:$A$999));LIGNE($A$1)+NB.SI($A$9:A9;A9)-1))
afin d'afficher le bon numéro de ligne dès le départ.

Pour finir, colonne P feuille résultat, tu as validé une formule matricielle. Pourquoi ?
Vous ne pouvez pas consulter les pièces jointes insérées à ce message.
En principe, toujours à jour des dernières versions dites stables
AOO
LibreOffice
Debian 10 et 11
migrec
Membre hOOnoraire
Membre hOOnoraire
Messages : 108
Inscription : 16 oct. 2012 20:02

Re: [Résolu] Nième valeur selon un critère

Message par migrec »

Merci pour ta réponse mais je ne trouve toujours pas l'erreur...
Feuille "Résultat", filtre la colonne I sur SK_LG
Feuille "Class. Individuel", sélectionne en E3 : "Ski Alpin Lycée Garçon"

Tu constateras que l'affichage de la colonne A feuille "Class. Individuel" n'est pas conforme au résultat du filtrage obtenu feuille Résultats :roll: (à déboguer donc)
mais que les numéros de ligne des non classés présents dans cette catégorie sont bien affichés en colonne B.
Le critère est en cellule E4. Pour moi l'affichage en feuille "Class. Individuel", colonne A est juste. Dans la catégorie SK_CG, j'ai bien 2 lignes avec 1 comme classement (ex-aequos) puis les rangs 3 à 9 avec 2 x le numéro 5 et pas de numéro 6.
Ensuite, ta formule matricielle colonne B :

Code : Tout sélectionner

    SI(A9="";"";PETITE.VALEUR(SI(((Résultats.$Q$4:$Q$999=A9)*(Résultats.$I$4:$I$999=$E$4))=1;LIGNE($A$1:$A$999));LIGNE($A$1)+NB.SI($A$9:A9;A9)-1))
devrait-être :

Code : Tout sélectionner

    SI(A9="";"";PETITE.VALEUR(SI(((Résultats.$Q$4:$Q$999=A9)*(Résultats.$I$4:$I$999=$E$4))=1;LIGNE($A$4:$A$999));LIGNE($A$1)+NB.SI($A$9:A9;A9)-1))
afin d'afficher le bon numéro de ligne dès le départ.
Oui c'était voulu, je cherchais le numéro de ligne dans le tableau (pour éviter les en-têtes) et non le numéro de ligne de la feuille. Mais j'ai rectifié, c'est peut-être davantage recommandé.
Pour finir, colonne P feuille résultat, tu as validé une formule matricielle. Pourquoi ?]
Effectivement, erreur de ma part, ça n'avait pas lieu d'être... Merci !

J'ai essayé d'être consciencieux mais je ne trouve toujours pas comment afficher mes "Non classés" !
LibreOffice 7 dernière version disponible sous Kubuntu 21.10 / Windows 10
Avatar de l’utilisateur
OOotremer971
ManitOOu
ManitOOu
Messages : 2744
Inscription : 16 avr. 2010 13:31

Re: [Résolu] Nième valeur selon un critère

Message par OOotremer971 »

migrec a écrit :Le critère est en cellule E4. Pour moi l'affichage en feuille "Class. Individuel", colonne A est juste.
Donc avec un critère SK_LG en E4, j'obtiens feuille Class.Individuel :
migrec.png
On voit bien tous les nombres de 1 à 11 avec 3x fois le 11 et deux non classés dont le numéro de ligne apparaît bien colonne B

Ensuite, si je filtre ta feuille résultat sur SK_LG j'obtiens :
migrec2.png
Là on voit l'absence du 5, une seule fois la présence du 11 et 2x celle du 4 et 2 non classés.

Pour moi le résultat affiché colonne A ne correspond pas à celui obtenu par le filtrage. J'insiste !

@+
Vous ne pouvez pas consulter les pièces jointes insérées à ce message.
En principe, toujours à jour des dernières versions dites stables
AOO
LibreOffice
Debian 10 et 11
migrec
Membre hOOnoraire
Membre hOOnoraire
Messages : 108
Inscription : 16 oct. 2012 20:02

Re: [Résolu] Nième valeur selon un critère

Message par migrec »

Pour moi le résultat affiché colonne A ne correspond pas à celui obtenu par le filtrage. J'insiste !
Aïe... Pas bon de rester sur le même tableau pendant plusieurs heures... Tu as parfaitement raison, ma colonne A n'était pas correcte et tout mon problème venait bien de là !
J'ai rectifié tout ça et c'est désormais ok.

Merci infiniment d'avoir passé du temps à m'expliquer mon erreur !
LibreOffice 7 dernière version disponible sous Kubuntu 21.10 / Windows 10