Vous êtes sur la page 1sur 17

OpenOffice.org 2.

0 Calc
HOW TO
Formules et Fonctions
Ralisation : Filip Lannoye flannoye@cirb.irisnet.be
Roland Van Wunsel rvanwunsel@cirb.irisnet.be
Version 1.0 du 0505!00"
#e$te bas sur %pen%ffice.or& !.0.1 '( pour Windows ) lan&ua&e pac*s FR et (L.
#e$te publi sous la licence +,L -.ttp:www.openoffice.or&licenses+,L.rtf/.
Table des matires
1. For0ules vs Fonctions
!. 1rer des for0ules
!.1. 'n rfrant des cellules de la 020e feuille
!.!. 'n rfrant des cellules de deu$ feuilles diffrentes du 020e classeur
!.3. 'n rfrant des cellules de deu$ classeurs diffrents
!.4. %prateurs
!.5. 'diter une for0ule
3. 5dresses relatives6 absolues et 0i$tes
3.1. 17est 8uoi le probl90e :;
3.!. La solution 0a&i8ue du si&ne <=<
4. >tiliser des fonctions
4.1. 1o00ent utiliser les fonctions :
4.!. ?uel8ues fonctions statisti8ues
4.3. ?uel8ues fonctions 0at.0ati8ues
4.4. ?uel8ues fonctions lo&i8ues
4.5. ?uel8ues fonctions de date et .eure
4.". ?uel8ues fonctions de rec.erc.e
4.@. '$e0ples int&rs
5. 1rdits
". Licence
5venue des 5rts !1 Aunstlaan
Bru$elles 1000 Brussel
# 3! ! !C! 4@ @0 F 3! ! !30 31 0@
www.cirb.irisnet.be www.cib&.irisnet.be
1. Formules vs Fonctions
#ant les for0ules 8ue les fonctions servent D faire des calculs dans un tableur. Les deu$
co00encent obli&atoire0ent par le si&ne <=< pour rfrencer ensuite les cellules 8ui contiennent
les valeurs D prendre en co0pte dans le calcul. ,e prfrence6 on vite au 0a$i0u0 les
rfrences fi$es dans les for0ules -c.iffres absolus/ pour rfrencer les adresses de cellule.
L7avanta&e vident de cela est 8ue les valeurs dans une cellule peuvent c.an&er et 8ue les
for0ules 8ui y font rfrence sont calcules correcte0ent6 alors 8ue si l7on 0et un c.iffre fi$e
dans une for0ule6 il faut le 0odifier D la 0ain pour 8ue la for0ule c.an&e. Le ris8ue d7erreurs
serait tr9s &rand.
<For0ule< E 1alcul 0at.0ati8ue co0binant des cellules par un oprateur 0at.0ati8ue.
Fynta$e : =!Cellule"!oprateur"!Cellule"
p.e$. E-51)5!)53/3
<Fonction< E 1alcul 0at.0ati8ue prdfini et stoc* sous un certain no0.
'$e0ple : 0oyenne E so00e d7une srie de valeurs divise par le no0bre de
valeurs de la srie
Fynta$e : =!#om de la fonction"$%rguments&
p.e$. EG%H'(('-51:53/
Retour
2. Crer des formules
2.1. 'n rfrant des cellules de la m(me feuille
Intr2t : faire des petites for0ules rapides 8ui font rfrence D des cellules 8ui sont typi8ue0ent
rparties sur la feuille. +ar contre6 pour des calculs faisant appel D des cellules conti&uJs6 on
utilise de prfrence des fonctions -voir plus bas/.
+rocdure :
1li8ueK sur la cellule dans la8uelle vous vouleK crire la for0ule.
#apeK le si&ne &al <=<.
1li8ueK sur la pre0i9re cellule contenant une valeur.
#apeK l7oprateur 0at.0ati8ue ncessaire.
1li8ueK sur la deu$i90e cellule contenant une valeur.
Fi c7est la derni9re cellule D rfrencer6 valideK la for0ule par <'nter<. Finon6 re0etteK
un oprateur et recli8ueK sur la cellule 8u7il faut. 'tc.
'$e0ple :
51 contient le c.iffre 1! L
13 contient le c.iffre !1 L
,10 contient le c.iffre 15M L
0505!00" For0ulesNetNFonctions !1@
,ans '!56 vous deveK additionner les valeurs des cellules 51 et 13 pour en soustraire
une rduction 8ue vous calculeK D l7aide du tau$ en ,10.
For0ule en '!5 : =$%1)C*&+$1,-10&
5ttention au$ calculs faisant appel D des pourcentages : typi8ue0ent6 on fait des
calculs du &enre <1)$M< ou <1O$M<6 un pourcenta&e n7tant rien d7autre 8u7un c.iffre
e$pri0 en centi90es -donc 15M E 0615/ et for0at en tant 8ue pourcenta&e6 en
020e te0ps 8ue <1< est &al D 100M. La for0ule relle est donc bien <100M)15M<
ou <100MO15M<6 ce 8ue d7.abitude6 on e$pri0e co00e <P1615< ou <P06C5<.
L7avanta&e absolu ici consiste D pouvoir c.an&er le tau$ en ,10 de faQon dyna0i8ue.
Retour
2.2. 'n rfrant des cellules de deu. feuilles diffrentes du m(me
classeur
'$e0ple :
51 de Feuille1 contient la valeur 30 L
B! de Feuille! contient la valeur 50 L
,ans '1 de Feuille16 on aurait besoin de 0ultiplier ces deu$ c.iffres.
+rocdure :
1li8ueK sur la cellule '1 de Feuille1 8ui est la cellule dans la8uelle vous vouleK crire la
for0ule.
#apeK le si&ne &al <=<.
1li8ueK sur la cellule 51 de la 020e feuille.
#apeK l7oprateur 0at.0ati8ue <P<.
'n bas de l7cran6 cli8ueK sur l7on&let <Feuille!< pour c.an&er de feuille.
1li8ueK sur la cellule B!.
ValideK la for0ule par <'nter<. Vous sereK de retour D la Feuille16 oR vous verreK le
rsultat du calcul dans la cellule '1.
Fynta$e : =%1+Feuille2./2
5ttention D la rfrence une feuille dans une for0ule : elle est spare de l7adresse
de cellule par le si&ne 0.0 $point&.
Retour
2.*. 'n rfrant des cellules de deu. classeurs diffrents
'$e0ple :
51 de Feuille1 de 1lasseur1 contient la valeur !0 L
B! de Feuille! de 1lasseur ! contient la valeur 350 L
,ans 11 de Feuille1 de 1lasseur16 on aurait besoin de 0ultiplier ces deu$ c.iffres.
1lasseur1 et 1lasseur! sont sauve&ards dans le dossier ,:S,ataS'$e0ples.
+rocdure :
Les deu$ fic.iers doivent 2tre ouverts.
5ctiveK le fic.ier <1lasseur!< en cli8uant sur le bouton correspondant de la <Barre des
#Tc.es< de Windows.
1li8ueK sur la cellule B! de Feuille! 8ui contient la valeur D rfrencer.
1opieK cette cellule.
0505!00" For0ulesNetNFonctions 31@
5ctiveK le fic.ier <1lasseur1< en cli8uant sur le bouton correspondant de la <Barre des
#Tc.es< de Windows.
1li8ueK sur la cellule 11 de Feuille1 8ui est la cellule dans la8uelle vous vouleK crire la
for0ule.
1li8ueK sur le 0enu <'dition 1 Collage spcial 1 coc.eK l7option 2ier< et valideK par
<O3<.
Le curseur se trouve touUours sur la cellule 11. Vous liseK alors la for0ule suivante sur
la barre de for0ule :
=--'$0soffice040-56-ata6'.emples6Classeur2.ods040Feuille2./20&
1li8ueK D la fin de cette rfrence sur la barre de for0ule.
#apeK l7oprateur 0at.0ati8ue <P<.
1li8ueK sur la cellule 51.
ValideK la for0ule par <'nter<.
Fynta$e :
=--'$0soffice040-56-ata6'.emples6Classeur2.ods040Feuille2./20&+%1
5ttention D la rfrence un autre fichier dans une for0ule : en ralit6 il faut copier
un lien --' 8ui pointe vers la cellule source et construire ensuite la for0ule autour de
cette rfrence.
Retour
2.7. Oprateurs
%. 2iste des oprateurs mat8mati9ues
) 5dditionner
O Foustraire
P Gultiplier
,iviser
-/ 1.an&er la priorit de calcul
V '$posant
5ttention au$ r9&les de priorit en 0at.0ati8ues : P et vont avant ) et O6 donc
si vous vouleK 0ultiplier la so00e de trois c.iffres6 il faut d7abord faire l7addition de
ces c.iffres entre parent.9ses pour raliser d7abord la so00e et ensuite seule0ent
faire la 0ultiplication.
'$e0ple : ! P -3 ) 4V!/ W 1 E 3@
/. 2iste des oprateurs de comparaison
E X est &al D H
Y X est plus &rand 8ue H
YE X est plus &rand ou &al D H
Z X est infrieur D H
ZE X est infrieur ou &al D H
ZY X est diffrent de H
Retour
0505!00" For0ulesNetNFonctions 41@
2.:. 'diter une formule
+our diter une for0ule6 cli8ueK sur la cellule 8ui contient la for0ule et pousseK sur la
touc.e <F2<. L7intr2t est 8ue vous diteK la for0ule directe0ent dans la cellule et 8ue
vous voyeK claire0ent toutes les rfrences d7adresses de cellule &rTce D un syst90e
de couleurs6 oR c.a8ue rfrence isole est 0ar8ue dans une certaine couleur et 8ue
la pla&e de cellules correspondante est entoure dans la 020e couleur. 1ela rend la
vrification et l7dition de for0ule particuli9re0ent facile.
Fi la for0ule est un peu lon&ue ou 8ue la cellule contenant la for0ule est entoure de
beaucoup d7infor0ation6 il peut 2tre plus difficile d7interprter la for0ule directe0ent
dans la cellule. 17est pour8uoi vous pouveK aussi diter la for0ule en cli8uant dedans
sur la barre de for0ule.
Retour
*. %dresses relatives; absolues et mi.tes
*.1. C<est 9uoi le problme =>
>n tableur est or&anis en colonnes et lignes. 1.a8ue croise0ent entre une colonne et une
li&ne fait une cellule. ,ans l7esprit d7un tableur6 on cre des tableau$ du .aut D &auc.e vers le bas
D droite. 'n 020e te0ps6 8uand on cre une for0ule6 on cre une for0ule pour la pre0i9re li&ne
ou la pre0i9re colonne et on la copie vers les autres li&nes ou les autres colonnes. 5insi6 on
obtient le 020e type de for0ule partout. +ar la suite6 tout c.an&e0ent de for0ule se ferait dans
la pre0i9re cellule de la srie pour la recopier de nouveau ensuite. 1ela rduit beaucoup le ris8ue
d7erreurs.
5 force de copier une for0ule de gauc8e ? droite6 l7adresse de la cellule .ber&eant la for0ule
c.an&e aussi 8uant D sa rfrence de colonne. 5insi6 une cellule 53 8ui contient la for0ule
<E51)5!< et 8u7on copie D droite6 devient B36 puis 13 et ainsi de suite. 5 force de copier donc la
for0ule sur l7a$e .oriKontal6 la rfrence de colonne incr0ente de 16 alors 8ue la rfrence de
li&ne ne c.an&e pas -3 dans tous les cas de l7e$e0ple/. 1eci est appel <copier de fa@on
relative<. ?uand vous vrifieK les for0ules contenues dans les cellules B3 et 136 vous verreK
respective0ent <EB1)B!< et <E11)1!<.
Fi vous copieK une for0ule dans ,1 vers le bas6 vous la copieK vers les cellules ,!6 ,3 et
suivantes. 5 force de copier une for0ule de 8aut en bas6 l7adresse de la cellule .ber&eant la
for0ule c.an&e donc 8uant D sa rfrence de ligne. Fi la for0ule en ,1 est <E51)B1)11<6
alors dans les cellules ,! et ,3 vous liseK 0aintenant respective0ent <E5!)B!)1!< et
<53)B3)13<. Il s7a&it de nouveau d7une copie relative6 oR les rfrences de cellules c.an&ent
d7apr9s la direction de la copie.
+ar contre6 8uand une partie de la for0ule fait rfrence D une valeur absolue6 cette rfrence ne
peut pas c.an&er 8uand on copie la for0ule. 5insi6 si vous 0etteK un tau$ de #V5 de !1M dans la
cellule F1 et 8ue vous vouleK au&0enter vos totau$ de colonne -cellules 53:13/ de #V56 la
for0ule en 53 devient <E-51)5!/P-1)F1/<. Fi vous copieK ensuite cette for0ule D droite6 vous
obteneK <E-B1)B!/P-1)[1/< et <E-11)1!/P-1)\1/<. 5 force de copier la for0ule de faQon
relative6 toutes les rfrences de colonne au&0entent de 16 y inclus la rfrence D la #V5 en F16
et cela donne un rsultat erron6 car on devrait avoir F1 partout ;
Il en va de 020e pour la copie verticale : si vous au&0enteK vos totau$ de li&ne -cellules ,1:,3/
de !1M de #V5 dans F16 vous obteneK les for0ules <E-51)B1)11/P-1)F1/<6
0505!00" For0ulesNetNFonctions 51@
<E-5!)B!)1!/P-1)F!/< et <E-53)B3)13/P-1)F3/<6 ce 8ui est de nouveau erron6 car le F1
devait rester F1 partout ;
Retour
*.2. 2a solution magi9ue du signe 0A0
+our viter 8u7une rfrence c.an&e 8uand vous copieK une for0ule D droite ou vers le bas6 vous
pouveK insrer le si&ne dollar <A< devant la rfrence de cellule D blo8uer. 5 force d7insrer ce
si&ne6 vous rendeK une adresse de cellule absolue et donc invariable.
5ttention : le si&ne <=< est D insrer devant la partie de l7adresse de cellule 8ui ne peut pas
c.an&er D la copie. #out dpend donc du sens de la copie pour savoir si vous 0etteK ce si&ne
devant la partie <colonne< ou <li&ne< ou les deu$ en 020e te0ps.
5insi6 pour reprendre les deu$ e$e0ples du point prcdent6 dans la for0ule de la cellule 536 le
<F< de <F1< c.an&eait en <[< et <\<6 0ais le <1< ne c.an&eait pas. 5utre0ent dit6 D force de copier
une for0ule D droite6 la rfrence <colonne< d7une adresse de cellule c.an&e6 0ais pas la li&ne. Fi
la rfrence <colonne< ne peut pas c.an&er6 il faut 0ettre un dollar devant cette rfrence et
recopier de nouveau la for0ule. Vous obtiendreK :
53 E-51)5!/P-1)AF1/
B3 E-B1)B!/P-1)AF1/
13 E-11)1!/P-1)AF1/
,e la 020e faQon6 dans la for0ule de la cellule ,16 il faut 0ettre un si&ne <=< devant le <1< de
<F1< pour blo8uer la rfrence de li&ne. ?uand vous copieK ensuite de nouveau cette for0ule6
vous obtiendreK :
,1 E-51)B1)11/P-1)FA1/
,! E-5!)B!)1!/P-1)FA1/
,3 E-53)B3)13/P-1)FA1/
+our insrer le si&ne <=<6 vous cli8ueK au bon endroit dans la for0ule sur la barre de for0ule et
soit vous le tapeK6 soit vous pousseK sur la co0binaison de touc.es <BHCFT)F7<. Fi vous
enfonceK ces touc.es plusieurs fois de suite6 diffrentes co0binaisons apparaissent -en cycle/ :
AFA1; FA1; AF1 et F1.
Il est vrai 8ue dans les deu$ cas6 vous aurieK pu 0ettre un si&ne <=< devant les deu$ rfrences
pour obtenir AFA16 0ais dans le cas de la copie .oriKontale6 le <=< devant <1< n7apporte rien et
dans le cas de la copie verticale6 le <=< devant <F< n7apporte rien6 car ces rfrences ne c.an&ent
pas de toute faQon.
Ftricte0ent parlant6 les deu$ si&nes <=< sont uni8ue0ent ncessaires si vous faites rfrence D
une cellule dans une for0ule 8ui sera copie aussi bien D droite 8u7en bas. 'n &nral6 c7est une
bonne prati8ue de ne 0ettre 8ue le si&ne 8u7il faut. 5insi6 vous contr]leK parfaite0ent les copies
de for0ules.
0505!00" For0ulesNetNFonctions "1@
'n rsu0 :
Adresse de cellule Type d'adresse Ce qui est bloqu
F1 5dresse relative Rien
FA1 5dresse 0i$te Li&ne -pour la copie verticale/
AF1 5dresse 0i$te 1olonne -pour la copie .oriKontale/
AFA1 5dresse absolue Li&ne et 1olonne -pour la copie dans les deu$ sens/
A retenir : metteD le signe 0A0 devant la rfrence 9ui ne peut pas c8anger6 c7estODOdire
devant la li&ne pour la copie vers le bas6 devant la colonne pour la copie D droite et devant les
deu$ pour une copie vers le bas et D droite.
La 8uestion des adresses relatives et absolues est o0niprsente. +artout oR il est 8uestion
d7adresses de cellule6 il faut vous poser la 8uestion s7il faut adapter les rfrences ou pas. 5insi6
vous en aureK besoin dans des for0ules et des fonctions6 0ais aussi dans les no0s de pla&e6 la
validit de donnes6 le for0ata&e conditionnel et les filtres.
Retour
7. Etiliser des fonctions
7.1. Comment utiliser les fonctions =
%. 2e grand classi9ue 5 la fonction 0Bomme0
+our additionner des valeurs de cellules conti&uJs6 plut]t 8ue d7utiliser une for0ule6 vous aveK
intr2t D utiliser la fonction <Fo00e< et de la copier dans les bonnes colonnes et li&nes. 1o00e
la so00e est la fonction la plus coura00ent utilise6 il e$iste un bouton pour l7insrer
rapide0ent.
+rocdure :
GetteK le curseur dans la cellule tout de suite en dessous de la srie de cellules D
additionner pour faire la so00e verticale ou tout de suite D droite pour la so00e
.oriKontale.
1li8ueK sur le bouton <Bomme< de la barre de for0ule. La fonction est inscrite
avec entre parent.9ses la srie de cellules slectionne auto0ati8ue0ent.
Fi la srie su&&re est correcte6 valideK par <'nter< ou par un clic sur le bouton
<%ppli9uer< de la barre de for0ule.
Fi la srie su&&re n7est pas correcte6 corri&eK sa rfrence en 0anipulant la
slection en surbrillance. 5insi6 D partir du petit plus au coin droit infrieur6 il y a
0oyen de redi0ensionner la slection. ?uand vous pointeK sur la slection
entoure en bleu6 le pointeur de la souris se transfor0e en une petite 0ain. Fi vous
cli8ueK et &lisseK 0aintenant6 vous pouveK dplacer la slection de base.
/. C8erc8er une fonction ? insrer
GetteK le curseur sur la cellule dans la8uelle vous vouleK insrer la fonction.
1li8ueK sur le bouton <%ssistant Fonctions< de la barre de for0ule.
0505!00" For0ulesNetNFonctions @1@
Fous <Catgorie<6 slectionneK la cat&orie de fonctions 8u7il vous faut. 1ela filtre
la liste des fonctions 8ui appara^t sous <Fonction<.
Fous <Fonction<6 slectionneK la fonction dsire. 5 droite6 vous voyeK appara^tre
la synta$e de la fonction6 ainsi 8u7une br9ve description.
1li8ueK sur le bouton <""Buivant< pour aller dans l7tape de la confi&uration de la
fonction.
FaisisseK les ar&u0ents ncessaires en vous servant au 0a$i0u0 de la souris. F7il
est 8uestion d7adresses de cellule6 prfreK les slectionne plut]t 8ue de taper leurs
adresses pour viter toute erreur.
'$e0ple de la fonction <Goyenne< :
0505!00" For0ulesNetNFonctions C1@
ValideK l7ense0ble par <O3<.
Attention : les arguments obligatoires sont 0ar8us en caract9res gras L les
optionnels en caract9res nor0au$.
C. Cnsrer une fonction dernirement utilise
GetteK le curseur sur la cellule dans la8uelle vous vouleK insrer la fonction.
Fur la barre de for0ule6 cli8ueK sur le si&ne &al <E<.
ReveneK D &auc.e sur la barre de for0ule et ouvreK la liste droulante.
FlectionneK la fonction dsire. 'lle s7inscrit tout de suite dans la cellule.
Rensei&neK les para09tres re8uis et valideK.
Fi vous vouleK utiliser la fen2tre de l7assistant pour co0plter la fonction6 cli8ueK
sur le bouton <%ssistant Fonctions< 6 rensei&neK les para09tres ncessaires et
valideK la fonction.
-. 'diter une fonction insre
+our diter une fonction dUD insre6 cli8ueK sur la cellule contenant cette fonction.
Recli8ueK sur le bouton <%ssistant Fonctions< 6 0odifieK les ar&u0ents
ncessaires et valideK par <O3<.
'. Etiliser l<aide
Fi vous n72tes pas s_r du c.oi$ de la fonction ou 8ue vous vouleK voir un e$e0ple
de la fonction c.oisie6 D partir de la deu$i90e tape de l75ssistant Fonctions6
cli8ueK sur le bouton 0%ide0. La pa&e d7aide concernant la fonction s7ouvre.
F. Fuelles fonctions e.iste,t,il =
,ans la pre0i9re tape de l75ssistant Fonctions6 vous pouveK parcourir les fonctions
par cat&orie pour savoir ce 8ui e$iste. La plupart des no0s de fonctions sont asseK
intelli&ibles.
Astuce : 8uand vous cli8ueK sur une fonction de la liste et 8ue vous tapeK la
pre0i9re lettre d7une fonction c.erc.e6 la liste dfile rapide0ent.
>ne autre approc.e consiste D creuser dans les pa&es d7aide. +ousseK pour cela sur
la touc.e <F1< ou cli8ueK sur le 0enu <%ide 1 %ide de OpenOffice.org<.
5 partir de la pre0i9re pa&e d7aide6 suiveK le lien <Fonctions de OpenOffice.org
Calc<. Vous verreK appara^tre la liste des catgories de fonctions pour ensuite
descendre dans c.acune des cat&ories.
#ouUours D partir de l7aide6 vous pouveK &ale0ent c.erc.er le no0 d7une fonction
connue directe0ent. Fi Ua0ais la fonction ne vous convient pas6 vous pouveK suivre
0505!00" For0ulesNetNFonctions `1@
les liens en dessous de la fonction pour re0onter dans la cat&orie des fonctions
voisines.
Fi vous vouleK consulter la liste co0pl9te et dtaille de toutes les fonctions
e$istantes en 1alc6 tlc.ar&eK le &uide <Fonctions de Calc< disponible dans les
[uides du site .ttp:fr.openoffice.or& D l7adresse
.ttp:fr.openoffice.or&,ocu0entation[uidesInde$&uide..t0l.
Retour
7.2. Fuel9ues fonctions statisti9ues
Retour
7.*. Fuel9ues fonctions mat8mati9ues
Attention : le crit9re des fonctions (B.FI et F%GG'.FI s7crit entre &uille0ets ;
0505!00" For0ulesNetNFonctions 101@
,ans ce deu$i90e e$e0ple6 la fonction <F%GG'.FI< prend trois ar&u0ents : d7abord6
on rep9re les cellules dans la colonne 1 8ui contiennent le sy0bole 0ontaire <a<6 puis
on fait la so00e des c.iffres correspondants de la colonne B.
Retour
7.7. Fuel9ues fonctions logi9ues
La fonction <BC< prend trois ar&u0ents : le cas D tester6 la valeur D rendre si le test est
positif et la valeur D rendre si le test est n&atif.
,ans B146 la fonction lo&i8ue <'#< a t aUoute pour co0biner deu$ crit9res 8ui
doivent 2tre respects tous les deu$ pour 8ue le test soit valide. 5insi6 si le 0ini0u0
de la srie -B10/ donne au 0oins 100 et le 0a$i0u0 -B11/ au 0oins 3006 on affic.e
la valeur <1ontent<6 sinon <+as content<.
<'T< sert D co0biner des crit9res 8ui doivent tous 2tre respects pour 8ue le rsultat
du test donne <VR5I<.
<OE< sert D co0biner des crit9res dont il suffit 8u7il y en ait un 8ui soit respect pour
8ue le rsultat du test donne <VR5I<.
Retour
7.:. Fuel9ues fonctions de date et 8eure
5ttention au for0ata&e des dates6 car le pro&ra00e les traite co00e des c.iffres ;
+our c.an&er le for0ata&e6 alleK dans <Format 1 Cellules 1 onglet #ombre 1
0505!00" For0ulesNetNFonctions 111@
catgorie -ate< et c.oisisseK le for0at 8ui convient6 typi8ue0ent <,,GG5555<6
c7estODOdire deu$ positions pour le Uour6 deu$ pour le 0ois et 8uatre pour l7anne.
Retour
7.G. Fuel9ues fonctions de rec8erc8e
La fonction <H'CH'HCH'I< est la fonction de rec.erc.e par e$cellence. 'lle situe
l7l0ent donn6 100 dans 5! de l7e$e0ple6 dans la pre0i9re colonne de la 0atrice
-=[=1!:=I=1"/ -pre0i9re position dans ce cas/ pour rendre la valeur correspondante
de la colonne de0ande -!6 car on veut rendre la description dans la colonne B L elle
se trouve dans la deu$i90e colonne de la 0atrice.
L7utilisation des si&nes <A< s7av9re Uudicieu$ dans ce conte$te : la 0atrice est ainsi
rendue fi$e dans les for0ules copies. ?uant D <=5!<6 plut]t 8ue <5!<6 c7est une astuce
dans ce casOci6 car ainsi6 on peut facile0ent copier la for0ule initiale de la cellule B! D
1! et c.an&er la colonne de rfrence ! en 3 pour affic.er le pri$ unitaire au lieu de la
description. Le reste de la for0ule reste identi8ue et c7est donc plus rapide 8ue de
rencoder toute la fonction par l7assistant.
>ne alternative tr9s souvent utilise dans ce conte$te consisterait D no00er la 0atrice
et d7utiliser ce no0 D la place des adresses de cellules dans la fonction. 5insi6 pour la
cellule B!6 si on no00e la 0atrice =[=1!:=I=1" <catalo&ue<6 la for0ule deviendrait
<=H'CH'HH'I$A%24catalogue42&<6 ce 8ui est nette0ent plus facile D lire.
+our crer un nom de plage6 slectionneK la 0atrice et cli8ueK dans la pre0i9re Kone
de la barre de for0ule -<Jone de nom</6 oR l7adresse de la slection actuelle appara^t.
#apeK le no0 <catalo&ue< et valideK par <'nter<.
+our &rer le no0 apr9s coup6 utiliseK le 0enu <Cnsrer 1 #oms 1 -finir<.
Fi la valeur donne D reprer dans la liste n7y appara^t pas6 la fonction <R'1\'R1\'V<
la situe entre les l0ents e$istants. +our 8ue cette rec.erc.e par tranc.e fonctionne
correcte0ent6 il faut 8ue la pre0i9re colonne de la 0atrice soit trie par ordre
ascendant. 5insi6 une valeur donne 4@5 D situer dans une liste 8ui incr0ente par
centaine6 rendrait la valeur correspondante de 4006 car le seuil de 500 n7est pas
atteint.
+ar contre6 il e$iste des conte$tes6 dont le petit bon de co00ande de l7e$e0ple6 oR il
n7est pas per0is de rendre une valeur pour un code ine$istant. ,ans ce casOci6 si on
tape un code ine$istant6 on devrait affic.er un 0essa&e d7erreur pour attirer l7attention
0505!00" For0ulesNetNFonctions 1!1@
de l7utilisateur sur cette erreur. 5 ce 0o0entOlD6 soit il 0et un bon code6 soit il tend la
liste source par le nouveau code. +our 8ue la fonction R'1\'R1\'V tienne co0pte de
cette contrainte6 il faut aUouter un 8uatri90e ar&u0ent <0<:
Le code !50 n7tant pas un code valide6 on n7affic.e pas la description et le pri$ du
code !006 0ais l7erreur <b(5< -<(ot available<6 pas disponible/ &rTce au dernier
ar&u0ent <0<.
>ne variante de la fonction R'1\'R1\'V est <H'CH'HCH'H<. 'lle fonctionne de la
020e faQon6 sauf 8ue la liste de rfrence est or&anise en li&nes plut]t 8u7en
colonnes et 8ue la pre0i9re li&ne devient donc la li&ne de rec.erc.e.
>n point tr9s fort d7%pen%ffice.or& consiste en l7dition d7une fonction encode. Fi vous
cli8ueK sur la cellule B! et 8ue vous cli8ueK sur le bouton <5ssistant Fonctions< de la
barre de for0ule pour l7diter6 vous arriveK dans le deu$i90e on&let de la fen2tre6 8ui
affic.e la structure arborescente de la for0ule co0pl9te. ?uand vous cli8ueK sur
l7l0ent de votre c.oi$ dans cette structure6 le curseur se positionne tout de suite au
bon endroit pour faciliter l7dition. 1ette tec.ni8ue est particuli9re0ent intressante
pour l7dition de fonctions int&res -voir point suivant/.
Retour
0505!00" For0ulesNetNFonctions 131@
7.K. '.emples intgrs
Le &rand dfi de l7utilisation des fonctions consiste D combiner plusieurs fonctions
pour rpondre D une 8uestion. #r9s souvent6 la co0binaison intelli&ente des fonctions
prsentes dans ce docu0ent6 vous per0et de traiter la plupart des 8uestions. Le rel
probl90e n7est pas telle0ent le c.oi$ de la bonne fonction6 ni l7encoda&e de ces
ar&u0ents6 0ais la faQon de dcorti9uer votre 9uestion comple.e en 8uestions
si0ples au$8uelles vous pouveK rpondre par des fonctions de base en 1alc.
Vous utilisereK tr9s fr8ue00ent la fonction lo&i8ue <FI< pour tester la validit d7un
cas concret. 'n ter0es d7approc.e6 il vaut tr9s souvent 0ieu$ co00encer par la relle
8uestion et l7enrober ensuite de la fonction <FI< pour conditionner le fait de calculer ou
pas.
L7e$e0ple suivant est prsent en trois variantes :
#ableau 1 : le tableau de base reprend des c.iffres de bases 8ui sont additionns
par pays et par produit. Les totau$ des pays sont e$pri0s en pourcenta&e de
rpartition par rapport au total &nral.
#ableau ! : si le tableau est vid -pour en faire un 0od9le de tableau par e$e0ple/6
les pourcenta&es posent probl90e6 car le total &nral tant 06 on fait des divisions
par 06 ce 8ui n7est pas possible. L7ide serait de conditionner le fait de calculer le
pourcenta&e ou pas.
#ableau 3 : par0i les solutions possibles6 on conditionne d7abord le fait de calculer
la so00e par pays en forQant ainsi l7encoda&e correct de tous les l0ents avant
d7e$cuter les calculs -E 0oyen de contr]ler la validit des donnes/. +uis6 le calcul
du pourcenta&e dpend du total &nral. ,9s 8u7une colonne co0pl9te est re0plie6
il y aura une so00e et donc aussi un total &nral suprieur D 0. LD seule0ent6 le
probl90e de la division par 0 dispara^t. Le test du calcul du pourcenta&e consiste
donc si0ple0ent D voir si le total &nral n7est pas 0.
0505!00" For0ulesNetNFonctions 141@
La for0ule en B!1 se lit co00e suit : si toutes les donnes de la Bel&i8ue sont
re0plies6 on fait la so00e6 sinon on affic.e un blanc -deu$ &uille0ets/. +our voir si
toutes les donnes sont re0plies6 on ne va pas tester c.acune des cellules6 0ais on
utilise la fonction <(B<6 8ui co0pte le no0bre de cellules re0plies par un c.iffre dans
une srie de donnes. La partie <(B-B1C:B!0/< donne un c.iffre entre 0 et 36 8u7on
teste par la suite pour voir s7il est &al D 3. La partie <test< de la fonction FI teste donc
si 06 16 ! ou 3 est &al D 3 et ce n7est 8ue dans le dernier cas 8ue le test donne <VR5I<
est 8ue la partie <F%GG'-B1C:B!0/< est calcule. ,ans le cas contraire6 la partie
fausse est e$cute et rend les deu$ &uille0ets6 soit un blanc.
?uand vous diteK la fonction i0bri8ue par l75ssistant Fonctions6 vous obteneK la
structure suivante :
Attention : pour imbri9uer une fonction D partir de l7assistant6 il faut cli8uer sur le
bouton <f$< D c]t de la Kone ncessaire et reco00encer la slection de fonction et le
para0tra&e. +our revenir ensuite au niveau suprieur6 viter de cli8uer sur <%A<6 0ais
0505!00" For0ulesNetNFonctions 151@
cli8ueK au bon endroit de la synta$e de la fonction en construction dans la Kone
<For0ule< en bas de la fen2tre.
La for0ule en B!! est 020e plus si0ple : elle vrifie si le total en '!1 -avec <=<6 car
on copie la for0ule D droite ;/ est diffrent de 0. Fi c7est le cas6 c7est 8u7au 0oins un
pays tait re0pli correcte0ent et alors lD6 cela a du sens de calculer un pourcenta&e.
#ant 8ue le total &nral reste D 06 cela n7a pas de sens et on affic.e donc 0.
Vue structure :
5stuces fr8ue00ent appli8ues :
Comment fait-on pour ... Fonction utiliser
Voir si toute une srie de cellules est
re0plie
#/ L cela donne le no0bre absolu de cellules re0plies
par un c.iffre L tester ce c.iffre par une fonction FI
p.e$. FI-(B-51:53/E3L<%A<L<(%A</
Voir si toutes les valeurs d7une srie sont
suprieures D 100
100 est le c.iffre 0ini0al autoris. '$traire le c.iffre
le plus bas de la srie par la fonction LC# et tester ce
c.iffre par rapport D 100. ,7office6 les autres c.iffres
de la srie sont aussi au 0oins 100.
p.e$. FI-GI(-51:53/YE100L<%A<L<(%A</
Voir si au 0oins un c.iffre de la srie
dpasse 1000
#ester le c.iffre le plus &rand de la srie par la
fonction L%M pour voir s7il dpasse le seuil.
p.e$. FI-G5X-51:53/YE1000L<%A<L<(%A</
Voir si un l0ent c.erc. e$iste ou pas
et affic.er un 0essa&e en fonction du
rsultat
>tiliser la fonction d7infor0ation 'BT#% -<est b(5</6
autre0ent dit6 e$cuter la fonction pour voir si elle
rend l7erreur b(5.
p.e$. FI-'F#(5-R'1\'R1\'V-=5!Lcatalo&ueL!L0/L
<(7e$iste pas;<LR'1\'R1\'V-=5!Lcatalo&ueL!L0//
Retour
0505!00" For0ulesNetNFonctions 1"1@
:. Crdits
5uteur : Filip 2annoNe
Re0ercie0ent : Holand van Wunsel; CCH/
Int&r par : TonN Oalmic8e sur le site 8ttp5PPfr.openoffice.org
1ontacts : Centre d<Cnformati9ue pour la Hgion /ru.elloise 1 QQQ.cirb.irisnet.be
#raduction :
\istori8ue des 0odifications :
Version Date Commentaire
1.0 0505!00" +re0i9re version pour publication
Retour
G. 2icence
%ppendi.
Rublic -ocumentation 2icense #otice
#.e contents of t.is ,ocu0entation are subUect to t.e +ublic ,ocu0entation License
Version 1.0 -t.e <License</L you 0ay only use t.is ,ocu0entation if you co0ply wit. t.e ter0s of
t.is License. 5 copy of t.e License is available at http://www.openoffice.org/licenses/PDL.html.
#.e %ri&inal ,ocu0entation is Calc How To FR Formules et Fonctions.odt. #.e Initial
Writer of t.e %ri&inal ,ocu0entation is Filip Lannoye 1opyri&.t 1IRBO1IB[c !00". 5ll Ri&.ts
Reserved. -Initial Writer contact-s/: flannoye@cirb.irisnet.be/.
1ontributor-s/: Roland Van Wunsel.
+ortions created by NNNNNN are 1opyri&.t cNNNNNNNNN[Insert year(s!. 5ll Ri&.ts Reserved.
-1ontributor contact-s/: rvanwunsel@cib&.irisnet.be/.
(%#': #.e te$t of t.is 5ppendi$ 0ay differ sli&.tly fro0 t.e te$t of t.e notices in t.e files
of t.e %ri&inal ,ocu0entation. Hou s.ould use t.e te$t of t.is 5ppendi$ rat.er t.an t.e te$t
found in t.e %ri&inal ,ocu0entation for Hour Godifications.
Retour
0505!00" For0ulesNetNFonctions 1@1@

Vous aimerez peut-être aussi