Maison > Article > Les sujets > Fonction Excel d'apprentissage de la fonction CHOISIR par rapport à la fonction SI
S'il y a un monde dans le cercle des fonctions Excel, alors la fonction CHOOSE peut certainement être considérée comme une balayeuse. Elle n'est pas aussi puissante que la fonction IF, mais ses capacités sont encore meilleures. Aujourd'hui, Xiaohua vous amène à jeter un œil à la fonction CHOOSE qui a été ignorée par la plupart des gens
La fonction CHOOSE utilise index_num pour renvoyer la valeur dans le liste de paramètres numériques. Utilisez CHOISIR pour sélectionner l'une des 254 valeurs maximum en fonction d'un numéro d'index. Son instruction de base est :
=CHOOSE(index_num, value1, value2,...)
index_num : paramètre qui spécifie le numéro d'index, qui est un entier compris entre 1 et 254, CHOOSE sélectionne value1 dans la liste de paramètres en fonction de cela. value Accédez à value254 et sélectionnez le paramètre correspondant. index_num peut être un nombre, une formule ou une référence de cellule. Veuillez noter les deux points suivants lors de la définition de ce paramètre :
①Si index_num est inférieur à 1 ou supérieur au numéro d'index de la dernière valeur de la liste, CHOOSE renvoie la valeur d'erreur #VALUE ! Par exemple, CHOOSE(3,1,2), puisque le paramètre d'index est 3, mais que la liste de paramètres n'a que deux valeurs, elle renvoie #VALUE ! (Type d'erreur : la valeur est introuvable.)
②Si index_num est un décimal, puis sera tronqué avant utilisation. Par exemple, CHOOSE(1.99,1,2), 1.99 est tronqué et arrondi à 1, puis la première valeur de paramètre 1 est sélectionnée dans la liste de paramètres {1,2} comme valeur de retour de formule.
Value1-value254 : La liste de paramètres contient au moins un paramètre de valeur, c'est-à-dire que value1 est requis et le nombre de valeurs dans la liste de paramètres doit être supérieur ou égal à la valeur maximale possible de index_num. la valeur peut être un nombre, une référence de cellule, un nom défini, une formule, une fonction ou un texte.
Après avoir lu les déclarations et explications de la fonction CHOOSE ci-dessus, il n'est pas difficile de constater que la fonction CHOOSE a les fonctions de la fonction IF.
L'instruction de base de IF est IF (jugement logique, valeur de retour lorsque la logique est correcte, valeur de retour lorsque la logique est fausse), plus TRUE correspond à la valeur 1 et FALSE correspond à la valeur 0, nous pouvons donc traduire l'instruction de fonction IF en une instruction de fonction CHOOSE, c'est-à-dire CHOOSE (valeur de jugement 2-logique, valeur de retour lorsque la logique est correcte, valeur de retour lorsque la logique est fausse).
Lorsque le résultat du jugement logique est VRAI, 2-TRUE=2-1=1, la fonction CHOOSE sélectionne value1 comme valeur de retour logique correcte
Lorsque le résultat du jugement logique est FALSE, 2-FALSE=2-0= ; 2, la fonction CHOOSE Select value2 comme valeur de retour d'erreur logique.
Cas :
Utilisez respectivement la fonction CHOOSE et la fonction IF pour déterminer si le score est qualifié. La fonction CHOOSE doit utiliser une valeur logique à 2 pour convertir la valeur logique en un nombre d'index, ce qui est un peu compliqué !
Pour les jugements de conditions multiples, les fans fidèles de la fonction IF utiliseront plusieurs méthodes d'imbrication pour les gérer. Mais le résultat est que la formule de la fonction est longue et lourde, ce qui la rend difficile à interpréter. Pendant le processus d'imbrication, nous devons utiliser la fonction IF plusieurs fois. Il est plus simple d'utiliser la fonction CHOOSE pour effectuer plusieurs jugements conditionnels, mais vous devez comprendre et maîtriser le principe de paramétrage du paramètre d'index index_num. Ensuite, nous expliquerons le principe de la formule de jugement conditionnel multiple de la fonction CHOOSE avec des exemples.
Cas :
Convertissez le niveau d'évaluation dans l'image ci-dessous en niveau correspondant. Chaque personne a un niveau d'évaluation unique.
Si nous utilisons la fonction IF à ce moment, nous avons besoin d'une triple imbrication. C'est encore une situation relativement simple dans l'imbrication avant de la fonction IF. Lorsque le nombre de conditions augmente, la complexité de la formule imbriquée de la fonction IF augmentera également. augmenter. La formule de la fonction CHOOSE n'a pas besoin d'être imbriquée. Il vous suffit d'écrire index_num sous la forme 1+jugement logique 1*1+jugement logique 2*2+...+jugement logique n*n, et définissez la valeur 1 comme toutes les conditions. Lorsqu'aucune des deux n'est satisfaite, elle doit « être améliorée », et d'autres valeurs de valeur et conditions de jugement logique peuvent être organisées en séquence.
La formule de la fonction SI est la suivante :
=IF(I4="S","Excellent",IF(I4="A","Bon",IF(I4="B","Général"," A améliorer" )))
La formule de la fonction CHOOSE est la suivante :
=CHOOSE(1+(B4="S")*1+(B4="A")*2+(B4="B")*3,"A améliorer ","Excellent ","Bien","Général")
Description de la formule :
Le premier paramètre index_num de la fonction CHOOSE représente le numéro d'index de la liste de paramètres sélectionnée. Lorsque toutes les conditions ne sont pas remplies, tous les conditions logiques sont Return FALSE, 1+∑ condition logique n*n=1+0=1, sélectionnez la valeur 1 comme valeur de retour finale de la formule, donc la valeur 1 doit être remplie avec le résultat cible lorsque toutes les conditions ne sont pas remplies , dans ce cas il devrait s'agir de " "A améliorer";
Lorsque la première condition est remplie et que les autres conditions ne sont pas remplies, 1+∑ condition logique n*n=1+1*1+0=2, sélectionnez valeur 2, qui est "excellente", comme valeur de retour
Lorsque la deuxième condition est remplie, les autres conditions ne sont pas remplies, 1+∑ condition logique n*n=1+0*1+1*2+0 ; =3, sélectionnez la valeur 3, qui est "bonne", comme valeur de retour
Et ainsi de suite.
Par conséquent, lorsque les conditions logiques ne s'incluent pas, le premier paramètre de la fonction CHOOSE doit être exprimé sous la forme 1+∑ condition logique n*n, et l'ordre des paramètres restants est valeur tous faux, valeur si logique 1 vrai, valeur si logique 2 vrai...
Au contraire, si les conditions logiques sont mutuellement inclusives, le premier paramètre index_num de la fonction CHOOSE doit être écrit sous la forme 1+jugement logique 1+jugement logique 2+...+jugement logique La forme de n est 1+∑ condition logique n. En effet, lorsque la logique n est satisfaite, la logique n-1 doit également être satisfaite, donc le nombre de conditions satisfaites plus 1 est le numéro d'index de la liste de paramètres sélectionnée, et il n'est pas nécessaire d'utiliser la forme *n pour la conversion. Un problème typique est le calcul fiscal des revenus du travail dans le cadre de l’ancien impôt sur le revenu des personnes physiques. Par exemple, si le salaire est de 4 500 yuans, il est à la fois supérieur à 4 000 et supérieur à 800. Additionnez leurs valeurs logiques et ajoutez 1 pour obtenir 3. L'impôt sur le revenu des personnes physiques est calculé en utilisant la valeur 3 dans la formule, qui est A2 *0,8*0,2, comme suit :
= CHOISISSEZ (((A2>800)+(A2>4000)+(A2>25000)+(A2>62500)+1),0,A2-800)*0,2, A2*0.8*0.2,A2*0.8*0.3-
2000,A2*0.8*0.4-7000)
Lors de l'utilisation de la fonction RECHERCHEV. pour la recherche inversée, nous utiliserons la structure IF{1, 0} pour terminer la reconstruction des colonnes de données de la table, de sorte que la valeur de requête cible de VLOOKUP apparaisse dans la première colonne de la plage de requête. Par exemple, dans la figure ci-dessous, puisque la colonne de nom se trouve à droite de la colonne de note dans la zone de source de données, nous ne pouvons pas utiliser directement RECHERCHEV pour interroger, nous utilisons donc IF{1,0} pour réorganiser les données dans les colonnes A. et C. Lorsqu'il est déterminé que True (1), affichez les données de la colonne $C$10 : $C$14, jugez comme faux (0) affichez les données de la colonne $A$10 : $A$14, construisant ainsi une nouvelle colonne avec 10 $C$. :$C$14 comme première colonne, $A $10:$A$14 est le tableau dans la deuxième colonne comme zone de recherche, afin que la fonction RECHERCHEV puisse interroger avec succès le résultat cible.
Alors voici le problème. La structure IF{1,0} ne peut spécifier que l'ordre de deux colonnes de données et ne peut pas spécifier l'ordre de plusieurs colonnes de données pour former une nouvelle zone de requête. Cela nous oblige souvent à séparer plusieurs cellules de différentes colonnes de requête. la même logique de requête définit la formule et ne peut pas faire glisser la formule de remplissage pour correspondre à la recherche de colonne. Par exemple, il n'est actuellement pas possible de faire glisser et de remplir la formule B2 dans C2. Cette faille dans la structure IF{1,0} a provoqué son échec complet par rapport à CHOOSE !
Ce qui suit est CHOOSE, qui réorganise directement les trois colonnes de données à la fois pour créer une zone de requête unifiée. La formule peut être directement glissée et remplie de B2 vers C2 :
=VLOOKUP($A2,CHOOSE({1, 2, 3},10$C$:14$C,10$A$:14$A$,10$D$10:14$D$),COLONNE(),0)
Description de la formule :
Le point clé de cette formule est que nous utilisons la structure CHOOSE{1,2,3} pour réorganiser les trois colonnes de données A10:A14, C10:C14, D10:$D14 dans le tableau en colonne 1 selon C10 : C14 et rang A10:A14 2 colonnes, l'ordre de D10:$D14 dans la troisième colonne forme une nouvelle zone de données utilisée comme zone de recherche de Vlookup. Utilisez ensuite COLUMN() pour renvoyer le nombre de colonnes dans la cellule où se trouve la formule afin de déterminer le nombre de colonnes renvoyées par la requête RECHERCHEV. Cette utilisation de la fonction CHOOSE brise considérablement la limitation selon laquelle la structure IF{1,0} ne peut échanger que les positions de deux colonnes de données pour la reconstruction. On peut dire qu'il s'agit d'une version améliorée de cette dernière !
Dans cet article, Xiaohua explique plusieurs utilisations pratiques de CHOOSE à travers une comparaison horizontale de la fonction CHOOSE et de la fonction IF. Avez-vous appris ces utilisations ? Quelles autres compétences connaissez-vous liées à la fonction CHOOSE ? N'oubliez pas de laisser un message pour communiquer et partager avec Xiaohua !
Recommandations d'apprentissage associées : Tutoriel Excel
Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!