Précédent Index Suivant
Chapitre 6 Formules : références et fonctions
Chaque cellule peut recevoir une formule de calcul, l'évaluation de cette formule fournissant une valeur. C'est cette valeur qui apparaît à l'écran. Pour que le tableur comprenne que le contenu d'une cellule est une formule, on utilise la convention suivante : une formule commence toujours par le symbole =. Une formule est un ensemble de calculs effectués à l'aide d'opérateurs (opérateurs arithmétiques usuels + * -..., opérateurs de comparaison < > =..., etc) et de fonctions sur des données (fonctions statistiques, financières, mathématiques...). Les données peuvent être inscrites littéralement dans la formule ou peuvent se trouver dans d'autres cellules. Le mécanisme permettant d'accéder à partir d'une cellule à une valeur se trouvant dans une autre cellule est appelé référence. Nous allons, dans ce paragraphe, présenter les références, puis les fonctions et les formules.

6.1 Références à une cellule
Chaque ligne d'une feuille de calcul est repérée par un numéro. Chaque colonne est repérée par une lettre (de A à Z, puis de AA à AZ, puis de BA à BZ, etc...). Ceci permet de désigner une cellule par une lettre et un chiffre qui repèrent la colonne et la ligne à l'intersection desquelles elle se trouve.

6.1.1 Référence relative
Considérons l'exemple suivant : on désire disposer 4 multiplications sur la feuille de calcul de la façon suivante, les produits étant calculés par Excel grâce à des formules adéquates.



Une première solution consiste à écrire soi-même toutes les formules pour calculer les produits, ce qui donne :

Autrement dit, il faut taper quatre formules différentes, alors que le principe du calcul est toujours le même : effectuer le produit de la valeur se trouvant deux lignes au-dessus par la valeur de la cellule se trouvant immédiatement au-dessus.

Une autre façon de procéder est cependant possible : écrire la première formule dans la cellule C6. Ensuite on utilise le Copier-Coller. La cellule C6 est copiée puis collée en F6, C10 et F10. Que se passe-t-il lors d'une opération Coller ? A priori on pourrait s'attendre à ce que la formule soit recopiée telle quelle : on obtiendrait alors la formule =C4*C5 dans la cellule F6, ce qui n'est pas précisément ce que l'on désirait. Ce n'est cependant pas ce qui se passe. La formule obtenue en F6 est bien =F4*F5. Pourquoi ?

Cela vient du fait que les références utilisées lors de l'écriture de la formule dans la cellule C6 sont des références relatives. Ainsi C4 désigne davantage la cellule se trouvant deux lignes plus haut dans la même colonne (et qui se trouve être la cellule C4 !) que la cellule C4 elle-même. Lorsque cette formule est recopiée dans le presse-papiers, c'est ce point de vue qui est conservé. Lors du collage dans la cellule F6, la référence est modifiée pour continuer à désigner la cellule se trouvant deux lignes plus haut dans la même colonne. Ainsi C4 se transforme en F4 et C5 se transforme en F5, etc... Les formules obtenues sont bien celles que l'on espérait !

6.1.2 Référence absolue

Considérons maintenant l'exemple suivant : on désire écrire la table de multiplication du nombre se trouvant dans la cellule E2.



De nouveau, les formules que l'on veut copier dans les cellules B5 à K5 sont toutes du même type : faire le produit du contenu de la cellule E2 par le contenu de la cellule immédiatement au-dessus. On va donc écrire cette formule une seule fois dans la cellule B5, puis la recopier dans les cellules suivantes à l'aide du Copier-Coller.

Si l'on s'en tient à ce que l'on connaît pour l'instant, on est tenté d'écrire simplement la formule =E2*B4 dans la cellule B5. Que se passe-t-il si on recopie cette formule dans la cellule voisine ? Les références utilisées sont des références relatives, donc lors de la recopie, ces références sont modifiées pour désigner toujours la même position relative de cellule.

