Tri dynamique de texte avec formule matricielle (formule presque au point)
4 réponses
La Norme Française c'est pas le FN
Bonjour
Ci-dessous la pièce jointe pour l'exemple (durée de stockage illimitée).
http://www.cjoint.com/c/FJktAQZNex8
J'ai fais le plus gros, mais je bloque sur la formule matricielle pour qu'elle ne m'affiche pas les 0 dans un tri dynamique de texte.
Je peux l'utilise en l'état, mais c'est pas esthétique.
Dans cet exemple, le rang du tri texte est basé sur la formule :
=NB.SI($B$14:$B$24;"<="&B14)
Une colonne Rang affiche un nombre qui correspond à l'ordre de tri. Il peut y avoir plusieurs doublon.
Si pas de texte alors le rang est toujours 0
La formule matricielle que j'utilise (que j'ai adapté depuis un exemple trouvé sur internet) :
=INDEX($B$14:$E$24;EQUIV(PETITE.VALEUR($C$14:$C$24+LIGNE()/100000;LIGNE()-13);$C$14:$C$24+LIGNE()/100000;0);{1.2.3.4})
A) A quoi sert ce /100000 dans la formule .
B) Comment se passer du -13 dans la formule pour ne plus avoir à corriger qu'en qu'à d'insertion de ligne entre A1 et A13 ?
C) Je souhaitre rempalcer $B$14:$E$24 par des noms de cellules non contigue et concaténé (ex : "Cell"&A1, "Cell"&A2, "Cell"&A3,...).
Je le fais déjà mais cela nécéssite d'utiliser la fonction INDIRECT. Est ce que ça pose un problème pour le rafraichissement en temps réel dans un cas comme le miens ?
Est-ce qu'il y a une matricielle mieux adapté à mon problème ? Avez vous un exemple déjà fonctionnel ?
Pour info, je cherche à garder la colonne rang (=NB.SI($B$14:$B$24;"<="&B14)) Ca évite d'avoir une matricielle à ralonge. Idem si abreviation est différent de "", on peut passer par une colonne bool
et l'utiliser dans la matrice
Les matricielles c'est simple quand on m'explique longtemps...
Merci pour votre aide.
Cordialement.
--
« le politiquement correct ne proclame pas la tolérance ; il ne fait qu'organiser la haine. » (Jacques Barzun)
C'est une doctrine obligatoire, qui n'est en réalité que l'expression la plus autoritaire du conformisme
Cette action est irreversible, confirmez la suppression du commentaire ?
Signaler le commentaire
Veuillez sélectionner un problème
Nudité
Violence
Harcèlement
Fraude
Vente illégale
Discours haineux
Terrorisme
Autre
isabelle
bonjour, en cellule G14 =SIERREUR(INDEX($B$14:$B$24;EQUIV(PETITE.VALEUR($C$14:$C$24;NB.SI($C$14:$C$24;0)+LIGNE()-EQUIV("Nom";$D:$D;0));$C$14:$C$24;0));"") à recopier ver le bas isabelle Le 2016-10-10 à 16:02, La Norme Française c'est pas le FN a écrit :
Bonjour Ci-dessous la pièce jointe pour l'exemple (durée de stockage illimitée). http://www.cjoint.com/c/FJktAQZNex8 J'ai fais le plus gros, mais je bloque sur la formule matricielle pour qu'elle ne m'affiche pas les 0 dans un tri dynamique de texte. Je peux l'utilise en l'état, mais c'est pas esthétique. Dans cet exemple, le rang du tri texte est basé sur la formule : =NB.SI($B$14:$B$24;"<="&B14) Une colonne Rang affiche un nombre qui correspond à l'ordre de tri. Il peut y avoir plusieurs doublon. Si pas de texte alors le rang est toujours 0 (Attention, police à chasse fixe) N° idx Abrev Rang Nom Mer/océan 1 F_OD 6 La Réunion Indien 2 F_OD 6 Wallis Futuna Polynesie 3 F_OG 8 Guadeloupe Caraibe 4 F_OG 8 Martinique Caraibe 5 CUT 3 Cuba Caraibe 6 0 7 ZK 9 Cook Pacifique 8 A3 2 Tonga Pacifique 9 3B 1 Maurice Indien 10 0 11 DQ 4 Fidji Pacifique Ce que je cherche à avoir : N° Abrev Rang Nom Mer/océan 1 3B 1 Maurice Indien 2 A3 2 Tonga Pacifique 3 CUT 3 Cuba Caraibe 4 DQ 4 Fidji Pacifique 5 F_OD 6 La Réunion Indien 6 F_OD 6 Wallis Futuna Polynesie 7 F_OG 8 Guadeloupe Caraibe 8 F_OG 8 Martinique Caraibe 9 ZK 9 Cook Pacifique 10 11 La formule matricielle que j'utilise (que j'ai adapté depuis un exemple trouvé sur internet) : =INDEX($B$14:$E$24;EQUIV(PETITE.VALEUR($C$14:$C$24+LIGNE()/100000;LIGNE()-13);$C$14:$C$24+LIGNE()/100000;0);{1.2.3.4}) A) A quoi sert ce /100000 dans la formule . B) Comment se passer du -13 dans la formule pour ne plus avoir à corriger qu'en qu'à d'insertion de ligne entre A1 et A13 ? C) Je souhaitre rempalcer $B$14:$E$24 par des noms de cellules non contigue et concaténé (ex : "Cell"&A1, "Cell"&A2, "Cell"&A3,...). Je le fais déjà mais cela nécéssite d'utiliser la fonction INDIRECT. Est ce que ça pose un problème pour le rafraichissement en temps réel dans un cas comme le miens ? Est-ce qu'il y a une matricielle mieux adapté à mon problème ? Avez vous un exemple déjà fonctionnel ? Pour info, je cherche à garder la colonne rang (=NB.SI($B$14:$B$24;"<="&B14)) Ca évite d'avoir une matricielle à ralonge. Idem si abreviation est différent de "", on peut passer par une colonne bool et l'utiliser dans la matrice Les matricielles c'est simple quand on m'explique longtemps... Merci pour votre aide. Cordialement.
bonjour,
en cellule G14
=SIERREUR(INDEX($B$14:$B$24;EQUIV(PETITE.VALEUR($C$14:$C$24;NB.SI($C$14:$C$24;0)+LIGNE()-EQUIV("Nom";$D:$D;0));$C$14:$C$24;0));"")
à recopier ver le bas
isabelle
Le 2016-10-10 à 16:02, La Norme Française c'est pas le FN a écrit :
Bonjour
Ci-dessous la pièce jointe pour l'exemple (durée de stockage illimitée).
http://www.cjoint.com/c/FJktAQZNex8
J'ai fais le plus gros, mais je bloque sur la formule matricielle pour
qu'elle ne m'affiche pas les 0 dans un tri dynamique de texte. Je peux
l'utilise en l'état, mais c'est pas esthétique.
Dans cet exemple, le rang du tri texte est basé sur la formule :
=NB.SI($B$14:$B$24;"<="&B14) Une colonne Rang affiche un nombre qui
correspond à l'ordre de tri. Il peut y avoir plusieurs doublon. Si pas de
texte alors le rang est toujours 0
La formule matricielle que j'utilise (que j'ai adapté depuis un exemple
trouvé sur internet) :
=INDEX($B$14:$E$24;EQUIV(PETITE.VALEUR($C$14:$C$24+LIGNE()/100000;LIGNE()-13);$C$14:$C$24+LIGNE()/100000;0);{1.2.3.4})
A) A quoi sert ce /100000 dans la formule . B) Comment se passer du -13 dans
la formule pour ne plus avoir à corriger qu'en qu'à d'insertion de ligne
entre A1 et A13 ? C) Je souhaitre rempalcer $B$14:$E$24 par des noms de
cellules non contigue et concaténé (ex : "Cell"&A1, "Cell"&A2,
"Cell"&A3,...). Je le fais déjà mais cela nécéssite d'utiliser la fonction
INDIRECT. Est ce que ça pose un problème pour le rafraichissement en temps
réel dans un cas comme le miens ?
Est-ce qu'il y a une matricielle mieux adapté à mon problème ? Avez vous un
exemple déjà fonctionnel ? Pour info, je cherche à garder la colonne rang
(=NB.SI($B$14:$B$24;"<="&B14)) Ca évite d'avoir une matricielle à ralonge.
Idem si abreviation est différent de "", on peut passer par une colonne bool
et l'utiliser dans la matrice
Les matricielles c'est simple quand on m'explique longtemps...
bonjour, en cellule G14 =SIERREUR(INDEX($B$14:$B$24;EQUIV(PETITE.VALEUR($C$14:$C$24;NB.SI($C$14:$C$24;0)+LIGNE()-EQUIV("Nom";$D:$D;0));$C$14:$C$24;0));"") à recopier ver le bas isabelle Le 2016-10-10 à 16:02, La Norme Française c'est pas le FN a écrit :
Bonjour Ci-dessous la pièce jointe pour l'exemple (durée de stockage illimitée). http://www.cjoint.com/c/FJktAQZNex8 J'ai fais le plus gros, mais je bloque sur la formule matricielle pour qu'elle ne m'affiche pas les 0 dans un tri dynamique de texte. Je peux l'utilise en l'état, mais c'est pas esthétique. Dans cet exemple, le rang du tri texte est basé sur la formule : =NB.SI($B$14:$B$24;"<="&B14) Une colonne Rang affiche un nombre qui correspond à l'ordre de tri. Il peut y avoir plusieurs doublon. Si pas de texte alors le rang est toujours 0 (Attention, police à chasse fixe) N° idx Abrev Rang Nom Mer/océan 1 F_OD 6 La Réunion Indien 2 F_OD 6 Wallis Futuna Polynesie 3 F_OG 8 Guadeloupe Caraibe 4 F_OG 8 Martinique Caraibe 5 CUT 3 Cuba Caraibe 6 0 7 ZK 9 Cook Pacifique 8 A3 2 Tonga Pacifique 9 3B 1 Maurice Indien 10 0 11 DQ 4 Fidji Pacifique Ce que je cherche à avoir : N° Abrev Rang Nom Mer/océan 1 3B 1 Maurice Indien 2 A3 2 Tonga Pacifique 3 CUT 3 Cuba Caraibe 4 DQ 4 Fidji Pacifique 5 F_OD 6 La Réunion Indien 6 F_OD 6 Wallis Futuna Polynesie 7 F_OG 8 Guadeloupe Caraibe 8 F_OG 8 Martinique Caraibe 9 ZK 9 Cook Pacifique 10 11 La formule matricielle que j'utilise (que j'ai adapté depuis un exemple trouvé sur internet) : =INDEX($B$14:$E$24;EQUIV(PETITE.VALEUR($C$14:$C$24+LIGNE()/100000;LIGNE()-13);$C$14:$C$24+LIGNE()/100000;0);{1.2.3.4}) A) A quoi sert ce /100000 dans la formule . B) Comment se passer du -13 dans la formule pour ne plus avoir à corriger qu'en qu'à d'insertion de ligne entre A1 et A13 ? C) Je souhaitre rempalcer $B$14:$E$24 par des noms de cellules non contigue et concaténé (ex : "Cell"&A1, "Cell"&A2, "Cell"&A3,...). Je le fais déjà mais cela nécéssite d'utiliser la fonction INDIRECT. Est ce que ça pose un problème pour le rafraichissement en temps réel dans un cas comme le miens ? Est-ce qu'il y a une matricielle mieux adapté à mon problème ? Avez vous un exemple déjà fonctionnel ? Pour info, je cherche à garder la colonne rang (=NB.SI($B$14:$B$24;"<="&B14)) Ca évite d'avoir une matricielle à ralonge. Idem si abreviation est différent de "", on peut passer par une colonne bool et l'utiliser dans la matrice Les matricielles c'est simple quand on m'explique longtemps... Merci pour votre aide. Cordialement.
La Norme Française c'est pas le FN
On Mon, 10 Oct 2016 22:00:41 -0400, isabelle wrote:
en cellule G14 =SIERREUR(INDEX($B$14:$B$24;EQUIV(PETITE.VALEUR($C$14:$C$24;NB.SI($C$14:$C$24;0)+LIGNE()-EQUIV("Nom";$D:$D;0));$C$14:$C$24;0));"") à recopier ver le bas
Bonjour et merci. Pour info, j'ai résolu mon problème en utilisant le SIERREUR de votre exemple même si votre exemple ne correspond pas exactement à ma demande mais c'est toujours utile. Je prépare un classeur avec des exemples avec formule matricielle cellule par cellule, par ligne, ou multilignes Certaines sont insensible au décalage de ligne du dessus. -- « le politiquement correct ne proclame pas la tolérance ; il ne fait qu'organiser la haine. » (Jacques Barzun) C'est une doctrine obligatoire, qui n'est en réalité que l'expression la plus autoritaire du conformisme
On Mon, 10 Oct 2016 22:00:41 -0400, isabelle <i@v.invalid> wrote:
en cellule G14
=SIERREUR(INDEX($B$14:$B$24;EQUIV(PETITE.VALEUR($C$14:$C$24;NB.SI($C$14:$C$24;0)+LIGNE()-EQUIV("Nom";$D:$D;0));$C$14:$C$24;0));"")
à recopier ver le bas
Bonjour et merci.
Pour info, j'ai résolu mon problème en utilisant le SIERREUR de votre exemple même si votre exemple ne correspond pas exactement à ma demande mais c'est toujours utile.
Je prépare un classeur avec des exemples avec formule matricielle cellule par cellule, par ligne, ou multilignes
Certaines sont insensible au décalage de ligne du dessus.
--
« le politiquement correct ne proclame pas la tolérance ; il ne fait qu'organiser la haine. » (Jacques Barzun)
C'est une doctrine obligatoire, qui n'est en réalité que l'expression la plus autoritaire du conformisme
On Mon, 10 Oct 2016 22:00:41 -0400, isabelle wrote:
en cellule G14 =SIERREUR(INDEX($B$14:$B$24;EQUIV(PETITE.VALEUR($C$14:$C$24;NB.SI($C$14:$C$24;0)+LIGNE()-EQUIV("Nom";$D:$D;0));$C$14:$C$24;0));"") à recopier ver le bas
Bonjour et merci. Pour info, j'ai résolu mon problème en utilisant le SIERREUR de votre exemple même si votre exemple ne correspond pas exactement à ma demande mais c'est toujours utile. Je prépare un classeur avec des exemples avec formule matricielle cellule par cellule, par ligne, ou multilignes Certaines sont insensible au décalage de ligne du dessus. -- « le politiquement correct ne proclame pas la tolérance ; il ne fait qu'organiser la haine. » (Jacques Barzun) C'est une doctrine obligatoire, qui n'est en réalité que l'expression la plus autoritaire du conformisme
isabelle
bonjour, à la bonne heure!, mais jette un oeil à cette partie (premier argument de EQUIV), qui pourrait s'intégrer à ta formule matricielle PETITE.VALEUR($C$14:$C$24;NB.SI($C$14:$C$24;0)+LIGNE()-EQUIV("Nom";$D:$D;0) isabelle Le 2016-10-11 à 15:20, La Norme Française c'est pas le FN a écrit :
Pour info, j'ai résolu mon problème en utilisant le SIERREUR de votre exemple même si votre exemple ne correspond pas exactement à ma demande mais c'est toujours utile.
bonjour,
à la bonne heure!,
mais jette un oeil à cette partie (premier argument de EQUIV), qui pourrait
s'intégrer à ta formule matricielle
Le 2016-10-11 à 15:20, La Norme Française c'est pas le FN a écrit :
Pour info, j'ai résolu mon problème en utilisant le SIERREUR de votre exemple
même si votre exemple ne correspond pas exactement à ma demande mais c'est
toujours utile.
bonjour, à la bonne heure!, mais jette un oeil à cette partie (premier argument de EQUIV), qui pourrait s'intégrer à ta formule matricielle PETITE.VALEUR($C$14:$C$24;NB.SI($C$14:$C$24;0)+LIGNE()-EQUIV("Nom";$D:$D;0) isabelle Le 2016-10-11 à 15:20, La Norme Française c'est pas le FN a écrit :
Pour info, j'ai résolu mon problème en utilisant le SIERREUR de votre exemple même si votre exemple ne correspond pas exactement à ma demande mais c'est toujours utile.
La Norme Française c'est pas le FN
On Tue, 11 Oct 2016 18:22:14 -0400, isabelle wrote:
bonjour, à la bonne heure!,
http://www.cjoint.com/c/FJol2Dt80S8 (durée stockage illimitée) J'ai eu du mal à trouver des exemples abordablent pour mon niveau. Donc, je me suis fais un mémo avec des exemples C'est perfectible, mais j'espère que ça peut aider. Ton exemple m'a inspiré dans une direction que je n'utilisais jamais. En général je fais toujours en sorte de contrôler la saisie pour ne pas avoir des #erreur à gérer mais dans ce cas, j'ai provoqué ces erreurs pour utiliser SIERREUR() -- « le politiquement correct ne proclame pas la tolérance ; il ne fait qu'organiser la haine. » (Jacques Barzun) C'est une doctrine obligatoire, qui n'est en réalité que l'expression la plus autoritaire du conformisme
On Tue, 11 Oct 2016 18:22:14 -0400, isabelle <i@v.invalid> wrote:
J'ai eu du mal à trouver des exemples abordablent pour mon niveau. Donc, je me suis fais un mémo avec des exemples
C'est perfectible, mais j'espère que ça peut aider.
Ton exemple m'a inspiré dans une direction que je n'utilisais jamais.
En général je fais toujours en sorte de contrôler la saisie pour ne pas avoir des #erreur à gérer mais dans ce cas, j'ai provoqué ces erreurs pour utiliser SIERREUR()
--
« le politiquement correct ne proclame pas la tolérance ; il ne fait qu'organiser la haine. » (Jacques Barzun)
C'est une doctrine obligatoire, qui n'est en réalité que l'expression la plus autoritaire du conformisme
On Tue, 11 Oct 2016 18:22:14 -0400, isabelle wrote:
bonjour, à la bonne heure!,
http://www.cjoint.com/c/FJol2Dt80S8 (durée stockage illimitée) J'ai eu du mal à trouver des exemples abordablent pour mon niveau. Donc, je me suis fais un mémo avec des exemples C'est perfectible, mais j'espère que ça peut aider. Ton exemple m'a inspiré dans une direction que je n'utilisais jamais. En général je fais toujours en sorte de contrôler la saisie pour ne pas avoir des #erreur à gérer mais dans ce cas, j'ai provoqué ces erreurs pour utiliser SIERREUR() -- « le politiquement correct ne proclame pas la tolérance ; il ne fait qu'organiser la haine. » (Jacques Barzun) C'est une doctrine obligatoire, qui n'est en réalité que l'expression la plus autoritaire du conformisme