Instructions if imbriquées dans Excel [Plus de la 7 limite autorisée]
Je suis en train de créer une feuille de calcul qui donne automatiquement une note d'un étudiant sur la base de leurs marques qu'ils ont obtenu.
J'ai apparemment frappé Excel imbriqués à l'instruction SI la limite est de 7.
Voici mon instruction if:
=IF(O5>0.895,"A+",IF(O5>0.845,"A",IF(O5>0.795,"A-",IF(O5>0.745,"B+",IF(O5>0.695,"B",IF(O5>0.645,"B-",IF(O5>0.595,"C+",IF(O5>0.545,"C","D"))))))))
J'ai lu en ligne que j'ai pu créer un script VBA et l'affecter, mais je ne sais rien à propos de VBA....donc si quelqu'un pourrait m'aider à écrire un VBA pour ce, serait génial.
Son manque toujours la C - note et quelque chose de plus bas devrait être attribué une marque D.
C'est le classement que je suis en train de créer...:
A+ 89.500 - 100.000 Passer avec Distinction
Un 84.500 - 89.490 Passer avec Distinction
A - 79.500 - 84.490 Passer avec Distinction
B+ 74.500 - 79.490 Passer avec le Mérite
B 69.500 - 74.490 Passer avec le Mérite
B - 64.500 - 69.490 Passer avec le Mérite
C+ 59.500 - 64.490 Passer
C 54.500 - 59.490 Passer
C - 49.500 - 54.490 Passer
D 0.000 - 49.490 Spécifiées Ne Parviennent Pas
Je ne me dérangerait pas d'aller en bas de la VBA route, mais ma compréhension de VB langue est absolument minime (n'aime pas)...si cela devient trop pénible, je pensais à créer un petit php/mysql application à la place.
OriginalL'auteur Alks | 2010-03-17
Vous devez vous connecter pour publier un commentaire.
Vous pouvez faire tout cela beaucoup plus élégamment avec le
VLOOKUP
formule en faisant table distincte de la cartographie des limites inférieures des lettres. La table de correspondance doivent être triés par catégorie nombre croissant.Par exemple:
Table
Formule:
Où
$A$1:$B$9
est la gamme avec le grade de table. (Le$
signes dis Excel de ne pas déplacer la référence si vous copiez la formule).En passant
TRUE
comme le dernier argument sera la cause de Excel, pour faire une recherche binaire pour trouver la valeur, qui (tant que les données sont triées) est exactement ce que vous voulez qu'il fasse.J'ai testé aussi... fonctionne vraiment bien 🙂 merci pour cela. Je pensais à la recherchev cependant il m'a flippé afin de ne pas déranger :P. Merci tas.
Ensuite, vous devez accepter cette réponse en cliquant sur le creux de la vérifier.
c'est le droit de réponse - vous devez cliquer sur la case pour indiquer que vous acceptez la réponse.
OriginalL'auteur SLaks
Aller à l'Éditeur de Visual Basic, et insérez ce code. Je ne sais pas de quelle version d'Excel que vous utilisez, mais pour les versions antérieures à 2007, allez dans outils, Macros Visual Basic Editor. Pour la Version 2007 et plus récent , il est sur le Développement de l'Onglet qui n'est pas activé par défaut.
Selon la façon dont vous voulez le lien, vous pouvez ajouter un bouton à la page, ou de l'appeler à partir du Worksheet_Calculate événement.
Cela suppose que vous avez de l'élève note totale dans la cellule A2, et mettre les résultats dans A2 et B2.
OriginalL'auteur Andrew Neely
Une solution simple serait tout simplement de diviser la formule en deux cellules
D'autres cellules:
Bonne idée, mais il faudra cacher les cellules et de se souvenir pourquoi ils sont cachés, et ne pas être en mesure de copier coller facilement...
OriginalL'auteur Codezy
Bien que je préfère la Recherchev méthode (Slaks solution) pour les paramètres numériques de la simplicité et de l'élégance, une alternative qui devient précieux en cas de non-numériques des paramètres est concaténé Fi.
..... et ainsi de suite
Par exemple, dans ce cas:
..... et ainsi de suite pour les autres niveaux.
OriginalL'auteur Rahul Raj
La RECHERCHEV solution me semble la meilleure. Pour ajouter un script VBA, vous pouvez afficher la Barre d'outils Visual Basic, ajoutez un contrôle comme un Bouton, puis double-cliquez dessus. Le code pour cet événement s'ouvre dans Excel VBA environnement. De là, vous pouvez ajouter le code en VB, peut-être quelque chose comme ça.
OriginalL'auteur icelobber