Retour aux fonctions

IF

Renvoie une valeur si une expression logique est VRAIE et une autre si elle est FAUSSE.

LogicalIF(logical_expression, value_if_true, value_if_false)

IF (SI dans un Google Sheets en français) vérifie une condition et renvoie une valeur si elle est vraie et une autre si elle est fausse. C'est le fondement de la logique conditionnelle dans Google Sheets : signaler les factures en retard, attribuer des mentions, calculer des primes, afficher un message uniquement quand quelque chose manque.

Syntaxe

=IF(logical_expression, value_if_true, [value_if_false])
  • logical_expression : Le test. Tout ce qui s'évalue en TRUE ou FALSE, comme A1 > 10, B2 = "Payé" ou ISBLANK(C3).
  • value_if_true : Ce qu'il faut renvoyer quand le test est TRUE.
  • value_if_false [Facultatif] : Ce qu'il faut renvoyer quand le test est FALSE. Si vous l'omettez, IF renvoie FALSE (le mot), ce qui est rarement ce que l'on veut. Passez "" pour renvoyer une cellule vide.

Exemples de base

=IF(A1 > 10, "Supérieur à 10", "10 ou moins")

Renvoie un texte selon la valeur de A1.

=IF(B2 = "Payé", "", "Envoyer un rappel")

N'affiche rien pour les factures payées et un rappel sinon. Les comparaisons de texte ne tiennent pas compte de la casse : "payé" correspond à "Payé".

=IF(C2 > 100000, C2 * 0.1, C2 * 0.05)

Renvoie une commission de 10 % au-dessus de 100 000 et de 5 % sinon. Les résultats peuvent être des calculs, pas seulement du texte.

Combiner des conditions avec AND, OR et NOT

IF prend un seul test, mais ce test peut en combiner plusieurs :

=IF(AND(B2 > 50, C2 = "Actif"), "Qualifié", "Non qualifié")

AND exige toutes les conditions. OR en exige au moins une. NOT inverse un résultat.

=IF(OR(D2 = "Or", D2 = "Platine"), "VIP", "Standard")

IF imbriqués : plus de deux issues

Placez un autre IF dans la branche « faux » pour traiter d'autres cas :

=IF(A1 >= 90, "A", IF(A1 >= 80, "B", IF(A1 >= 70, "C", "F")))

IF vérifie dans l'ordre et s'arrête à la première condition vraie : l'ordre compte donc, testez d'abord le seuil le plus élevé. Au-delà de trois ou quatre niveaux, les IF imbriqués deviennent difficiles à lire et à maintenir. Utilisez plutôt IFS, ou un tableau de correspondance avec VLOOKUP/XLOOKUP en correspondance approximative.

Formules pratiques

Gérer les cellules vides

=IF(A2 = "", "", B2 * C2)

Laisse le résultat vide quand l'entrée est vide, au lieu d'afficher 0 ou une erreur. Vous pouvez aussi tester avec ISBLANK(A2).

Appliquer IF à toute une colonne

Entourez-la de ARRAYFORMULA pour remplir chaque ligne avec une seule formule :

=ARRAYFORMULA(IF(A2:A = "", "", IF(B2:B > 100, "Élevé", "Faible")))

Vérifier les erreurs

=IF(ISERROR(A1 / B1), "n/d", A1 / B1)

Pour ce cas, IFERROR est plus courte : =IFERROR(A1 / B1, "n/d").

Vérifier qu'une valeur existe

=IF(COUNTIF(A:A, E2) > 0, "Trouvé", "Manquant")

Un moyen rapide de vérifier si une valeur figure dans une liste.

Comparaisons de dates

=IF(D2 < TODAY(), "En retard", "Dans les temps")

Les dates sont des nombres : on peut donc les comparer directement.

Exemple vidéo

Erreurs fréquentes

  • Texte sans guillemets. =IF(A1 = Payé, ...) donne #NAME?. Le texte doit être entre guillemets doubles : "Payé".
  • Nombres entre guillemets. =IF(A1 = "10", ...) compare avec le texte "10". Une cellule contenant le nombre 10 ne correspondra pas. Écrivez =IF(A1 = 10, ...).
  • Branche « faux » manquante. Omettre le troisième argument renvoie FALSE. Ajoutez "" ou une autre valeur.
  • Comparaisons enchaînées. =IF(5 < A1 < 10, ...) ne fonctionne pas. Utilisez AND(A1 > 5, A1 < 10).
  • Mauvais ordre dans des IF imbriqués. Tester >= 70 avant >= 90 fait de toutes les bonnes notes des C.
  • Mauvais nombre d'arguments. Généralement une parenthèse ou une virgule mal placée. Sheets met en évidence les parenthèses correspondantes pendant la saisie.

IF, IFS ou SWITCH ?

  • IF : un test, deux issues. Imbriquez-le pour quelques cas de plus.
  • IFS : une liste plate de tests et de résultats, plus lisible que des IF imbriqués.
  • SWITCH : compare une expression à plusieurs valeurs exactes, sans plages ni comparaisons.

Questions fréquentes

Combien de IF peut-on imbriquer ? Sheets autorise de nombreux niveaux, mais la lisibilité chute vite. Préférez IFS, SWITCH ou un tableau de correspondance.

IF peut-elle renvoyer le résultat d'une formule ? Oui. Chaque branche peut être n'importe quelle expression, y compris d'autres fonctions.

IF peut-elle tester plusieurs cellules à la fois ? Oui, avec AND/OR, ou avec ARRAYFORMULA pour appliquer le même test à une plage.

Pourquoi IF renvoie-t-elle FALSE au lieu d'une cellule vide ? Le troisième argument est absent. Ajoutez "".

Fonctions associées

  • IFS : Tester plusieurs conditions dans l'ordre sans imbrication.
  • IFERROR : Remplacer une erreur par une valeur de repli.
  • SWITCH : Faire correspondre une valeur à une liste de cas.
  • AND : Vérifie que tous les arguments sont TRUE.
  • OR : Vérifie qu'au moins un argument est TRUE.
  • NOT : Inverse la valeur logique d'une expression.

Articles associés

Newsletter

Plus d'exemples sur IF arrivent bientôt.

Nous préparons des mises à jour courtes et pratiques pour les utilisateurs avancés de Sheets.