ISOMITTED vérifie si un paramètre a été omis lors de l'appel d'une fonction LAMBDA. Elle te permet de créer des fonctions personnalisées flexibles avec des arguments optionnels et des valeurs par défaut, exactement comme les fonctions Excel natives. Disponible uniquement dans Excel 365.
Concrètement, c'est grâce à ISOMITTED que tu peux créer une fonction de calcul de remise qui applique 10% par défaut si aucun taux n'est précisé, ou une fonction de TVA qui utilise 20% en standard sauf indication contraire. Ta bibliothèque de fonctions LAMBDA devient ainsi adaptable à différents contextes sans multiplier les formules.
Syntaxe de la fonction ISOMITTED
=ISOMITTED(argument)ISOMITTED ne fonctionne que dans une fonction LAMBDA. L'utiliser directement dans une cellule (=ISOMITTED(A1)) retourne une erreur. Pour qu'un argument soit optionnel, tu dois l'entourer de crochets dans la définition LAMBDA : LAMBDA(x; [arg_optionnel]; calcul).
Comprendre chaque paramètre de la fonction ISOMITTED
argument
: le paramètre de la fonction LAMBDA que tu veux testerIl doit être déclaré comme argument optionnel en l'entourant de crochets dans la définition de ta LAMBDA : LAMBDA(x; [argument]; calcul).
Si l'utilisateur appelle la fonction sans fournir cet argument, ISOMITTED retourne VRAI et tu peux alors appliquer une valeur par défaut via SI. Si l'argument est fourni (même s'il est vide), ISOMITTED retourne FAUX.
Astuce : Place toujours les arguments optionnels en fin de liste dans ta LAMBDA, après tous les arguments obligatoires. Exemple : LAMBDA(obligatoire1; obligatoire2; [optionnel1]; [optionnel2]; calcul). Cela suit les conventions de programmation et rend ta fonction plus intuitive.
Exemples pratiques pas à pas
Commercial : fonction de remise avec taux par défaut
Tu es responsable commercial et tu veux créer une fonction réutilisable pour calculer les prix remisés. La remise standard est de 10%, mais certains clients bénéficient de conditions spéciales. ISOMITTED te permet de gérer les deux cas avec une seule fonction LAMBDA.
La formule LAMBDA de la fonction REMISE teste avec ISOMITTED(taux) si un taux a été fourni. Si oui, elle l'utilise. Sinon, elle applique 10% par défaut. Sauvegarde cette LAMBDA dans le gestionnaire de noms sous le nom REMISE pour la réutiliser dans tout le classeur.
| A | B | C | |
|---|---|---|---|
| 1 | Prix HT | Formule | Prix avec remise |
| 2 | 1 000 € | =REMISE(A2) | 900 € |
| 3 | 2 500 € | =REMISE(A3; 0,15) | 2 125 € |
| 4 | 750 € | =REMISE(A4) | 675 € |
REMISE = LAMBDA(prix; [taux]; prix * (1 - SI(ISOMITTED(taux); 0,1; taux)))Astuce de pro : Enregistre tes fonctions LAMBDA dans le Gestionnaire de noms (Formules > Définir un nom) avec une description claire. Elles deviennent disponibles dans tout le classeur, comme les fonctions Excel natives.
Comptable : calcul de TVA avec taux variable
Tu gères la comptabilité d'une entreprise qui vend des produits soumis à différents taux de TVA : 20% pour les produits standard, 5,5% pour l'alimentaire, 2,1% pour certains médicaments. Une seule fonction LAMBDA avec ISOMITTED gère tous les cas.
Quand tu écris =CALC_TTC(A2) sans préciser le taux, ISOMITTED détecte l'absence d'argument et applique le taux normal de 20%. Quand tu précises =CALC_TTC(A3; 0,055), ISOMITTED retourne FAUX et la formule utilise 5,5%. Tu n'as plus qu'une seule formule à maintenir.
| A | B | C | D | |
|---|---|---|---|---|
| 1 | Prix HT | Type produit | Formule | Prix TTC |
| 2 | 100 € | Standard | =CALC_TTC(A2) | 120 € |
| 3 | 50 € | Alimentaire | =CALC_TTC(A3; 0,055) | 52,75 € |
| 4 | 200 € | Médicament | =CALC_TTC(A4; 0,021) | 204,20 € |
CALC_TTC = LAMBDA(ht; [taux_tva]; ht * (1 + SI(ISOMITTED(taux_tva); 0,2; taux_tva)))RH : calcul du net après prélèvement à la source
Tu gères la paie et tu dois calculer le net de chaque salarié en tenant compte du prélèvement à la source. Chaque salarié a son propre taux, mais tu utilises 14% pour les simulations rapides ou quand le taux personnalisé n'est pas encore communiqué.
La combinaison LAMBDA + ISOMITTED + LET est particulièrement lisible ici : LET(taux; SI(ISOMITTED(taux_prelevement); 0,14; taux_prelevement); brut * (1 - taux)) nomme la variable taux après avoir résolu l'optionnalité, ce qui évite de répéter le SI(ISOMITTED...) si la variable est utilisée plusieurs fois dans le calcul.
| A | B | C | D | |
|---|---|---|---|---|
| 1 | Brut | Taux perso | Formule | Net |
| 2 | 3 000 € | - | =NET(A2) | 2 580 € |
| 3 | 4 500 € | 11% | =NET(A3; 0,11) | 4 005 € |
| 4 | 2 200 € | - | =NET(A4) | 1 892 € |
NET = LAMBDA(brut; [taux_prelevement]; LET(taux; SI(ISOMITTED(taux_prelevement); 0,14; taux_prelevement); brut * (1 - taux)))Astuce de pro : Combine ISOMITTED avec LET pour éviter de répéter SI(ISOMITTED(x); défaut; x) quand la variable intervient plusieurs fois dans le calcul. LET te permet de la nommer une fois et de l'utiliser partout dans l'expression.
Développeur de solutions : références produit adaptables
Tu crées un système de référencement de produits où le format peut être simple (juste le numéro) ou enrichi (avec préfixe et/ou suffixe). Plutôt que trois fonctions distinctes, une seule LAMBDA avec deux arguments optionnels gère les trois niveaux d'utilisation.
Cette approche de dégradation progressive rend tes fonctions accessibles à tous les niveaux : les utilisateurs simples ignorent les paramètres avancés, les experts exploitent toute la puissance. Les deux SI(ISOMITTED(...)) testent chaque argument indépendamment pour ajouter le tiret séparateur seulement quand l'élément est présent.
| A | B | C | |
|---|---|---|---|
| 1 | Numéro | Formule | Référence finale |
| 2 | 12345 | =FORMAT_REF(A2) | 12345 |
| 3 | 67890 | =FORMAT_REF(A3; "PRD") | PRD-67890 |
| 4 | 24680 | =FORMAT_REF(A4; "SRV"; "2024") | SRV-24680-2024 |
FORMAT_REF = LAMBDA(num; [prefix]; [suffix]; SI(ISOMITTED(prefix); ""; prefix & "-") & num & SI(ISOMITTED(suffix); ""; "-" & suffix))Envie de t'entraîner sur de vrais exercices Excel ?
M'entraînerLes erreurs fréquentes avec la fonction ISOMITTED
ISOMITTED ne plante pas toute seule : elle te lâche surtout quand tu sors du cadre LAMBDA ou que tu oublies les crochets autour de l'argument optionnel. Du coup Excel le traite comme obligatoire et renvoie une erreur dès qu'on l'appelle à vide.
Deux confusions reviennent aussi : la croire interchangeable avec ESTVIDE (qui teste une cellule vide, pas un argument absent), et n'en mettre qu'une quand ta LAMBDA a plusieurs optionnels — chacun doit avoir son propre SI(ISOMITTED(...)), sinon tu récoltes un #VALEUR!.
Utiliser ISOMITTED en dehors d'une LAMBDA
=ISOMITTED(A1) directement dans une cellule retourne une erreur. ISOMITTED n'a de sens que pour tester les paramètres d'une LAMBDA : en dehors, il n'y a pas de paramètre à tester.
Solution : Encapsule toujours ISOMITTED dans une LAMBDA : MAFONCTION = LAMBDA(x; SI(ISOMITTED(x); "Défaut"; x)). Tu ne peux pas l'utiliser dans une formule ordinaire.
Oublier les crochets autour du paramètre optionnel
Si tu écris LAMBDA(x; y; calcul) sans crochets autour de y, Excel considère y comme obligatoire. Appeler =MAFONCTION(valeur) sans fournir y retourne une erreur, même si ISOMITTED est présent dans le calcul.
Solution : Déclare les paramètres optionnels entre crochets : LAMBDA(x; [y]; SI(ISOMITTED(y); 10; y)). Les crochets indiquent à Excel que l'argument peut être omis.
Confondre ISOMITTED et ESTVIDE
ISOMITTED détecte l'absence d'un argument dans l'appel de la LAMBDA. ESTVIDE teste si une cellule est vide. Si un utilisateur appelle =MAFONCTION(A1) avec A1 vide, ISOMITTED retourne FAUX (l'argument a bien été fourni, même si sa valeur est vide), tandis que ESTVIDE(A1) retournerait VRAI.
Solution : Utilise ISOMITTED pour détecter l'absence totale d'argument, et ESTVIDE pour détecter une valeur vide fournie. Si tu veux couvrir les deux cas, combine-les : SI(OU(ISOMITTED(x); ESTVIDE(x)); valeur_defaut; x).
Ne pas gérer tous les arguments optionnels
Quand une LAMBDA a plusieurs paramètres optionnels, chacun doit être testé individuellement. Écrire LAMBDA(x; [y]; [z]; x * y * z) sans ISOMITTED produit des erreurs #VALEUR! quand y ou z sont omis.
Solution : Teste chaque argument optionnel séparément : LAMBDA(x; [y]; [z]; x * SI(ISOMITTED(y); 1; y) * SI(ISOMITTED(z); 1; z)). Ne suppose jamais qu'un argument optionnel sera fourni.
ISOMITTED vs ESTVIDE vs SI vs LET
ISOMITTED a un rôle très précis : tester l'absence d'argument dans une LAMBDA. Les autres fonctions de cette comparaison s'utilisent dans un contexte plus large.
| Critère | ISOMITTED | ESTVIDE | SI | LET |
|---|---|---|---|---|
| Contexte d'utilisation | Dans une LAMBDA uniquement | Partout (cellules) | Partout | Partout |
| Ce qu'elle teste | Absence d'argument LAMBDA | Cellule vide | Condition logique | Ne teste rien, définit des variables |
| Retour | VRAI / FAUX | VRAI / FAUX | Valeur selon condition | Résultat du calcul final |
| Cas d'usage principal | Arguments optionnels + valeurs par défaut | Vérifier une saisie utilisateur | Logique conditionnelle générale | Lisibilité et performance des formules |
Questions fréquentes sur la fonction ISOMITTED
Comment créer un argument optionnel dans une fonction LAMBDA ?
Déclare l'argument entre crochets dans la définition LAMBDA : LAMBDA(x; [optionnel]; calcul). Puis utilise ISOMITTED dans le calcul pour détecter son absence : SI(ISOMITTED(optionnel); valeur_par_défaut; optionnel).
Par exemple : LAMBDA(prix; [remise]; prix * (1 - SI(ISOMITTED(remise); 0,1; remise))) crée une fonction de remise avec 10% par défaut.
Quelle est la différence entre ISOMITTED et ESTVIDE ?
ISOMITTED vérifie si un argument n'a pas été passé à une LAMBDA (l'argument est absent de l'appel). ESTVIDE vérifie si une cellule est vide (une cellule vide peut très bien être passée comme argument).
Si un utilisateur appelle =MAFONCTION(A1) avec A1 vide, ISOMITTED retourne FAUX (l'argument a été fourni) mais ESTVIDE(A1) retournerait VRAI.
Peut-on avoir plusieurs arguments optionnels dans une LAMBDA ?
Oui. Place les arguments optionnels en fin de liste et teste chacun individuellement avec ISOMITTED. Exemple : LAMBDA(x; [opt1]; [opt2]; x * SI(ISOMITTED(opt1); 1; opt1) * SI(ISOMITTED(opt2); 1; opt2)).
Ne suppose jamais qu'un argument sera fourni : teste-le explicitement même si tu penses que les utilisateurs le fourniront toujours.
ISOMITTED fonctionne-t-il avec les fonctions Excel natives comme SOMME ?
Non. ISOMITTED est exclusivement réservé aux fonctions LAMBDA personnalisées. Les fonctions Excel natives gèrent déjà leurs arguments optionnels en interne selon leur propre logique.
Isomitted te permet de reproduire ce comportement dans tes propres fonctions pour offrir la même expérience utilisateur.
Comment combiner ISOMITTED avec LET pour des formules lisibles ?
Utilise LET pour nommer le résultat du SI(ISOMITTED(...)) une seule fois, puis utilise ce nom dans le reste du calcul. Par exemple : LAMBDA(prix; [taux]; LET(t; SI(ISOMITTED(taux); 0,1; taux); prix * (1 - t))).
Cela évite de répéter SI(ISOMITTED(taux); 0,1; taux) plusieurs fois si taux intervient à plusieurs endroits dans la formule.
ISOMITTED fonctionne-t-elle dans Google Sheets ?
Non. ISOMITTED est une fonction propre à Excel 365 et n'est pas disponible dans Google Sheets. Google Sheets a sa propre implémentation de LAMBDA mais avec une syntaxe différente pour les arguments optionnels.
Si tu dois partager des classeurs avec des utilisateurs de Google Sheets, prévois des alternatives sans ISOMITTED.
Pour aller plus loin
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