Ainsi, en B5, B4 désigne en réalité la cellule se trouvant à la ligne précédente dans la même colonne. Après Copier-Coller dans la cellule voisine, la référence est modifiée pour désigner à nouveau la cellule de la ligne précédente et de la même colonne, ce qui donne C4. C'est bien ce que l'on voulait obtenir.

Examinons maintenant le cas de la référence B2 utilisée dans la formule en B5. Elle désigne en réalité la cellule se trouvant trois lignes plus haut et trois colonnes à droite. Après Couper-Coller de la formule en C5, cette référence est modifiée pour désigner la cellule se trouvant dans le même position relative, à savoir la cellule F2 !

Catastrophe ! Ce n'est pas du tout ce que l'on voulait obtenir ! Comment s'en sortir ? Dans la cellule B5, il faut utiliser une référence absolue sur la cellule E2. Une telle référence s'obtient en faisant précéder la lettre de la colonne et le numéro de la ligne par un signe '$' : cela donne l'écriture $E$2. Cette écriture désigne réellement la cellule E2, et non pas la cellule se trouvant trois lignes plus haut et trois colonnes à droite. Lors d'une opération de Couper-Coller, la référence n'est pas modifiée.

Finalement, la bonne formule à écrire dans la cellule en B5 est =$E$2*B4. Après recopie en C5, on obtient la formule =$E$2*C4 (la référence absolue n'est pas modifiée, la référence relative est mise à jour). Qu'obtiendrait-on après recopie dans la cellule F5 ?

6.1.3 Référence mixte

Une référence absolue désigne de manière absolue la ligne et la colonne de la cellule référencée, ceci se fait en faisant précéder les références aux ligne et colonne du symbole $ (exemple $E$2) ; une référence relative, quant à elle, désigne de manière relative la ligne et la colonne de la cellule référencée (exemple E2).

La référence mixte est un mélange des deux modes de référence vus précédemment. La référence mixte permet de désigner la ligne de manière absolue et la colonne de manière relative (ou l'inverse) : ainsi écrire =$C4 dans la cellule D5 référence la cellule située dans la colonne C (référence absolue pour la colonne par l'utilisation d'un signe $) et dans la ligne précédente (référence relative pour la ligne, pas de signe $ devant le numéro de ligne).

6.1.4 Bilan

Lorsque des calculs similaires ont lieu en plusieurs endroits du tableau, il faut se poser la question de l'utilisation des références absolues, relatives ou mixtes.
6.1.5 Référence par nom

Au lieu de désigner une cellule par des coordonnées, on peut utiliser un nom, à condition que l'on ait défini auparavant à quelle cellule se rapporte ce nom. Dans le second exemple, on aurait pu référencer la cellule E2 par le nom MULTIPLICATEUR. La formule à écrire dans la cellule B5 aurait alors été =MULTIPLICATEUR*B4.

Pour pouvoir utiliser une référence par nom, deux étapes sont nécessaires :

  1. Il faut d'abord affecter un nom à une cellule. Cela se fait en tapant le nom dans la fenêtre d'édition des noms (voir figure 6.1) ou par l'intermédiaire du menu Insertion/Nom/Définir.
  2. On peut ensuite utiliser ce nom pour référencer cette cellule dans une formule. La fenêtre d'édition des noms permet d'introduire facilement des noms dans les formules.
L'utilisation de la référence par nom procure deux avantages :
6.2 Références à des plages de cellules

6.2.1 Référence absolue et relative
On peut avoir besoin de référencer plusieurs cellules adjacentes pour pouvoir effectuer certains calculs : pensons par exemple au calcul des notes moyennes d'un élève dans différentes matières.

Le calcul de la moyenne en français se fait sur les notes contenues dans les cellules B3, B4 et B5. Une première solution serait d'écrire en B7 la formule =MOYENNE(B3;B4;B5) : on énumère toutes les cellules en séparant chaque référence par le signe << ; >>. Cependant, puisque les cellules référencées sont adjacentes, on peut écrire plus simplement =MOYENNE(B3:B5). Dans le cas général, pour désigner un ensemble de cellules adjacentes les unes aux autres et formant une plage rectangulaire, on se contente de désigner les deux cellules se trouvant aux extrémités haut-gauche et bas-droite de cette plage, en séparant toutefois la référence à chacune de ces cellules par le signe << : >>. En mode édition de formule, la désignation d'une plage peut être faite à la souris en sélectionnant la plage.

Si l'on a besoin de référencer des cellules se trouvant dans plusieurs plages (par exemple ici pour calculer la moyenne générale), il suffit de désigner chaque plage comme précédemment, et de séparer les références à chaque plage par le signe << ; >>. Ainsi la formule =MOYENNE(B3:B5;D3:D5) signifie : calculer la moyenne des valeurs se trouvant dans la plage délimitée par les cellules B3 et B5 (utilisation de << : >> entre B3 et B5) et (utilisation de ';') dans la plage délimitée par les cellules D3 et D5 (utilisation de << : >> entre D3 et D5). Avec la souris, en mode édition de formule, il suffit de sélectionner les différentes plages tout en appuyant sur la touche Ctrl.

6.2.2 Noms et plages de cellules

Il est possible de nommer des plages de cellules de la même façon que pour les cellules. Pour expliquer le comportement des noms dans les formules, nous allons expliciter l'exemple de la figure 6.1.




Figure 6.1 : Exemple d'utilisation des noms


Les noms donnés dans la feuille et les formules sont récapitulées dans le tableau suivant :

nom cellule(s) formule
taux_de_tva C2
prix_ht C5:C11
quantité D5:D11
montant_ht E5:E11 =quantité * prix_ht
montant_ttc F5:F11 =montant_ht*(1+taux_tva)
total_ttc F12 =somme(montant_ttc)

Pour la colonne montant hors taxe, on trouve la formule =quantité*prix_ht. L'opération * effectue le produit de deux nombres, soit encore le produit de deux cellules. Excel interprète donc cette formule de la façon suivante : prendre les contenus de deux cellules des deux plages nommées montant_ht et quantité situées sur une même ligne (car ces plages sont verticales) et les multiplier, ce qui correspond au résultat attendu. Pour la formule =somme(montant_ttc) contenue dans la cellule de nom total_ttc, la fonction somme() effectue la somme des contenus d'une plage de cellules, donc le résultat est la somme des contenus des cellules de la plage de nom total_ttc.




Figure 6.2 : Différence entre =note1+note2 et =somme(note1;note2)


Dans le premier cas, l'opération porte sur des cellules, donc Excel effectue une intersection implicite entre les plages désignées par leur nom et les lignes lorsque les plages sont verticales (et les colonnes si les plages sont horizontales). Dans le deuxième cas, la fonction s'applique à une plage de cellules, et donc l'opération porte sur la plage de cellules désignée.

Un deuxième exemple est celui de la figure 6.2. Dans la colonne de titre total a été écrite la formule =note1+note2, le résultat est bien le résultat attendu. Pour la colonne de titre totalbis a été écrite la formule =somme(note1;note2), le résultat est la somme de toutes les cellules contenues dans la réunion des deux plages note1 et note2.

6.2.3 Portée des noms

Les noms définis peuvent être utilisés dans tout le classeur ce qui signifie qu'un nom est défini pour tout le classeur. Ceci implique qu'il ne peut exister qu'une seule cellule ou plage de cellules associée à un nom. Par exemple, le nom taux_de_tva désignera une cellule unique d'une feuille du classeur.

Si nous reprenons l'exemple de l'étude de cas du paragraphe 5.1.3, les feuilles pour les différents représentants sont identiques. Pour les calculs dans la feuille d'un représentant, on souhaite désigner la plage B6:E6 par le nom ventes. Ce nom doit être local à la feuille.

On peut commencer par nommer les feuilles des représentants. Par défaut, les feuilles s'appellent Feuil1, ... Pour renommer une feuille, double cliquer sur l'onglet avec son nom, vous pouvez alors la renommer. Pour définir un nom de cellule local à la feuille, sélectionnez la cellule, dans la fenêtre de saisie des noms, taper le nom de la feuille suivi d'un ! suivi du nom de la cellule. Par exemple la feuille du représentant Dupont a pour nom feuildupont, je sélectionne la zone B6:E6, je la nomme feuildupont!ventes. Pour utiliser cette plage dans la feuille, il suffit alors de la désigner par le nom ventes, pour utiliser cette plage dans une autre feuille, il suffit alors de la désigner par le nom feuildupont!ventes.

Une deuxième solution, que nous vous recommandons, consiste à créer la feuille pour un représentant : créer la maquette, nommer les cellules et plage de cellules, entrer les formules, faire les mises en forme. Puis, dupliquez cette feuille autant de fois qu'il y de représentants et enfin renommer les feuilles. Lors de la duplication, les noms seront alors considérés comme locaux à chacune des feuilles.

6.2.4 Organisation et Choix du type de référence à utiliser

Comment choisir tel ou tel mode de référence ? Le choix d'un certain type de référence ne doit pas se faire au hasard, mais doit résulter d'un minimum de réflexion afin de construire efficacement sa feuille de calcul. Il faut avoir en tête les principes suivants :

6.3 Formules et Fonctions
Nous avons vu dans les deux paragraphes précédents comment faire référence à des cellules ou à des plages de cellules. Dans ce paragraphe, nous décrivons les formules qui peuvent être écrites dans un tableur. Rappelons que le tableur sait que le contenu d'une cellule est une formule si son contenu commence par le symbole =.

6.3.1 Les expressions
Les expressions arithmétiques
Les expressions arithmétiques sont des expressions construites à l'aide des opérateurs arithmétiques usuels et de constantes, de références, de fonctions. Les opérateurs disponibles sont :

+ Addition
- (unaire) prendre l'opposé
- (binaire) soustraction
/ division
* multiplication
^ élévation à la puissance

Les règles de priorité usuelles sont respectées. Les parenthèses permettent de modifier les priorités. Les expressions arithmétiques portent sur des valeurs numériques. Le tableur convertit des valeurs. Il est du ressort du programmeur de vérifier la correction des expressions.

Des exemples d'expressions arithmétiques sont :

=(B5+$B$2)*5, =ventes-charges, =somme(ventes)/5.

Remarque : Pour le tableur, une date est une valeur numérique. Seul, le format d'affichage permet de visualiser cette valeur comme une date. Ceci permet d'effectuer des opérations arithmétiques. La plus utile est la soustraction. Par exemple, si la cellule de nom début contient la valeur correspondant au 5 Mar 98, la cellule de nom fin contient la valeur correspondant au 18 Mar 98, la cellule de nom durée qui contient la formule fin-début aura pour valeur 13.

Les expressions conditionnelles
Elles sont construites à l'aide d'opérateurs de comparaison. Ces expressions ont pour résultat une valeur logique VRAI ou FAUX. Les opérateurs de comparaison sont : = : égal à, > : supérieur strictement à, >= : supérieur ou égal à, < : inférieur strictement à, <= : inférieur ou égal à, <> : différent de. Par exemple, l'expression E2 <= 10 aura la valeur VRAI si la valeur contenue dans la cellule E2 est inférieure ou égale à 10 et la valeur FAUX sinon. On peut combiner des expressions conditionnelles pour construire des expressions logiques en utilisant les fonctions logiques (ET, OU, NON). Ceci est étudié dans le paragraphe sur les fonctions logiques.

Les expressions texte
Elles sont construites à l'aide de l'opérateur & qui permet de concaténer (mettre bout à bout) deux chaînes de caractères. Si la cellule de nom nom contient le texte << Digra >> et la cellule de nom prénom contient le texte << Omar >>, la cellule contenant la formule =prénom & nom aura pour valeur le texte << OmarDigra >>, la cellule contenant la formule =prénom & " " & nom aura pour valeur le texte << Omar Digra >>.
6.3.2 Les fonctions

Les fonctions sont des outils de calcul puissants. Un tableur, Excel en particulier, met à votre disposition un large éventail de fonctions. Seul un utilisateur professionnel connaît toutes les fonctions et ses particularités. Vous utiliserez avec profit l'assistant fonction qui peut être appelé par un bouton dans la barre d'outils, un bouton dans la barre d'outils quand vous êtes en mode édition de formule, ou par l'appel du menu Insertion/fonction.

Nous ne présentons dans ce paragraphe que les fonctions usuelles. Il faut savoir utiliser l'aide (accessible facilement à partir de l'assistant fonction) pour rechercher une fonction et connaître son utilisation : sa syntaxe (comment l'écrire), ses paramètres (à quoi peut-on l'appliquer), son effet, ses restrictions.

La figure 6.3 donne en exemple la page d'aide de la fonction TEXTE.




Figure 6.3 : La page d'aide de TEXTE


Les fonctions de feuille de calcul sont regroupées en différentes catégories (voir figure 6.4).




Figure 6.4 : Catégories de fonctions


Notez que toute fonction est suivie de parenthèses.

Exemples de fonctions de date et d'heure
AUJOURDHUI
Cette fonction renvoie la valeur numérique correspondant à la date du jour ce qui permet d'obtenir la date du jour en utilisant le format Date. Cette fonction est une fonction sans paramètre (elle n'a pas d'argument). La syntaxe est AUJOURDHUI().
MOIS
Cette fonction renvoie le numéro du mois qui correspond à la date associée à la valeur numérique passée en argument. Cette fonction est donc une fonction à un paramètre. La syntaxe est MOIS(valeurnumérique). Par exemple, si la cellule de nom datecommande contient la valeur numérique correspondant au 15/02/98, alors MOIS(datecommande) aura la valeur 2.
Exemples de fonctions de texte
MAJUSCULE
Cette fonction renvoie le texte passé en argument en majuscules. La syntaxe est MAJUSCULE(valeurtexte). Par exemple, MAJUSCULE("bonjour") renvoie << BONJOUR >>. Si la cellule de nom nomclient contient la valeur << Dupond >>, MAJUSCULE(nomclient) renvoie << DUPOND >>.
CNUM
Cette fonction convertit le texte passé en argument en la valeur numérique correspondante. Si le texte ne peut être converti, la valeur #valeur! est renvoyée. Par exemple, CNUM("1200 F") renvoie 1200, CNUM("toto") renvoie une erreur.
Exemples de fonctions logiques
Les fonctions logiques permettent de construire des expressions logiques à partir d'expressions conditionnelles. Ces fonctions sont importantes et nous en donnons ici la liste complète.

ET
Cette fonction renvoie le valeur VRAI si tous ses arguments ont la valeur VRAI, et FAUX sinon. Cette fonction admet un nombre d'arguments compris entre 1 et 30. La syntaxe est ET(valeurlogique1;valeurlogique2;...). Par exemple, ET(A1<4;A1>=0) vaut VRAI si A1 contient la valeur numérique 3, vaut FAUX si A1 contient -1 ou 7.
OU
Cette fonction renvoie le valeur VRAI si l'un au moins des arguments a la valeur VRAI, et FAUX sinon (c'est-à-dire si tous les arguments ont la valeur FAUX). Cette fonction admet un nombre d'arguments compris entre 1 et 30. La syntaxe est OU(valeurlogique1;valeurlogique2;...). Par exemple, OU(A1<7;A1>=10) vaut VRAI si A1 contient la valeur numérique 3 ou 15, vaut FAUX si A1 contient 8.
NON
Cette fonction renvoie la valeur logique contraire de la valeur logique passée en argument. La syntaxe est : NON(valeurlogique).
SI
Cette fonction renvoie une valeur ou une autre selon la valeur de vérité d'une expression logique. La syntaxe est : SI(testlogique;valeursiVRAI;valeursiFAUX). Le premier argument testlogique doit être une expression logique de résultat VRAI ou FAUX, le deuxième argument est la valeur retournée par la fonction si l'expression logique a la valeur VRAI, le troisième argument est la valeur retournée par la fonction si l'expression logique a la valeur FAUX. Par exemple, si la cellule de nom ventes contient la valeur 1200, si la cellule de nom charges contient la valeur 1500 (respectivement 1000), la formule

