JimmyBendrix
XLDnaute Nouveau
Bonjour à tous,
Mon problème est le suivant: J'ai deux colonnes, l'une contenant le nom d'espèces végétales (A) et l'autre contenant l'abondance de cette espèce (B). En tout j'ai environ 60 espèces et 30 sites pour lesquels j'ai une colonne B. Ce que je veux faire, c'est, pour chaque site, déterminer qu'elles sont les 5 espèces les plus abondantes, donc qui ont la plus grande valeur d'abondance. J'ai procédé de la manière suivante:
Dans cinq cellules adjacentes j'ai écrit les formules suivantes:
B63=Grande.valeur(B$2:B$61;1)
B64=Grande.valeur(B$2:B$61;2)
B65=Grande.valeur(B$2:B$61;3)
B66=Grande.valeur(B$2:B$61;4)
B67=Grande.valeur(B$2:B$61;5)
J'ai maintenant mes 5 plus grandes valeurs. Par la suite, j'applique les fonctions index, equiv pour trouver la valeur correpondante en A:
B69=Index($A$2:$A$61;Equiv(B63;B$2:B$61;0))
B70=Index($A$2:$A$61;Equiv(B64;B$2:B$61;0))
B71=Index($A$2:$A$61;Equiv(B65;B$2:B$61;0))
B72=Index($A$2:$A$61;Equiv(B66;B$2:B$61;0))
B73=Index($A$2:$A$61;Equiv(B67;B$2:B$61;0))
Ceci est satisfaisant dans le cas où les 5 plus grandes valeurs sont différentes. Toutefois, dans mon abondance, plusieurs valeurs sont égales (ex:B64 et B65 = 14). Hors, lorsque ça arrive les fonctions index et equiv me renvoient la valeur en A correspondant à la première valeur rencontrée. Par exemple, pour B64 et B65 =14, j'aurais B70 = B71, alors qu'il s'agit de deux espèces différentes. Ce que je veux par contre, est vraiment la valeur en A correpondant à la valeur donnée avec Grande.valeur incluant la position par rapport aux autres valeurs égales. Comment faire? Est-ce que quelqu'un peut m'aider?
Finalement, je sais qu'il existe plusieurs autres façons de régler mon problème, comme les filtres, mais j'aimerais vraiment solutionner mon problème avec des formules afin de ne pas avoir à modifier ma table de départ. Aussi en bout de ligne, c'est plus simple et plus efficace.
Merci de me répondre rapidement,
JimmyBendrix
Mon problème est le suivant: J'ai deux colonnes, l'une contenant le nom d'espèces végétales (A) et l'autre contenant l'abondance de cette espèce (B). En tout j'ai environ 60 espèces et 30 sites pour lesquels j'ai une colonne B. Ce que je veux faire, c'est, pour chaque site, déterminer qu'elles sont les 5 espèces les plus abondantes, donc qui ont la plus grande valeur d'abondance. J'ai procédé de la manière suivante:
Dans cinq cellules adjacentes j'ai écrit les formules suivantes:
B63=Grande.valeur(B$2:B$61;1)
B64=Grande.valeur(B$2:B$61;2)
B65=Grande.valeur(B$2:B$61;3)
B66=Grande.valeur(B$2:B$61;4)
B67=Grande.valeur(B$2:B$61;5)
J'ai maintenant mes 5 plus grandes valeurs. Par la suite, j'applique les fonctions index, equiv pour trouver la valeur correpondante en A:
B69=Index($A$2:$A$61;Equiv(B63;B$2:B$61;0))
B70=Index($A$2:$A$61;Equiv(B64;B$2:B$61;0))
B71=Index($A$2:$A$61;Equiv(B65;B$2:B$61;0))
B72=Index($A$2:$A$61;Equiv(B66;B$2:B$61;0))
B73=Index($A$2:$A$61;Equiv(B67;B$2:B$61;0))
Ceci est satisfaisant dans le cas où les 5 plus grandes valeurs sont différentes. Toutefois, dans mon abondance, plusieurs valeurs sont égales (ex:B64 et B65 = 14). Hors, lorsque ça arrive les fonctions index et equiv me renvoient la valeur en A correspondant à la première valeur rencontrée. Par exemple, pour B64 et B65 =14, j'aurais B70 = B71, alors qu'il s'agit de deux espèces différentes. Ce que je veux par contre, est vraiment la valeur en A correpondant à la valeur donnée avec Grande.valeur incluant la position par rapport aux autres valeurs égales. Comment faire? Est-ce que quelqu'un peut m'aider?
Finalement, je sais qu'il existe plusieurs autres façons de régler mon problème, comme les filtres, mais j'aimerais vraiment solutionner mon problème avec des formules afin de ne pas avoir à modifier ma table de départ. Aussi en bout de ligne, c'est plus simple et plus efficace.
Merci de me répondre rapidement,
JimmyBendrix