[Résolu] Nième valeur selon un critère
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.
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.
-
- Membre hOOnoraire
- Messages : 108
- Inscription : 16 oct. 2012 20:02
[Résolu] Nième valeur selon un critère
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 ?
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
Raison : Ajout de la coche
LibreOffice 7 dernière version disponible sous Kubuntu 21.10 / Windows 10
-
- ManitOOu
- Messages : 2744
- Inscription : 16 avr. 2010 13:31
Re: Nième valeur selon un critère
Bonjour,
Sous réserve de bien avoir compris !
En B10 une formule matricielle (à valider donc par Ctrl+Maj+Entrée) :
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
@+
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);"***")
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
AOO
LibreOffice
Debian 10 et 11
-
- Membre hOOnoraire
- Messages : 108
- Inscription : 16 oct. 2012 20:02
Re: Nième valeur selon un critère
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.
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
-
- Membre hOOnoraire
- Messages : 108
- Inscription : 16 oct. 2012 20:02
Re: [Résolu] Nième valeur selon un critère
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 ?
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
-
- ManitOOu
- Messages : 2744
- Inscription : 16 avr. 2010 13:31
Re: [Résolu] Nième valeur selon un critère
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 (à 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 :
Pour finir, colonne P feuille résultat, tu as validé une formule matricielle. Pourquoi ?
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 (à 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 :
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$1:$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.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))
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
AOO
LibreOffice
Debian 10 et 11
-
- Membre hOOnoraire
- Messages : 108
- Inscription : 16 oct. 2012 20:02
Re: [Résolu] Nième valeur selon un critère
Merci pour ta réponse mais je ne trouve toujours pas l'erreur...
J'ai essayé d'être consciencieux mais je ne trouve toujours pas comment afficher mes "Non classés" !
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.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 (à 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.
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é.Ensuite, ta formule matricielle colonne B :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$1:$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.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))
Effectivement, erreur de ma part, ça n'avait pas lieu d'être... Merci !Pour finir, colonne P feuille résultat, tu as validé une formule matricielle. Pourquoi ?]
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
-
- ManitOOu
- Messages : 2744
- Inscription : 16 avr. 2010 13:31
Re: [Résolu] Nième valeur selon un critère
Donc avec un critère SK_LG en E4, j'obtiens feuille Class.Individuel : 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 Bmigrec a écrit :Le critère est en cellule E4. Pour moi l'affichage en feuille "Class. Individuel", colonne A est juste.
Ensuite, si je filtre ta feuille résultat sur SK_LG j'obtiens : 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
AOO
LibreOffice
Debian 10 et 11
-
- Membre hOOnoraire
- Messages : 108
- Inscription : 16 oct. 2012 20:02
Re: [Résolu] Nième valeur selon un critère
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à !Pour moi le résultat affiché colonne A ne correspond pas à celui obtenu par le filtrage. J'insiste !
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