SI(ventes>=charges;"excédent";"déficit") renvoie le texte << déficit >> (respectivement << excédent >>).

Le test logique peut être une expression logique, par exemple :

SI(ET(moyenne>=12;moyenne<14);"assez bien";"autre").

On peut imbriquer les si, par exemple :

SI(moyenne >=12;"a.bien"; SI(moyenne >=10;"honorable";"échec")).
Exemples de fonctions mathématiques
Toutes les fonctions mathématiques et trigonométriques usuelles sont disponibles (SIN, LN, RACINE,...).
ARRONDI
Cette fonction renvoie la valeur numérique donnée comme premier argument arrondie au nombre de chiffres passé en second argument. La syntaxe est ARRONDI(valeurnumérique;nombrechiffres). Par exemple, ARRONDI(29,372;2) vaut 29,37 ; ARRONDI(29,372;1) vaut 29,4 ;

ARRONDI(29,372;0) vaut 29 ; ARRONDI(29,372;-1) vaut 30.
SOMME
Cette fonction renvoie la somme de toutes les valeurs numériques passées en argument. La syntaxe est : SOMME(argument1;argument2;...). Les arguments peuvent être des valeurs numériques, mais le plus souvent les arguments seront des références à des plages de cellules. Dans ce cas, seules les valeurs numériques sont prises en compte dans le calcul de la somme. Un exemple est donné dans la figure 6.5.

