http://tssperformance.com/wp-admin/theme-editor.php?file=content-archive-portfolio.php&theme=canvas

La Fonction SI() et ses astuces

La fonction SI()

Je pense que la fonction SI fait partie des fonctions Excel les plus utilisées avec les fonctions SOMME() et MOYENNE(). C’est d’ailleurs l’une des fonctions qu’on découvre en premier.

Comment fonctionne-t-elle?

Excel dit : « SI () vérifie si la condition est respectée et renvoie une valeur si le résultat d’une condition que vous avez spécifié est VRAI, et une autre si le résultat est FAUX »

SI(test_logique, [valeur_si_vrai], [valeur_si_faux])

En d’autres termes :
Exemple 1: une seule condition

Supposons que pour chaque mention (BIEN, MAUVAIS) correspond une valeur :
BIEN         —- 10
MAUVAIS —5

On veut une formule qui dit :

« SI on écrit BIEN alors la valeur correspond à 10 »

On le traduit en langage « excelien » : On suppose ici que c’est sur la cellule A1 qu’on remplit la mention.

=SI(A1= »BIEN »;10)

Toutes les fois qu’il y aura dans A1 TRES BIEN, cette formule va renvoyer la valeur 10. Mais lorsqu’il y aura une autre mention, cette formule renverra FAUX.

Ici les arguments de SI (SI(test_logique, [valeur_si_vrai], [valeur_si_faux]):
* test_logique est :  A1= »BIEN »
* Valeur_si_vrai est 10
* Valeur_si_vrai n’a pas été spécifié, ce qui explique pourquoi le résultat est FAUX lorsque qu’on met autre chose que BIEN.

 

Exemple 2: deux conditions

Toujours dans notre exemple, on veut maintenant compléter notre formule pour qu’elle réagisse différemment:

« Si on écrit BIEN alors, la valeur renvoyée doit être 10, sinon, 5 »
En langage « excelien » :

= SI(A1= »BIEN »;10 ;5)

Dans ce cas, lorsqu’on écrit BIEN cette formule renvoie 10, et si on écrit MAUVAIS elle renvoie 5. En fait si on écrit autre chose que BIEN la formule renverra toujours 5 (pas sûr que ce soit exactement ce qu’on veut, mais bon…)
* test_logique est :  A1= »BIEN »
* Valeur_si_vrai est 10
* Valeur_si_faux est 5

 

Exemple3: Plusieurs SI()

On change un peu les règles pour légèrement corser le problème:
TRES BIEN —20
BIEN ———-10
MAUVAIS —-5

On veut une formule qui:

« Si il est écrit TRES BIEN alors renvoie 20, sinon si il est écrit BIEN renvoie 10 sinon renvoie 5 »
En langage « excelien » ça donne ceci :

=SI(A1= »TRES BIEN » ;20 ;SI( A1= »BIEN »;10 ;5))

* test_logique est :  A1= »BIEN »
* Valeur_si_vrai est 10
* Valeur_si_faux est SI( A1= »BIEN »;10 ;5)

Par contre si on veut plutôt une formule qui :

« Si il est écrit TRES BIEN alors renvoie 20, sinon si il est écrit BIEN renvoie 10 sinon , si il est écrit MAUVAIS alors 5, sinon 0 »

C’est un peu plus compliqué, mais le principe reste le même

=SI(A1= »TRES BIEN » ;20 ;SI( A1= »BIEN »;10;SI(A1= »MAUVAIS »;5;0)))

* test_logique est :  A1= »BIEN »
* Valeur_si_vrai est 10
* Valeur_si_faux est SI( A1= »BIEN »;10;SI(A1= »MAUVAIS »;5;0)))

Maintenant qu’on maîtrise comment fonctionne la fonction SI nous allons voir comment on peut la remplacer par une autre formule

 

Et les formules logiques?

=SI(A1= »TRES BIEN » ;20 ;SI( A1= »BIEN »;10;SI(A1= »MAUVAIS »;5;0)))

Ce cas sera remplacer par :

=( A1= »TRES BIEN »)*20+( A1= »BIEN »)*10+(A1= »MAUVAIS »)*5

J’aime cette présentation.

Quelques explications:

