Rang d'une cellule contenant du texte

Bonjour

Dans un fichier excel, j'ai deux colonnes.

Première colonne :

Elle contient une formule du type ANNEE(cellule)&"-"&NO.SEMAINE(Cellule).

Le résultat est donc en format texte : "2021 - 06".

Deuxième colonne :

J'aimerai donner le rang de l'élément de la colonne contenant la matrice de comparaison.

J'arrive à la faire sur des nombres mais pas sur du texte.

Est-ce que quelqu'un a une idée?

Merci d'avance.

Bonjour,

La fonction RANG attend une référence et non une matrice en second argument. Donc je dirais que le mieux à faire est soit de créer une autre colonne avec cette formule :

=SUBSTITUE(A1;"-";"")*1

soit de modifier votre formule sur la première colonne de manière à obtenir directement un nombre :

=ANNEE(cellule)*100 + NO.SEMAINE(Cellule)

Alors, ce sera possible.

Edit : Voici quand même une alternative avec cette formule matricielle (à toujours valider avec ctrl+shift+enter) :

=EQUIV(SUBSTITUE($A1;"-";"")*1;PETITE.VALEUR(SUBSTITUE($A$1:$A$5;"-";"")*1;LIGNE($A$1:$A$5)-LIGNE($A$1)+1);0)

Cdlt,

Merci

La formule matricielle fonctionne bien sur une partie de la colonne.

J'ai une série de #N/A après; j'essaie de la résoudre.

Il faut bien valider par ctrl + shift + enter.

Et il faut que les valeurs aient toutes un modèle identique, ici "AAAA-SS". Sinon, ça coince...

OK pour Ctrl+Maj+Entrée et sur le format des valeurs d'entrées.

Je m'aperçois en plus que le numéro d'ordre est erratique.

Voici le fichier exemple.

Je suis en train de me dire que c'est à cause des doublons de la colonne source.

La référence J1 n'était pas bien bloquée dans la fonction LIGNE.

Ici, la partie :

LIGNE($A$1:$A$5)-LIGNE($A$1)+1

permet d'obtenir une matrice constituée d'index : {1;2;3;4;5} afin de renvoyer, grâce au PETITE.VALEUR, les dates triées. Le EQUIV permet alors d'obtenir le rang.

le - LIGNE($A$1) + 1, avec la référence figée, permet de toujours obtenir ces index là (de 1 au nombre de valeurs), quelque soit l'adresse de la plage des dates.

Ok

Je n'avais pas vu qu'il fallait bloqué la première cellule dans la dernière partie de la formule.

C'est une erreur de ma part.

Remis dans le contexte, cela fonctionne très bien maintenant.

Merci

Rechercher des sujets similaires à "rang contenant texte"