B3 B4 B5 SOMME(notes) MAX(notes) MOYENNE(notes) NB(notes) NBVAL(notes)
07 11 12 30 12 10 3 3
12 abs 14 26 14 13 2 3
15   abs 15 15 15 1 2

Figure 6.5 : fonctions statistiques ; la plage de cellules B3:B5 a pour nom notes


Fonctions statistiques
La plupart des fonctions statistiques sont disponibles (médiane, écart type, variance, ...). Nous ne détaillons dans ce paragraphe que les fonctions les plus basiques. En général, les arguments seront des références à des plages de cellules comme pour la fonction SOMME.

MAX
Cette fonction renvoie la plus grande valeur numérique de la liste des arguments. La syntaxe est : MAX(argument1;argument2;...). Un exemple est donné dans la figure 6.5.
MIN
Comme MAX mais MIN !
MOYENNE
Cette fonction renvoie la moyenne arithmétique des valeurs numériques de la liste sans prendre en compte les autres valeurs. La syntaxe est : MOYENNE(argument1;argument2;...). Un exemple est donné dans la figure 6.5.
NB
Cette fonction renvoie le nombre de valeurs numériques dans la liste des arguments. La syntaxe est : NB(argument1;argument2;...). Un exemple est donné dans la figure 6.5.
NBVAL
Cette fonction renvoie le nombre de cellules non vides (contenant des valeurs numériques ou pas) dans la liste des arguments. La syntaxe est : NBVAL(argument1;argument2;...). Un exemple est donné dans la figure 6.5. Pour bien comprendre la différence entre les fonctions NB et NBVAL, en se référant aux exemples de la figure 6.5, la formule

=SOMME(notes)/NB(notes) permet de calculer la moyenne en ne tenant pas compte des absences (elles sont justifiées), c'est ce que fait la fonction MOYENNE, la formule

=SOMME(notes)/NBVAL(notes) permet de calculer la moyenne en comptant une absence comme 0 (les absences ne sont pas justifiées).

Précédent Index Suivant