Qu'est-ce que la fonction ISOMITTED ?
Tu t'en sers quand tu construis tes propres fonctions LAMBDA et que tu ne veux pas écrire une version avec argument et une autre sans, juste pour couvrir le cas où l'utilisateur l'omet. ISOMITTED te laisse détecter ce cas à l'intérieur d'une seule fonction et y brancher une valeur de repli. 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
=ISOMITTED(argument)Clique sur un argument pour aller à son explication.
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.

Exemples pratiques pas à pas
Comment donner une valeur par défaut à un argument facultatif avec les fonctions ISOMITTED et LAMBDA
Tes devis partent avec une remise maison de 10 %, sauf pour les quelques clients qui ont négocié mieux et à qui tu ne peux pas appliquer le taux standard. Tu as la liste des prix hors taxes et tu veux une seule fonction qui connaisse le taux habituel sans t'empêcher d'en imposer un autre. La fonction ISOMITTED détecte que tu n'as pas précisé de taux et laisse ta fonction personnalisée retomber sur sa valeur par défaut.
- 1Dans une cellule, écris
=SI(. - 2En 1er argument : saisis le test qui vérifie si la case du taux négocié est restée vide,
C2="". C'est lui qui décide de la forme de l'appel, et ce détour reste obligatoire car passer une cellule vide à ta fonction ne revient pas à omettre l'argument, si bien qu'ISOMITTED y verrait un taux et renverrait FAUX. - 3En 2ᵉ argument : écris l'appel qui n'envoie que le prix,
REMISE(B2). REMISE n'est pas une fonction native, c'est ta LAMBDA enregistrée dans le Gestionnaire de noms, et faute de second argument elle retombe sur sa remise maison de 10 %. - 4En 3ᵉ argument : écris l'appel qui transmet cette fois le taux négocié,
REMISE(B2; C2). Le taux étant bien fourni, ISOMITTED renvoie FAUX à l'intérieur de REMISE et c'est la valeur de la ligne qui l'emporte sur les 10 % par défaut. - 5Ferme la parenthèse et appuie sur Entrée, puis recopie la formule vers le bas pour appliquer la même règle à chaque client.
=SI(C2=""; REMISE(B2); REMISE(B2; C2))REMISE n'existe pas dans Excel : c'est ta propre fonction, écrite avec LAMBDA puis enregistrée sous ce nom dans le Gestionnaire de noms (onglet Formules), ce qui la rend appelable partout comme une fonction native. La colonne « Taux négocié » décide ensuite de la forme de l'appel : quand elle est vide, la formule appelle REMISE(B2) sans second argument, ISOMITTED renvoie VRAI et la remise maison de 10 % s'applique toute seule, si bien que les 1 000 € de Durand tombent à 900 €. Quand un taux est saisi, l'appel devient REMISE(B3; C3), ISOMITTED renvoie FAUX et ce sont les 15 % de Lefèvre qui l'emportent.Comment tester deux arguments facultatifs avec les fonctions ISOMITTED et LAMBDA
Les références produit de ton catalogue n'ont pas toutes la même forme : certaines se résument au numéro, d'autres portent un préfixe de gamme, et les dernières ajoutent l'année en fin de code. Tu veux une seule fonction capable des trois formats plutôt que trois formules à maintenir en parallèle. La fonction ISOMITTED teste séparément chaque élément facultatif et n'ajoute le tiret de séparation que si l'élément est réellement là.
- 1Dans une cellule, écris
=SI(. - 2En 1er argument : saisis le test qui regarde si la case du préfixe est vide,
B2="". Ce test aiguille toute la formule, car une cellule vide n'équivaut pas à un argument absent et ISOMITTED, appelé sur elle, renverrait FAUX. - 3En 2ᵉ argument : écris l'appel réduit au seul numéro,
FORMAT_REF(A2). FORMAT_REF est ta LAMBDA enregistrée dans le Gestionnaire de noms, et sur ce numéro nu ses deux tests ISOMITTED voient le préfixe et le suffixe comme omis, ne laissant que la référence brute. - 4En 3ᵉ argument : écris le second SI qui départage les deux formats restants,
SI(C2=""; FORMAT_REF(A2; B2); FORMAT_REF(A2; B2; C2)). Quand seul le préfixe est saisi, l'appel ne transmet que lui et le suffixe reste omis ; quand les deux sont là, l'appel les envoie ensemble et FORMAT_REF décroche le format complet. - 5Ferme la parenthèse de la fonction SI principale et appuie sur Entrée, puis recopie la formule sur toute la colonne des références. Celles du SI imbriqué et du dernier FORMAT_REF se sont déjà refermées à l'étape précédente.
=SI(B2=""; FORMAT_REF(A2); SI(C2=""; FORMAT_REF(A2; B2); FORMAT_REF(A2; B2; C2)))FORMAT_REF n'existe pas dans Excel : c'est ta propre fonction, écrite avec LAMBDA puis enregistrée sous ce nom dans le Gestionnaire de noms (onglet Formules). Chaque argument facultatif y reçoit son propre test, ce qui permet de les omettre l'un sans l'autre, et les deux SI imbriqués de l'appel choisissent la forme à envoyer selon ce que contiennent les colonnes. Sur la première ligne, les deux cellules sont vides, les deux appels à ISOMITTED renvoient VRAI et il ne reste que le numéro nu. La deuxième ne transmet que le préfixe, donc seul le tiret de tête apparaît, et la troisième transmet les deux et décroche le format complet.Comment résoudre un argument facultatif une seule fois avec les fonctions ISOMITTED et LET
Tu simules les nets de l'équipe avant l'envoi de la paie, et tous les taux personnalisés de prélèvement ne te sont pas encore remontés. Tu veux un taux de secours de 14 % pour avancer, tout en gardant la possibilité d'imposer le vrai taux dès qu'il arrive. La fonction ISOMITTED s'associe ici à la fonction LET, qui nomme le taux une seule fois et évite de répéter le même test dans toute la formule.
- 1Dans une cellule, écris
=SI(. - 2En 1er argument : saisis le test qui contrôle si la case du taux connu est vide,
C2="". Il choisit la forme de l'appel, et le passage par SI est obligatoire car une cellule vide transmise à ta fonction serait vue comme un taux fourni, ISOMITTED renvoyant alors FAUX. - 3En 2ᵉ argument : écris l'appel réduit au brut,
NET(B2). NET est ta LAMBDA enregistrée dans le Gestionnaire de noms, et sans second argument elle applique son taux de secours de 14 % le temps que le vrai taux remonte. - 4En 3ᵉ argument : écris l'appel qui transmet le taux connu,
NET(B2; C2). Le taux étant fourni, ISOMITTED renvoie FAUX dans NET et c'est ce taux réel qui sert au calcul du net. - 5Ferme la parenthèse et appuie sur Entrée, puis recopie la formule sur toute la colonne des salariés.
=SI(C2=""; NET(B2); NET(B2; C2))NET n'existe pas dans Excel : c'est ta propre fonction, écrite avec LAMBDA puis enregistrée sous ce nom dans le Gestionnaire de noms (onglet Formules). La colonne « Taux connu » décide de la forme de l'appel, et la fonction LET nomme ensuite le taux une bonne fois pour toutes après que la fonction ISOMITTED a tranché entre le taux fourni et les 14 % par défaut. Le brut d'Ana, dont le taux n'est pas encore remonté, passe ainsi à 2 580 €, tandis qu'Inès part sur ses 11 % réels ; le calcul final manipule un taux déjà résolu au lieu de refaire le test à chaque endroit où il intervient.
Les 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
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.
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.
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.
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.
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.
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
Continue sur ta lancée après la fonction ISOMITTED : la leçon associée, un modèle prêt à l'emploi et le guide pour progresser.
Tout voir



