web-dev-qa-db-fra.com

Une formule de feuille de calcul pour attribuer des notes en fonction de plages numériques

J'essaie de comprendre comment écrire une instruction IF qui sera "vraie" si une valeur se situe entre deux valeurs.

Exemple:

Si la valeur est comprise entre 60 et 69,9, renvoyer "D"

Si la valeur est comprise entre 70 et 79,9, renvoyer "C"

Si la valeur est comprise entre 80 et 89,9, renvoyer "B"

J'ai ceci, mais je n'arrive pas à comprendre comment le modifier, le test est donc un entre-deux au lieu d'un inférieur ou supérieur à.

=IF(A1<60, "F", IF(A1>60, "A", 0))
8
Mr. B

Gardez les signes d'inégalité dans la même direction:

=IF(A1<60, "F", IF(A1<70, "D", IF(A1<80, "C", IF(A1<90, "B", "A"))))

Ce qui précède fonctionne bien tant qu'il n'y a pas trop de cas. Mais si vous avez beaucoup d'options, C-, C +, B-, B + ... il serait préférable d'utiliser une table de recherche à la place. Par exemple, si vous avez une table de correspondance telle que celle ci-dessous, alors

=vlookup(A1, $K$1:$L$5) 

fait le même travail que les FI imbriquées. Il est également plus facile de gérer le tableau en cas de modification: vous avez par exemple décidé de déplacer des seuils.

+---+----+---+
|   | K  | L |
+---+----+---+
| 1 |  0 | F |
| 2 | 60 | D |
| 3 | 70 | C |
| 4 | 80 | B |
| 5 | 90 | A |
+---+----+---+
7
user79865

Une autre solution, tirée du forum d'aide de Google Documents , maintient les seuils directement dans la formule, évitant ainsi de les maintenir séparément.

Pour les seuils définis dans OP, la formule est

_=VLOOKUP($A1,{0,"F";60,"D";70,"C";80,"B";90,"A"},2)
_

Changer les seuils peut sembler fastidieux à présent, mais peut être effectué efficacement de la manière suivante. Modifiez les seuils dans la formule de la cellule la plus en haut, puis fill down en effectuant un _CMD-D_ ou un _CTRL-D_ en fonction de votre plate-forme.

2
wsaleem

J'ai modifié les seuils de @ wsaleem pour inclure -/+ notes (selon l'échelle de mon collège):

=VLOOKUP(BB2,{0,"F";60,"D-";63,"D";68,"D+";70,"C-";73,"C";78,"C+";80,"B-";83,"B";88,"B+";90,"A-";93,"A"},2)

Assurez-vous de contourner () votre valeur d’entrée. J'utilisais AVERAGE () et bien que le champ soit visiblement arrondi, la valeur ne l'était pas.

1
ow3n