edubun
Français

Prendre des décisions avec IF

=IF(B2>=60, "Pass", "Fail") se lit comme une phrase : si la note vaut au moins 60, écris Pass, sinon écris Fail.

Essaie d'abord : est-ce que 60 tout juste suffit ?

Avant toute règle, ouvre le labo ci-dessous. Ana a obtenu 72, Ben 45, Chloe exactement 60 et Dev 59.5. Tape =IF(B2>=60,"Pass","Fail") en C2 et recopie vers le bas. Puis remplace >= par > en C4 et regarde ce qui arrive à Chloe. La formule se lit presque comme une phrase : si la note vaut au moins 60, écris Pass, sinon écris Fail.

Chargement

Fais glisser pour tourner. Fais défiler ou pince pour zoomer.

Chloe a exactement 60 et Dev a 59.5 : le choix entre > et >= décide de leur résultat. Écris C2, puis recopie vers le bas.

Ce que tu viens de taper : un test et deux réponses

IF prend trois arguments : un test logique, la valeur à renvoyer quand le test est TRUE et la valeur à renvoyer quand il est FALSE. Microsoft l'écrit IF(logical_test, value_if_true, [value_if_false]) et la présente comme l'une des fonctions les plus utilisées d'Excel. Sheets utilise la même forme. Le test est souvent une comparaison comme B2>=60, une petite formule à part entière qui donne TRUE ou FALSE, et IF choisit l'une de ses deux réponses en fonction de ce résultat. Pour les 60 de Chloe, B4>=60 vaut TRUE et B4>60 vaut FALSE. C'est exactement cette différence que tu viens de voir.

ComparaisonSignificationAvec B2 = 72
B2=72égal àTRUE
B2<>72différent deFALSE
B2>60supérieur àTRUE
B2<60inférieur àFALSE
B2>=72au moinsTRUE
B2<=71au plusFALSE

Les réponses peuvent être du texte, des nombres ou des calculs. Le texte se met entre guillemets droits, avec une exception que signale Microsoft : TRUE et FALSE, qu'Excel comprend tels quels. Ainsi, =IF(C2="Yes",1,2) renvoie un nombre, et =IF(C2>B2,C2-B2,0) renvoie de combien un montant dépasse le budget, ou 0 s'il ne le dépasse pas. Deux guillemets sans rien entre eux, "", renvoient un texte qui a l'air vide. C'est la façon habituelle de laisser une cellule vierge quand il n'y a rien à signaler.

Les comparaisons de texte ne tiennent pas compte des majuscules et des minuscules : "yes"="YES" vaut TRUE. Une cellule vide comparée à "" donne aussi TRUE, ce qui fait de =IF(A2="", "missing", A2*2) une protection pratique contre les cellules vides. L'aide de Google cite l'erreur la plus fréquente avec IF : mettre les deux réponses dans le mauvais ordre. Lis la formule à voix haute, « si ceci, alors cela, sinon autre chose », et une inversion saute souvent aux yeux.

IF fonctionne bien sur toute une colonne. Écris-la une fois pour la première ligne, avec une référence relative à la note de cette ligne, puis recopie vers le bas : chaque élève obtient un résultat. Comme chaque ligne a sa propre copie, tu peux trier la liste ou ajouter des élèves en dessous et recopier à nouveau. Si le test compare à une limite fixe placée dans une cellule, comme une note de passage, cette référence a besoin de signes dollar, exactement comme le taux de taxe dans la première unité de ce cours.

Oublier le troisième argument

Les deux logiciels indiquent que value_if_false est facultatif. Si tu l'omets et que le test est faux, Excel renvoie la valeur logique FALSE, ce qui fait bizarre dans une colonne de mots. La liste des problèmes courants avec IF de Microsoft mentionne aussi un 0 dans la cellule quand un argument de réponse manque. Écris toujours les deux réponses, même quand l'une n'est que "". Il y a aussi un avantage plus discret. Seule la branche choisie est calculée, donc =IF(B2=0, "none", A2/B2) n'affiche jamais #DIV/0! ; la division n'a lieu que si B2 est différent de 0.

Un IF ne se termine pas forcément par des mots. =B2*IF(C2="member",0.9,1) fait payer aux membres 90 % du prix et le prix plein à tous les autres. Ici, IF renvoie un nombre et la multiplication l'utilise comme n'importe quelle autre valeur : une seule formule par ligne remplace deux colonnes séparées.

Écris la limite dans une cellule et désigne-la avec une référence absolue, comme =IF(B2>=$F$1, "Pass", "Fail"). Quand la note de passage change, tu modifies une cellule au lieu de toutes les formules.
Erreurs fréquentes
  • Utiliser > quand la règle dit « 60 ou plus ». =IF(B4>60,...) fait échouer une note d'exactement 60. « Au moins », c'est >=.
  • Écrire =IF(A1>5,Yes,No) sans guillemets. Yes et No sont du texte et ont besoin de guillemets ; sans eux, la formule affiche #NAME?. TRUE et FALSE sont l'exception.
  • Inverser les deux réponses. =IF(B2>=60,"Fail","Pass") s'exécute sans erreur et étiquette tous les résultats à l'envers. L'aide de Google présente l'ordre comme l'erreur la plus fréquente avec IF.
  • Omettre value_if_false. Quand le test est faux, Excel affiche FALSE dans la cellule. Écris "" si tu veux qu'elle ait l'air vide.
