CHOISIR (CHOOSE en anglais) est la fonction Excel qui sélectionne une valeur dans une liste en fonction d'un numéro d'index. C'est comme avoir un menu à options : tu donnes le numéro de ton choix, elle te retourne la valeur correspondante. Simple, lisible, et redoutablement efficace pour remplacer des SI imbriqués.
Concrètement, c'est elle qui convertit un numéro de priorité client en label VIP ou Standard, calcule les jours de congés selon l'ancienneté, assigne le bon transporteur selon la zone géographique, ou sélectionne dynamiquement une plage à analyser dans un tableau de bord.
Syntaxe de la fonction CHOISIR
=CHOISIR(no_index; valeur1; [valeur2]; [valeur3]; ...)Comprendre chaque paramètre de la fonction CHOISIR
L'index vient toujours en premier, puis tu alignes tes valeurs dans l'ordre : valeur1 répond à l'index 1, valeur2 à l'index 2, et ainsi de suite. Seules no_index et valeur1 sont obligatoires, tout le reste s'empile à ta guise jusqu'à 253 valeurs en plus.
Garde en tête que ce sont les positions qui comptent, pas des conditions : si tu sautes un cran dans ta numérotation, CHOISIR n'a rien à te renvoyer.
no_index
: le numéro qui indique quelle valeur tu veux récupérer dans ta listeIl doit être compris entre 1 et 254. Tu peux mettre un nombre directement comme 3, une référence de cellule comme A1, ou même une formule comme JOUR.SEMAINE(AUJOURDHUI()) pour obtenir le jour de la semaine actuel.
Si l'index est un nombre décimal, Excel tronque automatiquement la partie décimale sans arrondir : 2,9 devient 2.
Attention : Si ton index est 0, négatif, ou supérieur au nombre de valeurs fournies, Excel affiche l'erreur #VALEUR!. Pense à vérifier que ton index reste dans les limites.
valeur1
: la première valeur de ta liste, retournée si l'index est `1`Ça peut être un texte entre guillemets comme "Lundi", un nombre comme 100, une référence de cellule comme B2, ou même une plage entière comme A1:A10.
valeur2, valeur3, ...
: tu peux ajouter jusqu'à 253 valeurs supplémentaires(facultatif)Chacune correspond à un index : valeur2 pour l'index 2, valeur3 pour l'index 3, etc. Plus tu as de valeurs, plus ta fonction devient flexible. Chaque valeur doit être séparée par un point-virgule.
Pas envie d'écrire la formule CHOISIR à la main ?
Génère-la avec notre IAExemples pratiques pas à pas
Commercial : afficher le statut d'un client selon sa priorité
Tu es commercial et tu as classé tes clients en 3 priorités : 1 (VIP), 2 (Important), 3 (Standard). Tu veux afficher automatiquement un label selon le numéro de priorité pour rendre ton CRM plus lisible.
Plutôt que d'utiliser des SI imbriqués comme =SI(B2=1;"VIP";SI(B2=2;"Important";"Standard")), CHOISIR rend ta formule beaucoup plus lisible et facile à maintenir.
| A | B | C | |
|---|---|---|---|
| 1 | Client | Priorité | Statut |
| 2 | Entreprise ABC | 1 | VIP |
| 3 | Société XYZ | 3 | Standard |
| 4 | Client Pro | 2 | Important |
| 5 | Startup Tech | 1 | VIP |
=CHOISIR(B2; "VIP"; "Important"; "Standard")Astuce de pro : Si la politique de priorité change, tu n'as qu'à modifier les valeurs dans CHOISIR. La logique reste centralisée en un seul endroit.
RH : calculer les jours de congés selon l'ancienneté
Tu travailles aux ressources humaines et tu dois calculer le nombre de jours de congés de chaque employé selon leur niveau d'ancienneté (1 = débutant, 2 = intermédiaire, 3 = senior, 4 = expert).
Cette approche te permet de centraliser tes règles métier dans une seule formule. Si la politique de congés change, tu n'as qu'à modifier les valeurs dans CHOISIR.
| A | B | C | |
|---|---|---|---|
| 1 | Employé | Niveau | Jours de congés |
| 2 | Marie Dupont | 1 | 25 |
| 3 | Pierre Martin | 3 | 30 |
| 4 | Sophie Bernard | 2 | 27 |
| 5 | Lucas Petit | 4 | 33 |
=CHOISIR(B2; 25; 27; 30; 33)Logisticien : sélectionner le transporteur selon la zone de livraison
Tu es logisticien et tu dois assigner automatiquement le bon transporteur selon la zone géographique (1 = Nord, 2 = Sud, 3 = Est, 4 = Ouest). Chaque zone a son transporteur attitré.
Avec CHOISIR, tu automatises l'assignation des transporteurs. Plus besoin de chercher manuellement quel transporteur correspond à quelle zone.
| A | B | C | |
|---|---|---|---|
| 1 | Commande | Zone | Transporteur |
| 2 | CMD-001 | 1 | TransExpress |
| 3 | CMD-002 | 3 | RapidoColis |
| 4 | CMD-003 | 2 | SudLogistique |
| 5 | CMD-004 | 4 | OuestFret |
=CHOISIR(B2; "TransExpress"; "SudLogistique"; "RapidoColis"; "OuestFret")Contrôleur de gestion : sélectionner dynamiquement une plage à analyser
Tu es contrôleur de gestion et tu veux créer un tableau de bord où l'utilisateur peut choisir quel département analyser (1 = Ventes, 2 = Marketing, 3 = Production). CHOISIR sélectionne dynamiquement la bonne plage à sommer.
C'est une technique avancée très puissante : CHOISIR peut retourner des plages entières, pas seulement des valeurs. Tu peux combiner ça avec SOMME, MOYENNE, MAX ou n'importe quelle fonction d'agrégation.
| A | B | |
|---|---|---|
| 1 | Département choisi | Total budget |
| 2 | 1 (Ventes) | 125 000 € |
| 3 | 2 (Marketing) | 85 000 € |
| 4 | 3 (Production) | 210 000 € |
=SOMME(CHOISIR(A2; B10:B20; C10:C20; D10:D20))Astuces avancées avec CHOISIR
Obtenir le nom du jour de la semaine en français
Une utilisation classique : convertir une date en nom de jour en français avec =CHOISIR(JOUR.SEMAINE(A1); "Dimanche"; "Lundi"; "Mardi"; "Mercredi"; "Jeudi"; "Vendredi"; "Samedi"). JOUR.SEMAINE retourne 1 pour dimanche, 2 pour lundi, etc.
CHOISIR transforme ça en texte lisible sans aucun SI imbriqué.
Créer un tri personnalisé par ordre logique
Tu peux combiner CHOISIR avec EQUIV pour attribuer un rang personnalisé à des étiquettes qui ne trient pas bien alphabétiquement : =CHOISIR(EQUIV(A1; {"Faible";"Moyen";"Élevé"}; 0); 1; 2; 3) convertit les niveaux en 1, 2, 3 pour pouvoir trier dans cet ordre.
Utile pour des tableaux de bord avec des échelles de priorité ou de risque.
Appliquer un coefficient selon un niveau
Tu peux mettre des formules entières comme valeurs dans CHOISIR : =CHOISIR(A1; B2*1,2; B2*1,5; B2*2) applique un coefficient différent à B2 selon la valeur de A1.
Parfait pour des calculs de remise, de majoration tarifaire ou de bonus selon un palier.
Envie de t'entraîner sur de vrais exercices Excel ?
M'entraînerLes erreurs fréquentes avec la fonction CHOISIR
Avec CHOISIR, les ennuis tournent presque tous autour du numéro d'index que tu lui donnes. Un index qui tombe à 0, qui passe en négatif ou qui dépasse ta liste de valeurs déclenche un #VALEUR!, et un index calculé qui sort en décimal se fait tronquer en silence (2,8 devient 2).
Le dernier piège est moins visible : on l'emploie là où RECHERCHEV serait plus juste, parce qu'on confond une liste figée écrite dans la formule avec une vraie table de référence.
#VALEUR! : index hors limites
C'est l'erreur la plus fréquente avec CHOISIR. Elle survient quand l'index est 0, négatif, ou supérieur au nombre de valeurs fournies. Par exemple, si tu as 3 valeurs mais que ton index vaut 5.
Solution : Vérifie que ton index reste entre 1 et le nombre de valeurs. Tu peux ajouter une sécurité : =SI(A1>3; "Erreur"; CHOISIR(A1; "A"; "B"; "C")) pour afficher un message personnalisé au lieu d'une erreur.
Index décimal tronqué : résultat inattendu
Si ton index est un nombre décimal comme 2,8, Excel le tronque automatiquement sans arrondir. 2,8 devient 2, et 2,1 devient aussi 2. Cela peut créer des résultats inattendus si ton index est calculé.
Solution : Si tu veux arrondir au lieu de tronquer, utilise =CHOISIR(ARRONDI(A1;0); ...) ou =CHOISIR(ENT(A1); ...) pour être explicite sur le comportement.
Confusion entre CHOISIR et RECHERCHEV
CHOISIR fonctionne avec des valeurs fixes que tu écris dans la formule, tandis que RECHERCHEV cherche dans une table existante. Les confondre mène à des solutions mal adaptées.
Solution : Utilise CHOISIR quand tu as quelques valeurs fixes (jours de la semaine, noms de mois, statuts). Utilise RECHERCHEV quand tes données changent fréquemment ou sont dans un tableau séparé.
CHOISIR vs SI vs INDEX vs RECHERCHEV
Prends CHOISIR quand tu as une poignée de valeurs fixes à écrire toi-même (jours, statuts, paliers) : c'est elle qui reste la plus lisible. Dès que tu enchaînes des conditions un peu tordues, SI redevient plus souple ; et quand tes données vivent dans un vrai tableau qui grossit, c'est vers INDEX ou RECHERCHEV qu'il faut basculer.
Seules CHOISIR et INDEX savent te renvoyer une plage entière, pas juste une valeur, ce qui les rend précieuses pour piloter dynamiquement un SOMME ou une MOYENNE.
| Critère | CHOISIR | SI | INDEX | RECHERCHEV | Cas d'usage principal |
|---|---|---|---|---|---|
| Lisibilité | ⭐⭐⭐ | ⭐⭐ | ⭐⭐ | ⭐⭐ | |
| Valeurs fixes | ✅ Idéal | ✅ Possible | ❌ Non adapté | ❌ Non adapté | |
| Grandes tables | ❌ Pas pratique | ❌ Pas pratique | ✅ Très bien | ✅ Très bien | |
| Flexibilité | ⭐⭐ | ⭐⭐⭐ | ⭐⭐⭐ | ⭐⭐ | |
| Retourne des plages | ✅ Oui | ❌ Non | ✅ Oui | ❌ Non | |
| Quelques choix fixes | Conditions complexes | Grandes plages | Tables de référence | Usage |
Questions fréquentes sur la fonction CHOISIR
Quelle est la différence entre CHOISIR et INDEX ?
CHOISIR prend des valeurs individuelles séparées par des points-virgules, tandis qu'INDEX travaille sur une plage de cellules. CHOISIR est plus lisible quand tu as quelques valeurs fixes, mais INDEX est plus flexible pour de grandes plages.
Peut-on utiliser CHOISIR avec des formules comme valeurs ?
Oui. Tu peux passer des formules entières comme valeurs. Par exemple : =CHOISIR(A1; SOMME(B:B); MOYENNE(C:C); MAX(D:D)). Excel calculera la formule correspondant à l'index choisi.
Que se passe-t-il si l'index est un nombre décimal ?
Excel tronque automatiquement la partie décimale. Donc CHOISIR(2,9; "A"; "B"; "C") retournera "B" car 2,9 devient 2. Il n'y a pas d'arrondi, juste une troncature.
Combien de valeurs maximum peut-on passer à CHOISIR ?
Tu peux passer jusqu'à 254 valeurs après l'index. L'index peut donc aller de 1 à 254. Au-delà, tu ferais mieux d'utiliser INDEX sur une plage.
CHOISIR peut-elle retourner des plages pour d'autres formules ?
Oui, c'est une technique avancée très puissante. =SOMME(CHOISIR(1; A1:A10; B1:B10; C1:C10)) permet de sommer dynamiquement différentes colonnes selon l'index choisi.
Comment déboguer une erreur avec CHOISIR ?
Teste d'abord ton index tout seul dans une cellule pour vérifier sa valeur. Le problème vient souvent d'un calcul d'index qui donne un résultat inattendu (décimal, négatif ou hors limite). Une fois l'index confirmé, vérifie que tu as bien autant de valeurs que la valeur maximale possible de l'index.
Pour aller plus loin
Les fonctions similaires : INDEX, SI, RECHERCHEV, EQUIV, DECALER
Bloqué sur une formule Excel ?
Pose ta question à notre assistant Excel IA, il te sort la bonne formule en quelques secondes.
Essayer l'assistant IAGratuit · 10 questions par mois

