#ERROR! dans une formule Airtable : les 4 causes (et comment les corriger)
Un #ERROR! dans une formule Airtable vient presque toujours de 4 causes : champ vide, division par zéro, Lookup en tableau ou mélange de types. Le réflexe IF() qui les corrige.
Vous avez écrit une formule, tout semblait bon, et pourtant votre champ affiche un affreux #ERROR!. C'est l'un des problèmes les plus fréquents sur Airtable, et l'un des plus frustrants, parce que le message ne dit pas pourquoi.
J'ai compilé des dizaines de cas rencontrés par des utilisateurs (et par mes clients). On retombe toujours sur les mêmes coupables. Voici les 4 causes principales, et le réflexe qui règle la grande majorité des cas.

Cause n°1 : un champ vide
C'est de loin la plus fréquente. Vous faites un calcul sur un champ qui, pour certains enregistrements, est vide : une date non renseignée, un nombre absent, un champ pas encore rempli. Airtable ne sait pas quoi calculer, et renvoie #ERROR!.
Cause n°2 : une division par zéro
Diviser par zéro (ou par un champ vide, ce qui revient au même) est impossible. Dès qu'un dénominateur vaut zéro, la formule casse. Exemple typique : un « prix moyen » calculé en divisant un total par une quantité qui, parfois, est à zéro.
Cause n°3 : un Lookup qui renvoie un tableau
Celle-là piège presque tout le monde. Un champ Lookup ne renvoie pas une valeur unique, mais une liste (un tableau) de valeurs liées. Impossible de faire directement un calcul mathématique dessus. Dans ce cas, passez plutôt par un champ Rollup, qui agrège la liste en une seule valeur.

Cause n°4 : un mélange de types
Vous demandez une opération entre des types incompatibles : du texte là où la formule attend un nombre, une date traitée comme du texte. Airtable est strict là-dessus. « 12 » (texte) et 12 (nombre) ne sont pas la même chose pour lui.
Le réflexe qui règle la grande majorité des cas
La plupart de ces erreurs viennent d'une valeur manquante ou inattendue. La bonne pratique tient en une règle : testez avant de calculer.
Encapsulez votre calcul dans un IF() qui vérifie que le champ est bien rempli avant de faire l'opération :
IF({Montant}, {Montant} * 1.21, "")Traduction : s'il y a un montant, calcule, sinon n'affiche rien. Pas de valeur, pas de calcul, pas d'erreur.
Pour les divisions, même logique en testant le dénominateur :
IF({Quantite}, {Total} / {Quantite}, 0)Bonnes habitudes pour ne plus voir de #ERROR!
- Testez systématiquement vos champs avec
IF()avant tout calcul. - Pour les champs liés, préférez un Rollup à un Lookup dès que vous voulez calculer.
- Vérifiez les types : un champ « nombre » doit être un nombre, pas du texte.
- Pensez aux enregistrements incomplets. Votre formule doit fonctionner même quand les données manquent.
En résumé
Dans 9 cas sur 10, un #ERROR! vient d'un champ vide, d'une division par zéro, d'un Lookup mal utilisé ou d'un mélange de types. Un simple IF() de sécurité en amont vous évite la grande majorité de ces galères.
Et vous, c'est quoi le #ERROR! qui vous a fait perdre le plus de temps ? Partagez votre formule en commentaire, on la débogue ensemble.