LA FONCTION CHOISIR() POUR ECRIRE UN JOUR EN LETTRES OU REMPLACER DES FONCTIONS SI IMBRIQUEES SUR EXCEL
Dans ce tutoriel, je vous présente la fonction CHOISIR() d’Excel, qui permet de récupérer un élément parmi une liste en fonction de son numéro d’index. Nous verrons ainsi comment utiliser cette fonction pour écrire un jour de la semaine en toute lettre, ou encore comment remplacer des fonctions imbriquées sur Excel.
Téléchargement
Vous pouvez télécharger le fichier d'exemple de cet article en cliquant sur le lien suivant :
Tutoriel Vidéo
Vous trouverez très régulièrement de nouvelles vidéos sur la chaîne, alors pensez à vous abonner pour ne manquer aucune astuce et devenir rapidement un pro d’Excel (cliquez-ici) !
1. Présentation de la fonction CHOISIR()
La fonction CHOISIR() permet d’afficher une valeur en fonction d’un résultat donné.
=CHOISIR(no_index; valeur_1; [valeur_2; …, valeur_254])
Où :
- no_index : correspond au numéro de rang qui va déterminer le résultat à retourner dans la liste des argument suivant. Il s’agit d’un valeur numérique entière comprise en 1 et 254 (si l’argument est une valeur décimale, alors celui-ci sera arrondi à l’entier inférieur)
- valeur_1, [valeur_2, …, valeur_254] : ensemble des retours possibles. Il est possible de mettre en place jusque 254 retours, lesquels sont choisi directement en fonction de la valeur de l’argument no_index
Ainsi :
- Si no_index est égal à 1, alors la valeur retourné sera celle saisi dans l’argument valeur_1
- Si no_index est égal à 12, alors la valeur retourné sera celle saisi dans l’argument valeur_12
- Et ainsi de suite…
L’argument no_index est obligatoire, de même que la première valeur de choix. Ensuite, les autres valeurs sont facultatives, et leur nombre dépend bien évidemment à la valeur maximale que nous souhaitons utiliser.
Attention, comme nous venons de le voir, l’argument no_index doit être un entier compris entre 1 et 254, dans le cas contraire, la fonction retourne une erreur #VALEUR!
2. Exemple : déterminer le jour de la semaine
À présent, voyons une série d’exemples qui vont nous permettre de bien comprendre l’intérêt de la fonction CHOISIR(), et surtout comment utiliser cette dernière.
Tout d’abord, nous allons voir comment utiliser la fonction CHOISIR() pour afficher en toutes lettres le jour de la semaine qui correspond à une date donnée.
Comme nous venons de le voir dans la présentation de la fonction CHOISIR(), l’argument no_index doit être un nombre entier compris entre 1 et 254.
Dans notre exemple, nous ne pouvons donc pas nous contenter d’utiliser le résultat de la cellule B8 dans laquelle nous avons au préalable saisi une date.
Nous allons en effet devoir passer par une fonction intermédiaire qui va nous permettre de récupérer le jour de la semaine correspondant à la date donnée sous la forme d’un nombre compris entre 1 et 7, (1 pour lundi et 7 pour vendredi).
Cette fonction est la fonction JOURSEM() :
Comme vous pouvez le constater sur la capture ci-dessus, celle-ci attend simplement deux arguments :
- Tout d’abord la date dont nous souhaitons extraire le jour de la semaine et qui est ici saisie dans la cellule B8,
- Ensuite pour le second argument, nous devons choisir le type de retour que nous souhaitez récupérer. Ici étant donné que nous souhaitons que le chiffre 1 exprime le lundi et que le dernier chiffre (le 7) exprime le dimanche, nous choisir pour valeur de ce second argument le chiffre 7
=JOURSEM(B8;2)
Le jour de la semaine qui correspond à la date du 31 mars de l’année 2020 est donc le mardi, exprimé par la fonction JOURSEM() par le chiffre 2.
À présent, pour récupérer directement le jour de la semaine en toutes lettres, il ne reste plus qu’à encapsuler ce résultat dans la fonction CHOISIR(), en prenant bien soin de saisir chacun des jours de la semaine entre guillemets et en commençant par le lundi :
=CHOISIR(JOURSEM(B8;2);"lundi";"mardi";"mercredi";"jeudi";"vendredi";"samedi";"dimanche")
Ce qui nous donne le résultat suivant :
3. Exemple : remplacer des SI() imbriqués avec la fonction CHOSIR()
Maintenant, pour ce second exemple, voyons comment la fonction CHOISIR() peut nous permettre de remplacer un ensemble de fonctions SI() imbriquées les unes dans les autres.
Pour cela, nous partons de l’exemple suivant, dans lequel nous retrouvons un extrait de quelques lignes d’une facture :
Le montant de TVA de chacune des lignes de cette facture dépend d’un code allant de 1 à 3, et dont nous retrouvons la correspondance dans la table située sur la droite.
La formule permettant de récupérer le taux à appliquer en fonction du code est la suivante :
=E13*SI(D13=1;$K$13;SI(D13=2;$K$14;$K$15))
Comme vous pouvez le constater, cette formule n’est pas très claire et nécessite de bien suivre le cheminement de résolution pour en comprendre le fonctionnement.
Heureusement, la fonction CHOISIR() va encore une fois nous être forte utile en simplifiant grandement la construction de la formule.
Il suffit en effet d’utiliser le code de TVA de la ligne en cours d’étude en tant qu’argument no_index (c’est-à-dire le premier argument de la fonction), puis chacun des taux correspondant les uns à la suite des autres.
=E13*CHOISIR(D13;$K$13;$K$14;$K$15)
Attention, il existe toutefois une subtilité à respecter par rapport au type de références à utiliser :
- Étant donné que nous allons souhaiter étendre la formule sur les autres lignes de la formule, la référence à la cellule dans laquelle se trouve le code TVA doit être une référence relative (sans symboles $),
- Tandis que nous devons figer les références aux cellules dans lesquelles se trouve saisis les codes de TVA pour ne pas que les cellules se décalent également vers le bas lorsque nous allons étendre les formules. Pour cela nous utilisons des références dites absolues en appuyant sur la touche [F4] du clavier, ce qui a pour effet d’ajouter automatiquement des symboles dollar (« $ ») devant la lettre et le numéro de coordonnées de la cellule.
Pour tout savoir sur les différentes types de cellules (relatives, absolues et mixtes), vous pouvez consulter l’article correspondant sur excelformation.fr en cliquant ici.
3. Exemple : Utiliser des plages de cellules
Pour notre dernier exemple, nous allons voir une petite particularité de la fonction CHOISIR() : en effet celle-ci, peut bien évidemment renvoyer des résultats numériques, comme nous l’avons déjà vu dans les exemples précédents, mais elle peut tout aussi bien renvoyer des références à cellules, ou même des plages représentant des ensembles de cellules.
À titre d’illustration, nous partons du tableau suivant dans lequel sont saisis les montants des ventes mensuelles de trois commerciaux pour l’année 2019 :
Ensuite, nous allons désirer connaître le montant annuel que cela présente, pour un commercial donné en paramètre :
Bien évidemment, pour récupérer le montant des ventes annuelles, nous allons utiliser la fonction SOMME().
Mais comment faire pour récupérer les coordonnées de la plage que nous souhaitons utiliser pour réaliser cette somme ?
Tout simplement grâce à la fonction CHOISIR() :
=SOMME(CHOISIR(G13;B13:B24;C13:C24;D13:D24))
Ici, nous retrouvons :
- En cellule G13 le numéro de la colonne pour laquelle nous souhaitons effectuer la somme,
- Ensuite, les coordonnées de chacune des colonnes correspondantes
Ensuite, pour suivre le cheminement de résolution, nous pouvons utiliser l’outil d’évaluation de formule :
Ce qui permet de se rendre compte que la fonction CHOISIR() retourne effectivement les coordonnées de la plage des cellules correspondantes à la seconde colonne :