Re : Petit problème simple
Bonsoir
Une petite explication donc
En E2 INDEX(A$1:A$5;MIN(SI(NB.SI(E$1:E1;A$2:A$5)=0;LIGNE(A$2:A$5))))&""
E$1:E1 permet d'étendre la plage facilement vers le bas. En E3, cette plage sera E$1:E2, en E4, cela deviendra E$1:E3.
En E2 NB.SI(E$1:E1;A$2:A$5) compte le nombre de contenu de A$2:A$5 égaux à E1.
SI(NB.SI(E$1:E1;A$2:A$5)=0, c'est que le contenu de A2, A3, A4, A5 ne sont pas égaux à E1. (donc, pour que la formule complète fonctionne, il faut faire un caclul matriciel, autrement, le test NB.SI ne serait fait que sur A2). Cette partie de la formule permet déliminer les doublons. Si un des contenus de la plage A2:A5 est égal à E1, c'est que s'est un doublon, et qu'il ne faut plus en tenir compte.
Donc SI(NB.SI(E$1:E1;A$2:A$5)=0, est VRAI, on renvoie les numéros de ligne correspondant, 2, 3, 4 et 5 ici. On prend la valeur min, pour ne garder que le premier de cette liste, donc 2 ici.
INDEX(A$1:A$5;MIN(SI(NB.SI(E$1:E1;A$2:A$5)=0;LIGNE(A$2:A$5)))) donne donc ici INDEX(A$1:A$5;2), donc A2.
Et la formule affiche en E2 le contenu de A2.
En E3, on a INDEX(A$1:A$5;MIN(SI(NB.SI(E$1:E2;A$2:A$5)=0;LIGNE(A$2:A$5))))&""
NB.SI(E$1:E2;A$2:A$5) compte le nombre de contenu de A$2:A$5 égaux à E1, puis idem à E2.
Ce coup si, on n'a pas NB.SI(E2;A$2:A$5) = 0 puisque E2=A2. SI(NB.SI(E$1:E2;A$2:A$5)=0;LIGNE(A$2:A$5) en matriciel renvoie donc 3, 4 et 5, sans la ligne 2.
Donc INDEX(A$1:A$5;MIN(SI(NB.SI(E$1:E2;A$2:A$5)=0;LIGNE(A$2:A$5)))) = INDEX(A$1:A$5;3) = A3 et excel affiche en E3 le contenu de A3.
Et on continue ainsi de suite vers le bas.
Lorsqu'excel ne trouve rien à afficher (La partie NB.SI(....)=0 n'est jamais VRAI), la formule complète renvoie 0. Pour que ceux-ci ne s'affichent pas, on rajoute le &"", (mais cela affiche l'année en texte, et non en nombre ou en date).
Passons à la colonne F. En F3, on a
=MIN(SI(E2=A$2:A$5&"";NBCAR(C$2:C$5)/NBCAR("bla")))
qui fonctionne "presque" de la même manière (SI(test;réponse si VRAI;réponse si FAUX)).
E2=A$2:A$5 compare le contenu de E2 à celui de la plage A$2:A$5&"" (plage ==> calcul matriciel).
Si il y a égalité, excel calcule le rapport nombre de caractères / nombre de caractères de "bla".
Et finalement on ne garde que la valeur min de l'ensemble des rapports conservés.
@ plus