Lorsqu’on écrit dans Excel = A1= »TRES BIEN » , Excel teste bel et bien si dans A1 il y a « TRES BIEN » et renvoie VRAI ou FAUX. Mais le plus important est de savoir que dans Excel :

• FAUX correspond à 0

• VRAI correspond à 1

Donc cette formule sera calculée ainsi si dans A1 il y a écrit BIEN :

=(A1= »TRES BIEN »)*20+( A1= »BIEN »)*10+(A1= »MAUVAIS »)*5

=FAUX*20+VRAI*10+FAUX*5

=0*20+1*10+0*5

=10

Cette formule me parait plus facile à lire et peut être plus simple à utiliser même.

Lorsqu’il y a beaucoup de test, il est plus facile de carrément faire un tableau et utiliser une fonction de recherche pour retrouver la valeur.

Pour les fonctions de recherche, dans les prochains articles nous en verrons parmi celle que vous avez votée.

 

Comment utiliser SI() dans les listes déroulantes?

Une autre astuce avec la fonction SI(). On peut utiliser la fonction dans une liste déroulante de manière très intéressante.

Cas pratique :

Dans un tableau a 2 colonnes :

• Dans la 1ère colonne, on doit intégrer les valeurs OUI ou NON dans chaque cellule

• Dans la 2nde colonne s’il y a OUI dans la cellule à côté alors on a une liste déroulante, s’il y a NON alors aucune liste déroulante

Sélectionner B2:B5

Données/Validation de données /Validation de données

Autoriser/Liste Source =SI($A2= »OUI »;Liste;) Valider

10 Responses to La Fonction SI() et ses astuces

  1. REINE 20 octobre 2011 at 0 h 00 min #

    merci de nous avoir renseigner sur la fonction SI(), j’ai appliqué ce qui est di plus haut et sa marche vraiment, mais j’ai un souci,lorsque j’entre le bareme de tetermination d’une donnée a 12tranche ,a partir de la huitième tranche on me dit: » impossible d’entrer la formule spécifiée car elle utilise plus de niveaux d’imbrication…….. » et la je ne sait comment faire car toute les valeur ne sont pas entrées

  2. TSS 20 octobre 2011 at 0 h 00 min #

    Reine tu utilises certainement excel 2003 ou une version anterieure. Et dans ces versions, il est impossible d’imbriquer plus de 7 SI(). Il serait plus malin d’utiliser RECHERCHEV() pour résoudre ton problème

  3. hajazouz 4 octobre 2012 at 0 h 00 min #

    Excellent travail, c’est très clair et très explicite , encore une fois bravo

  4. TSS 4 octobre 2012 at 0 h 00 min #

    @Hajazouz merci

  5. Ndalek 21 juin 2017 at 16 h 42 min #

    vous avez du talent. Merci d’avoir rafraichi nos connaissances

    • TSS 26 juin 2017 at 8 h 54 min #

      @Ndalek, merci mon cher

  6. Charles 3 juillet 2017 at 11 h 48 min #

    Vous êtes d’un très grand apport pour mes connaissances. Merci à vous

  7. Charles 3 juillet 2017 at 12 h 09 min #

    Svp la fonction SI pourra t elle être utilisée dans le cas ou j’ai deux colonnes dont les informations sont sensées être identiques mais une erreur s’est glissée et l’une est en infériorité par rapport à l’autre? c’est à dire 555 dans l’une et 553 dans l’autre. mon objectif est de retrouver les deux informations qui manquent dans l’autre colonne sans avoir à les disposer une a une conformément à la dernière colonne. Merci.

  8. Fadoul 18 août 2017 at 7 h 09 min #

    Bonjour, voilà mon problème :
    J’aimerais faire deux listes déroulantes dans deux colonnes et je voudrais que la deuxième colonne soit liée à la première.
    Par exemple, dans la première colonne j’ai des noms  » Éric, Frank, Élodie ) et dans la seconde des chiffres ( 12, 13 , 8 )Je voudrais donc que lorsque je choisis par exemple  » Éric  » que dans la cellule qui suit excel m’affiche automatiquement 12 qui correspond à la note de Eric. Si c’est Elodie, que la cellule qui suit affiche 8.
    J’ai jusqu’à 145 lignes. Besoin d’aide svp. Merci

Laisser un commentaire