Présentation Excel 7 Fonctions plus complexes dans Excel Partie 1 Sandra Michelet Département Informatique Pédagogique Université Stendhal, Grenoble III Fonctions Si(), Et(), Ou() et fonctions imbriquées 1 2 I.1. Introduction I.2. Opérateurs logiques I.2.1. Définition Parmi les fonctions déjà définies dans Excel, certaines sont très intéressantes car on peut demander à Excel de réagir différemment en fonction du résultat d un calcul demandé. Nous allons voir plus en détail le cas de 3 fonctions : si(), et(), ou() = < > <= Les opérateurs logiques (ou opérateurs de comparaisons) permettent de comparer deux valeurs et génèrent la valeur logique ou FAUX. Opérateurs logiques Égal Signification Strictement inférieur à Strictement supérieur à Inférieur ou égal à >= Supérieur ou égal à <> Différent de 3 4
I.2. Opérateurs logiques I.2.2. Exemple On considère le tableau suivant Voici la valeur logique retournée pour chacune des formules saisies dans une cellule autre que celles intégrées dans les formules Opérateurs Exemple Signification Valeur logique logiques retournée = < > <= >= <> =(A3=B3) =(A1<A2) =(A1>A2) =(A3<=B3) =(A3>=B3) =(A3<>B3) Le contenu de la cellule A3 est-il égal à celui de B3? Le contenu de la cellule A1 est-il strictement inférieur à celui de A2? Le contenu de la cellule A1 est-il strictement supérieur à celui de A2? Le contenu de la cellule A3 est-il inférieur ou égal à celui de B3? Le contenu de la cellule A3 est-il supérieur ou égal à celui de B3? Le contenu de la cellule A3 est-il différent de celui de B3? FAUX FAUX I.3. Fonction SI() La fonction SI() permet d'exécuter une opération si la condition est remplie et une autre si cette condition n'est pas remplie. SI la moyenne annuelle d un élève en 1ère année est supérieure à 10 ALORS il passe en 2ème année, SINON il redouble. =SI(Condition; Opération à effectuer si ; Opération à effectuer si FAUX) La condition est toujours soit vraie, soit fausse Les ; séparent les différents arguments de la fonction 5 6 I.3. Fonction SI() I.4. Fonctions ET(), OU() Exemples : Exemple =Si(A1>10 ; "bon résultat" ; "échec") =Si(B2= "réussite" ; "élève admis" ; " élève recalé") Signification SI le contenu de la cellule A1 est supérieur à 10 ALORS écrire bon résultat, SINON écrire échec SI le contenu de la cellule B2 est égal au texte réussite ALORS écrire élève admis, SINON écrire élève recalé La réponse d Excel aux fonctions ET() et OU() est ou FAUX =ET(Condition1; Condition2; ) =OU(Condition1; Condition2; ) Renvoi : Remarque : si vous utilisez du texte dans les formules, le mettre entre guillemets " " La fonction ET() renvoie si toutes les conditions sont vraies La fonction OU() renvoie si au moins une condition est vraie 7 8
I.4. Fonctions ET(), OU() Tables de vérité de ET et OU : Soient A et B deux conditions valant vrai ou faux, on a les tables de vérité suivantes : A Exemples : B A et B A B A ou B I.5. Fonctions imbriquées Il se peut que votre condition de la fonction SI comporte des ET ou des OU, ou alors d autre SI. On parle de fonction imbriquée si à l intérieure d une fonction, vous utilisez une autre fonction. Les formules suivantes vous donnent un aperçu de fonction imbriquée (formules saisies dans une cellule autre que celles intégrées dans les formules) : Exemple =ET(A1=44; A2=B2) =OU(A3= "OUI";B3 =2) Ce que l on teste Le contenu de la cellule A1 est égal à 4 ET le contenu de la cellule A2 est égal à celui de la cellule B2 Le contenu de la cellule A3 est égal au texte "OUI" OU le contenu de la cellule B3 est égal à 2 Valeur logique retournée FAUX =SI(A1=A2 ; B3 ; Moyenne(A1 :A5)) =SI(C2="bonjour" ; SI(C3="madame" ; "bonjour madame" ; "bonjour monsieur") ; "au revoir") =SI(ET(A1=4 ; A2=B2) ; B1 ;C2) =SI(ET(D2="Oui" ; E2="Oui") ; C2+7 ; SI(OU(D2="Oui" ; E2="Oui") ; C2+5 ; C2)) 9 10 II.1. Fonction SOMME.SI() Partie 2 La fonction Somme.Si() permet d additionner des contenus de cellules spécifiées si elles répondent à un critère donné =Somme.Si(plage de cellules; critère; somme_plage) Fonctions Somme.Si() et Nb.Si() Les contenus de cellules de la plage somme_plage seront additionnées si et seulement si les contenus des cellules correspondantes situées dans plage répondent au critère =Somme.Si (A2:A5; " >160 000 " ; B2:B5) signifie : «On somme les contenus des cellules B2 à B5 si et seulement si les contenus des cellules A2 à A5 sont supérieurs à 160 000 Ici cela revient à sommer le contenu des cellules B3,B4 et B5 11 12
II.2. Fonction NB.SI() La fonction Nb.Si() permet de déterminer le nombre de cellules dont le contenu n est pas vide, répondant au critère Partie 3 =Nb.Si(plage de cellules; critère) On dispose d un classeur contenant les réponses de 100 personnes interrogées à un sondage. On a représenté par 1 le fait que la personne sondée soit une femme et par 0 si c est un homme. Ces données se trouvent dans la plage de cellule allant de A1 à A100. Nombre de femmes ayant participé à l enquête : =Nb.Si(A1:A100; "1" ) Nombre d hommes ayant participé à l enquête : = Nb.Si(A1:A100; "0" ) Fonction Frequence() 13 14 La fonction Frequence() permet de calculer la fréquence d'apparition de valeurs dans une plage de données et renvoie le résultat sous forme de matrice verticale. =Frequence(tableau_données;matrice_intervalles ) tableau_données correspond à la matrice de valeurs dans laquelle il faut vérifier les fréquences d'apparition. matrice_intervalles correspond aux valeurs qui délimiteront les intervalles dans lesquels il faut vérifier les fréquences d'apparition. Explications sur la matrice_intervalles : Cette matrice permet de définir les limites de chaque groupe. Ainsi, une matrice_intervalles composée des 3 éléments 10, 14 et 16 permet de vérifier la fréquence d'apparition de valeurs dans les intervalles suivants : Le nombre d'éléments de la matrice de résultats est égal au nombre d'éléments de l'argument matrice_intervalles plus 1. L'élément supplémentaire renvoie le compte de toutes les valeurs supérieures à l'intervalle le plus élevé. Si votre matrice_intervalles contient trois éléments, votre matrice de résultats doit contenir quatre éléments. 15 16
Attention : On considère le tableau des notes suivant : La fonction Frequence() doit être tapée sous forme matricielle. Pour taper une formule sous forme matricielle, il est nécessaire de s électionner au préalable la plage de destination puis de taper CTRL + MAJ + ENTREE lors de la validation de la formule. La formule sera alors entourée de crochets {} On désire savoir combien d étudiants ont eu : Une note inf érieure ou égale à 10 Une note supérieure à 10 et inf érieure ou égale à 14 Une note supérieure à 14 et inf érieure ou égale à 16 Une note supérieure à 16 17 18 Pour effectuer ce calcul, les valeurs indiquées dans la matrice_intervalles seront 10, 14 et 16. Etapes : 1- Sélectionnez la zone de destination de la matrice de résultats. Comme la matrice_intervalles contient 3 éléments, la matrice sera composée de 4 éléments. 2- Sélectionnez la plage F8:F11 puis tapez votre formule 3- FORMULE : Les critères sont : tableau_données : C3:C17 matrice_intervalles : E6:E8 La formule est : =FREQUENCE(C3:C17;E6:E8) La formule doit être validée avec la combinaison de touche CTRL + MAJ + ENTREE ce qui donnera {=FREQUENCE(C3:C17;E6:E8)} dans les quatre cellules de destination que vous avez sélectionné avant de saisir la formule. 19 Résultat : Interprétation : 5 personnes ont une notre inférieure ou égale à 10 6 personnes ont une note supérieure à 10 et inférieure ou égale à 14 3 personnes ont une note supérieure à 14 et inférieure ou égale à 16 1 personne à une note supérieure à 16 20
IV.1. Principe Partie 4 Les fonctions =RechercheV() (V pour Verticale, c est-à-dire basée sur les colonnes) et =RechercheH() (H pour Horizontale, c est-àdire basée sur les lignes) vous permettent de : Fonctions =RechercheV() et =RechercheH() chercher un élément du tableau piocher des éléments d un autre tableau pour les intégrer au vôtre 21 22 IV.2. Syntaxe IV.3. Attention aux arguments! (1/3) Les fonctions =RechercheV() et =RechercheH() ont la même syntaxe =RechercheV(Argument1;Argument2;Argu ment3;argument4) Concernant la fonction =RechercheV(), le 1ère colonne du tableau balayé doit être trié par ordre croissant. Cette remarque ne s applique pas dans le cadre de la fonction =RechercheH() Où: Argument1 est l élément de la 1ère colonne (ligne pour RechercheH () ) connue Argument2 est la sélection de la plage de données qui sera balay ée pour trouver l information recherchée à partir de la colonne 1 Argument3 est le num éro de la colonne (de la ligne dans le cas de =RechercheH ())du résultat cherché Argument4 est l autorisation de valeur approchée. Argument4 a pour valeur oui (=) ou non (=FAUX) Argument2 - Argument3 : Avec Argument2 vous définissez le tableau sur lequel va porter la recherche. La 1ère colonne de ce tableau aura pour num éro 1. De ce fait, Argument3 est la colonne de ce nouveau tableau et pas du tableau initial. 23 24
IV.3. Attention aux arguments! (2/3) IV.3. Attention aux arguments! (3/3) Exemple: =RECHERCHEV(G2 ;B1:E4; 4 ; ) Argument4 : Par défaut, c est-à-dire si vous n écrivez rien, cet argument est codé avec la valeur. Cet argument demande si on souhaite une valeur approchée (dans ce cas ) ou non (FAUX). Décortiquons la formule : On recherche la valeur 20 (valeur de G2) dans la plage de cellules B1 :E4. Le résultat sera pris dans la 4ème colonne de cette plage (soit dans la colonne E et non pas dans la colonne D). Comme on veut une valeur approchée, la valeur la plus proche de 20 est 15. Ainsi, le résultat de la formule renvoie «Terre» (car le résultat est la valeur d une cellule appartenant à la colonne E) Si on considère l exemple précédent, dans la formule =RECHERCHEV(G2 ;B1:E4; 4 ; ), on accepté de prendre une valeur approché de la valeur de G2 (la valeur la plus proche). Maintenant, si on écrit à la place =RECHERCHEV(G2 ;B1:E4; 4 ; FAUX), Excel va rechercher dans le tableau B1 :E4, la valeur 20. Comme elle n existe pas, Excel ne pourra pas faire la recherche et va renvoyer le message : #N/A 25 26