Note du professeurLa syntaxe pose rarement problème. C'est la limite qui en pose. Des élèves capables de réciter IF(test, si vrai, si faux) écrivent quand même > pour « 60 ou plus » : teste donc à chaque fois avec une note d'exactement 60. Un bon ordre pour une leçon : d'abord les comparaisons seules (tape =B2>=60 et lis le TRUE ou le FALSE), puis enveloppe-les dans IF. Voir un TRUE tout seul montre clairement entre quoi IF choisit. Demande aux élèves de lire chaque formule à voix haute comme une phrase avant de la recopier vers le bas.
  1. B2 contient 72. Que renvoie =IF(B2>=60, "Pass", "Fail") ?
  2. B5 contient 59.5. Que renvoie =IF(B5>=60, "Pass", "Fail") ?
  3. B4 contient 60. Que renvoie =IF(B4>60, "Pass", "Fail") ?
  4. B2 contient 72. Que renvoie =IF(B2>70,B2-70,0) ?
  5. B2 contient 0. Que renvoie =IF(B2=0, "none", A2/B2) ?
    • none
    • #DIV/0!
    • 0
    • FALSE
  6. Dans Excel, que renvoie =IF(5>9,"big") ?
    • FALSE
    • big
    • #N/A
    • #VALUE!
  7. Quelle formule a besoin de guillemets pour fonctionner ?
    • =IF(A1>5,Yes,No)
    • =IF(A1>5,1,0)
    • =IF(A1>5,TRUE,FALSE)
    • =IF(A1>5,A1,0)
  8. Que renvoie ="yes"="YES" ?
    • TRUE
    • FALSE
    • #VALUE!
    • yesYES
  9. A2 est vide. Que renvoie =IF(A2="", "missing", A2*2) ?
  10. D'après l'aide de Google, quelle est l'erreur la plus fréquente avec IF ?
    • Mettre les réponses vraie et fausse dans le mauvais ordre
    • Utiliser des nombres comme réponses
    • Utiliser >= au lieu de >
    • Écrire IF en minuscules
L'essentiel
  • IF(test, valeur si TRUE, valeur si FALSE).
  • Comparaisons : = <> > < >= <=. Les comparaisons de texte ignorent la casse.
  • Les réponses en texte vont entre guillemets ; TRUE et FALSE n'en ont pas besoin.
  • Donne toujours les deux réponses ; seule celle qui est choisie est calculée.
Sources de ce cours (19)
  • Microsoft Support, "Switch between relative, absolute, and mixed references" (support.microsoft.com/en-us/office/dfec08cd-ae65-4f56-839e-5f0d8d0baca9: $ before column and row, F4 to switch, copying two down and two right: $A$1 stays, A$1 to C$1, $A1 to $A3, A1 to C3)
  • Microsoft Support, "AVERAGE function" (support.microsoft.com/en-us/office/047bac88-d466-426c-a32b-8f33eb960cf6: text, logical values and empty cells in a reference ignored, zeros included; 10, 7, 9, 27, 2 gives 11, with 5 gives 10; mean 5, median 4, mode 3 for 2 3 3 5 7 10)
  • Microsoft Support, "COUNT function" (support.microsoft.com/en-us/office/a59cd7fc-b623-4d93-87a4-d23bf411294c: only numbers counted, dates count, errors and text do not)
  • Microsoft Support, "ROUND function" (support.microsoft.com/en-us/office/c018c5d8-40fb-4053-90b1-b3e7f61a213c: num_digits required; 2.15 to 2.2, -1.475 to -1.48, 626.3 to 1000, 1.98 to 0, -50.55 to -100)
  • Microsoft Support, "IF function" (support.microsoft.com/en-us/office/69aed7c9-4e8a-4755-a9bc-aa8bbff73be2: value_if_false optional, text in quotes except TRUE and FALSE, 0 and #NAME? problems)
  • Microsoft Support, "VLOOKUP function" (support.microsoft.com/en-us/office/0bbc8083-26fe-4963-8ab8-93a18ad188a1: range_lookup TRUE by default, sorted first column, #N/A, #REF!, #VALUE!, absolute table range, wildcards with FALSE)
  • Microsoft Support, "XLOOKUP function" (support.microsoft.com/en-us/office/b7fd680e-6d10-43e6-84f9-88eae8bf5929: not in Excel 2016 and Excel 2019, exact match by default)
  • Microsoft Support, "How to correct a #VALUE! error" (support.microsoft.com/en-us/office/15e1b616-fbf2-4147-9c0b-0a11a20e409e: + and * may not calculate cells with text, use SUM instead, IFERROR hides all errors)
  • Microsoft Support, "Excel specifications and limits" (15 digits, 64 nested levels, 255 arguments)
  • Google Docs Editors Help, "VLOOKUP" (support.google.com/docs/answer/3093318: is_sorted TRUE by default, FALSE recommended, search down to a larger value, " Apple" and "Apple " differ, wildcards, IFNA, absolute range)
  • Google Docs Editors Help, "XLOOKUP" (support.google.com/docs/answer/12405947)
  • Google Docs Editors Help, "ROUND" (support.google.com/docs/answer/3093440: places optional, 0 by default, rounding by magnitude)
  • Google Docs Editors Help, "IF" (support.google.com/docs/answer/3093364: order of the answers is the most common problem, IFS)
  • Google Docs Editors Help, "AVERAGE" (support.google.com/docs/answer/3093615: text ignored, any number of arguments)
  • Google Docs Editors Help, "COUNTA" (support.google.com/docs/answer/3093991: zero-length strings and spaces count)
  • Google Docs Editors Help, "Keyboard shortcuts for Google Sheets" (support.google.com/docs/answer/181110: F4 and Fn+F4 while entering a formula, F4 as Redo)
  • Pryor Learning and Exceljet (F4 cycle A1, $A$1, A$1, $A1; = comparison not case-sensitive)
  • Ablebits (IF without value_if_false returns FALSE)
  • Spreadsheet Class (Sheets circular dependency shows #REF!)

Consulté le: 2026-10-19