Você está na página 1de 87

LibreOffice Calc Avanado

Ueritom Ribeiro Borges


Revisor: Klaibson Natal Ribeiro Borges
1
Direitos Autorais
Este documento rotegido or Co!rig"t # $%&% or seus contribuidores listados abai'o( )oc*
ode distribuir e+ou modificar este trabal"o, tanto sob os termos da Licena -.blica /eral /NU
0"tt:++ 111(gnu(org +licenses +gl("tml 2, vers3o 4 ou osterior, ou da Licena de Atribui3o Creative
Commons 0"tt:++ creativecommons(org +licenses +b!+4(%+ 2, vers3o 4(% ou osterior(
5odas as marcas comerciais dentro desse guia ertencem aos seus resectivos donos(
O trabal"o LibreOffice Calc Avanado de Ueritom Ribeiro Borges e (revisor) Klaibson Natal
Ribeiro Borges foi licenciado com uma Licena Creative Commons 6 Atribui3o 4(% N3o Adatada(
Contribuidores
Ueritom Ribeiro Borges
Klaibson Natal Ribeiro Borges 0Revisor2
Feedback
-or favor, direcione 7ual7uer coment8rio ou sugest3o sobre este documento ara:
ueritom9!a"oo(com(br e+ou :laibson9gmail(com
2
Uma Palavra Para Voc
5alve; n<s nunca ven"amos a l"e con"ecer, mas escrevemos este livro ensando em a=udar
)OC> no seu trabal"o, se=a no seu escrit<rio, sala de aula ou escrevendo um livro, assim como eu
fi;(
Este e6boo: gratuito at as rimeiras &%%% c<ias( ?as se a sua leitura l"e a=udar em algo,
agradeceria se voc* udesse comrar uma edi3o imressa no site
"tt:++111(clubedosautores(com(br , es7uise or LibreOffice Calc Avanado, LibreOffice ou elo
nome dos autores(
?uito obrigado anteciadamente ela sua articia3o(
UER@5O? R@BE@RO BOR/EA
KLA@BAON NA5AL R@BE@RO BOR/EA 0Revisor2
3
Agradecimentos
Bueremos agradecer a Ceus, 7ue nos orientou e nos guiou at con"ecer o Aoft1are Livre
atravs do antigo BrOffice(Org a agora LibreOffice
Buero agradecer D nossa m3e, Bertolina ?affei, ela insira3o 7ue ela semre nos foi dada,
ois escreveu um livro com oucos recursos na oca 0&EEF2 e semre 7uisemos fa;er a mesma
coisa e agora conseguimos( Acoman"em seu blog 111(bele;a6e6nature;a(blogsot(com
Buero agradecer aos desenvolvedores, alunos, gruo de usu8rios e tantas essoas 7ue
es7ueci de mencionar, 7ue de um forma ou de outra, nos insiraram na cria3o desse livro(
4
Os Autores
Ueritom Ribeiro Borges
-rofessor de inform8tica na ?icromi' Gorma3o -rofissional, em -al"oa+AC e entusiasta
da inform8tica( 5rabal"a tambm com lHngua inglesa, onde ossui dois blogs:
111(inglesaraleigos(com e 111(inglescommusica(net, 7ue ossuem tambm suas resectivas
8ginas no Gaceboo:: 111(faceboo:(com+inglesaraleigos e
111(faceboo:(com+inglescommusica(
Klaibson Natal Ribeiro Borges
-<s6graduando em /er*ncia de -ro=etos de 5@ e Administra3o de Emresas, ambos Unisul,
Universidade do Aul de Aanta Catarina, rofessor do Aenai+AC, Unidade A3o Ios nos cursos de
Arendi;agem @ndustrial e diversos Cursos 5cnicos(
5rabal"ou em diversas escolas rofissionali;antes como instrutor de inform8tica e rotinas
administrativas entre os anos de $%%J D $%%E(
-ossui o blog, 111(libreofficearaleigos(org, tambm escreveu o eboo: LibreOffice -ara
Leigos, suerando os && mil do1nloas(
Gaceboo:: 111(faceboo:(com+livreoffice e 51itter: 9liboaraleigos
5
U!"R#O
KNC@CE CE @LUA5RALMEA((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((($
&( GUNLMEA @N5ER?EC@NR@AA E A)ANLACAA((((((((((((((((((((((((((((((((((((((((F
&(& GUNLOO AE(((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((P
&($ GUNLOO CON5(AE(((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((&4
&(4 GUNLOO AO?AAE(((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((&F
&(J GUNLOO CON5(NQ?((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((&E
&(R GUNLOO CON5()ALOREA((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((($%
&(F GUNLMEA E E OU((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((($&
&(S( GUNLOO -ROC)((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((($S
$( RECURAOA AC@C@ONA@A CO CALC((((((((((((((((((((((((((((((((((((((((((((((((((((((((((4&
$(& AU5OG@L5RO((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((4&
$($ CLAAA@G@CAR CACOA(((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((4S
$(4 )AL@CALOO(((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((J%
$(J CEG@N@R NO?EA((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((JS
$(R -RO5E/ER CTLULAA(((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((JE
$(F EUERCKC@OA(((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((R4
4( AAA@A5EN5E CE CACOA((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((RJ
4(& 5ABELA C@NV?@CA((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((RJ
4($ CR@ANCO /RNG@COA A -AR5@R CE U?A 5ABELA C@NV?@CA( (FF
4(4 EUERCKC@OA(((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((SJ
J( ?ACROA((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((SR
J(& W -RO/RA?ANCO ?ACROA E GUNLMEA((((((((((((((((((((((((((((((((((((P%
J($ 6 CR@ANCO GUNLMEA CALC NO BAA@C((((((((((((((((((((((((((((((((((((((((PJ
6
$ND#C% D% #&U'RA()%
Gigura & W Lista de categorias((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((F
Gigura $ W 5abela onde ser8 utili;ada a fun3o AE(((((((((((((((((((((((((((((((((((((((((((((((P
Gigura 4 W Gun3o AE((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((E
Gigura J W E'emlo de reenc"imento da fun3o AE(((((((((((((((((((((((((((((((((((((((((&%
Gigura R W Resultado da fun3o AE(((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((&%
Gigura F W Outro e'emlo usando a fun3o AE(((((((((((((((((((((((((((((((((((((((((((((((((((&&
Gigura S W Gun3o AE usando f<rmulas(((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((&$
Gigura P W -lanil"a de rea=uste reenc"ida((((((((((((((((((((((((((((((((((((((((((((((((((((((((((&$
Gigura E W 5abela de e'emlo da fun3o CON5(AE(((((((((((((((((((((((((((((((((((((((((((&4
Gigura &% W 5abela de aoio((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((&4
Gigura && W Ianela de configura3o da fun3o CON5(AE(((((((((((((((((((((((((((((((((((&J
Gigura &$ W -reenc"imento da fun3o CON5(AE(((((((((((((((((((((((((((((((((((((((((((((((&R
Gigura &4 W E'emlo ara utili;a3o da fun3o AO?AAE(((((((((((((((((((((((((((((((((&F
Gigura &J W 5abela de aoio ara a fun3o AO?AAE((((((((((((((((((((((((((((((((((((((((&S
Gigura &R W -reenc"imento da fun3o AO?AAE((((((((((((((((((((((((((((((((((((((((((((((((&P
Gigura &F W 5abela reenc"ida com o uso da fun3o AO?AAE(((((((((((((((((((((((((&P
Gigura &S W 5abela de aoio da fun3o CON5(NQ?(((((((((((((((((((((((((((((((((((((((((&E
Gigura &P W Comarativo entre CON5(NQ? e CON5()ALOREA((((((((((((((((((($%
Gigura &E W 5abela verdade das funXes E e OU(((((((((((((((((((((((((((((((((((((((((((((((($$
Gigura $% W 5abela de controle de "oras((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((($4
Gigura $& W E'emlo do resultado da fun3o en7uanto o reenc"imento est8 incomleto$4
Gigura $$ W Resolvendo o roblema do reenc"imento incomleto((((((((((((((((((($J
Gigura $4 W Resultado da funXes AE e OU(((((((((((((((((((((((((((((((((((((((((((((((((((((((($R
Gigura $J W E'emlo ara uso da fun3o E com a fun3o AE(((((((((((((((((((((((((((($R
Gigura $R W -reenc"endo a f<rmula ara selecionar os clientes(((((((((((((((((((((((((($F
Gigura $F W 5abela reenc"ida com as funXes E e AE((((((((((((((((((((((((((((((((((((((($F
Gigura $S W 5abela de e'emlo ara uso da fun3o -ROC)(((((((((((((((((((((((((((((($S
Gigura $P W E'emlo de reenc"imento da fun3o -ROC)((((((((((((((((((((((((((((((($P
Gigura $E W E'emlo de tabela reenc"ida com o au'Hlio de -ROC)((((((((((((((($E
Gigura 4% W Corrigindo mensagem de erro(((((((((((((((((((((((((((((((((((((((((((((((((((((((((($E
Gigura 4& W 5abela de e'emlo ara uso do recurso AutoGiltro(((((((((((((((((((((((((4&
Gigura 4$ W OXes de um dos menus de Giltragem(((((((((((((((((((((((((((((((((((((((((((4$
7
Gigura 44 W E'emlo de uso de Giltro Aimles(((((((((((((((((((((((((((((((((((((((((((((((((((4$
Gigura 4J W E'emlo de mais de uma filtragem(((((((((((((((((((((((((((((((((((((((((((((((((44
Gigura 4R W Cai'a de di8logo Giltro -adr3o((((((((((((((((((((((((((((((((((((((((((((((((((((((((44
Gigura 4F W E'emlo de uso de filtro simles com filtro adr3o((((((((((((((((((((((((4J
Gigura 4S W E'emlo de filtro usando mais de uma condi3o((((((((((((((((((((((((((((4R
Gigura 4P W Resultado de filtragem usando mais de uma condi3o 0Oerador E24R
Gigura 4E W E'emlo de filtro com oerador OU(((((((((((((((((((((((((((((((((((((((((((((((4F
Gigura J% W Resultado da filtragem usando oerador OU(((((((((((((((((((((((((((((((((((4F
Gigura J& W 5abela de e'emlo ara recurso Classificar Cados(((((((((((((((((((((((((4S
Gigura J$ W Cai'a de di8logo Classificar Cados(((((((((((((((((((((((((((((((((((((((((((((((((4P
Gigura J4 W 5abela deois de classificada(((((((((((((((((((((((((((((((((((((((((((((((((((((((((((4P
Gigura JJ W E'emlo de classifica3o usando dois critrios(((((((((((((((((((((((((((((((4E
Gigura JR W Ianela de )alida3o de dados((((((((((((((((((((((((((((((((((((((((((((((((((((((((((J%
Gigura JF W )alidando clulas selecionadas((((((((((((((((((((((((((((((((((((((((((((((((((((((((J&
Gigura JS W Lista contendo os valores validados((((((((((((((((((((((((((((((((((((((((((((((((J$
Gigura JP W ?ensagem de erro adr3o de valida3o(((((((((((((((((((((((((((((((((((((((((((J$
Gigura JE W Ianela ara ersonali;a3o da mensagem de erro((((((((((((((((((((((((((((J4
Gigura R% W E'emlo da o3o -arar((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((J4
Gigura R& W E'emlo da o3o Aviso(((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((JJ
Gigura R$ W Outro e'emlo de valida3o((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((JR
Gigura R4 W Cefinir Nomes((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((JS
Gigura RJ W 5abela de aoio ara Cefinir Nomes(((((((((((((((((((((((((((((((((((((((((((((((JS
Gigura RR W Ianela de digita3o de sen"a ara rote3o da lanil"a(((((((((((((((((((JE
Gigura RF W N3o ossHvel modificar clulas rotegidas((((((((((((((((((((((((((((((((((((R%
Gigura RS W -lanil"a utili;ada ara e'emlo de rote3o de clulas(((((((((((((((((((R%
Gigura RP W Ianela de desrote3o de clulas((((((((((((((((((((((((((((((((((((((((((((((((((((((R&
Gigura RE W E'emlo de f<rmula aarecendo, mesmo a clula estando blo7ueadaR$
Gigura F% W G<rmula Oculta((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((R$
Gigura F& W 5abela de e'emlo ara Assistente de Cados((((((((((((((((((((((((((((((((((RJ
Gigura F$ W Aelecionando a origem dos dados((((((((((((((((((((((((((((((((((((((((((((((((((((RJ
Gigura F4 W La!out do Assistente de dados(((((((((((((((((((((((((((((((((((((((((((((((((((((((((RR
Gigura FJ W Resultado do assistente de dados(((((((((((((((((((((((((((((((((((((((((((((((((((((RF
Gigura FR W Outro e'emlo de tabela dinYmica((((((((((((((((((((((((((((((((((((((((((((((((((RS
Gigura FF W ?ais um e'emlo de tabela dinYmica((((((((((((((((((((((((((((((((((((((((((((((RP
8
Gigura FS W Ianela ara sele3o da fun3o do Camo de Cados(((((((((((((((((((((((((RE
Gigura FP W Alterando a fun3o da tabela dinYmica((((((((((((((((((((((((((((((((((((((((((((RE
Gigura FE W ?ensagem informando 7ue n3o ossHvel alterar dados na tabela dinYmica F%
Gigura S% W E'emlo mostrando 7ue a tabela dinYmica n3o atuali;ada automaticamente
(((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((F&
Gigura S& W O3o 7ue atuali;a a tabela dinYmica((((((((((((((((((((((((((((((((((((((((((((((F&
Gigura S$ W 5abela dinYmica atuali;ada((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((F$
Gigura S4 W Ianela de filtragem ara tabelas dinYmicas((((((((((((((((((((((((((((((((((((((F$
Gigura SJ W E'emlo de configura3o de filtro ara 5abela CinYmica((((((((((((((F4
Gigura SR W Resultado de filtragem na tabela dinYmica((((((((((((((((((((((((((((((((((((((F4
Gigura SF W E'emlo de atuali;a3o da filtragem com atuali;a3o dos valores( FJ
Gigura SS W Outro e'emlo de atuali;a3o da filtragem com atuali;a3o dos valores FR
Gigura SP W Assistente de gr8fico W Escol"a do tio de gr8fico((((((((((((((((((((((((((FF
Gigura SE W Escol"a do intervalo de dados((((((((((((((((((((((((((((((((((((((((((((((((((((((((((FS
Gigura P% W @ntervalo 7ue deve ser selecionado 0em amarelo2((((((((((((((((((((((((((((FP
Gigura P& W Assistente de gr8fico W ersonali;a3o das sries de dados(((((((((((((FE
Gigura P$ W Assistente de gr8fico W Escol"endo tHtulos e legendas(((((((((((((((((((((S%
Gigura P4 W Assistente de gr8fico 6 e'emlo de reenc"imento dos Elementos do gr8fico
(((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((S&
Gigura PJ W /r8fico deois de ronto((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((S&
Gigura PR W Ianela de escol"a de tio de gr8fico(((((((((((((((((((((((((((((((((((((((((((((((((S$
Gigura PF W Configura3o do reenc"imento do gr8fico(((((((((((((((((((((((((((((((((((((S4
Gigura PS W E'emlo de gr8fico formatado(((((((((((((((((((((((((((((((((((((((((((((((((((((((((S4
Gigura PP W Ianela de grava3o de macro((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((SR
Gigura PE W 5abela ara e'emlo de utili;a3o de macros(((((((((((((((((((((((((((((((((SR
Gigura E% W E'emlo de configura3o de macros(((((((((((((((((((((((((((((((((((((((((((((((SF
Gigura E& W Ianela ara salvar a macro(((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((SF
Gigura E$ W Ianela de sele3o de macros(((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((SS
Gigura E4 W ?acro a<s e'ecutada((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((SS
Gigura EJ W E'cluindo ?acros((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((SP
Gigura ER W 5abela ara utili;a3o de novo e'emlo de macro((((((((((((((((((((((((((SP
Gigura EF W Ianela Colar Esecial(((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((SE
Gigura ES W 5abela a<s utili;a3o da macro((((((((((((((((((((((((((((((((((((((((((((((((((((((SE
Gigura EP W Ianela de edi3o do LibreOffice Basic(((((((((((((((((((((((((((((((((((((((((((((P%
9
Gigura EE W C<digo ara ?acro((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((PJ
Gigura &%% 6 ?acro em e'ecu3o 6 arte &((((((((((((((((((((((((((((((((((((((((((((((((((((((((((PJ
Gigura &%& W ?acro em e'ecu3o W arte $((((((((((((((((((((((((((((((((((((((((((((((((((((((((PJ
Gigura &%$ W E'emlo de tabela ara demonstra3o de funXes((((((((((((((((((((((((PF
Gigura &%4 W E'emlo de c<digo criado ara uma fun3o ersonali;ada(((((((((((PS
Gigura &%J W E'emlo de utili;a3o de fun3o criada elo usu8rio((((((((((((((((((((PP
Gigura &%R W E'emlo ara cria3o de fun3o ara c8lculo do @?C((((((((((((((((((PP
Gigura &%F W E'emlo da fun3o do @?C no BAA@C(((((((((((((((((((((((((((((((((((((((((PP
Gigura &%S W Gun3o @?C a<s reenc"ida((((((((((((((((((((((((((((((((((((((((((((((((((((((((PE
10
*+ FUN()% #N'%R!%D#"R#A % AVAN(ADA
O LibreOffice Calc ossui in.meras funXes, com as mais diversas utilidades e nHveis de
dificuldades diferentes( Essas funXes s3o searadas or categorias, 7ue s3o as seguintes:
Banco de dadosZ
Cata e "oraZ
GinanceirasZ
@nformaXes
L<gicasZ
?atem8ticasZ
?atriciaisZ
EstatHsticasZ
-lanil"aZ
5e'toZ
Aulemento(
ig!ra 1 " #ista $e %ategorias
A lista da figura acima ode ser locali;ada ao acessar o Assistente de GunXes 0bot3o
2( Ao selecionar uma categoria, o assistente mostra aenas as funXes 7ue ertencem D7uela
categoria( Alm disso, e'istem tambm as oXes 'odas as Fun,-es, 7ue mostra a lista comleta
11
indeendente de categoria, e Rec.m Utili/adas, 7ue mostra aenas as 7ue foram usadas
recentemente( Neste caHtulo veremos algumas das funXes mais utili;adas, onde ser8 dada uma
breve descri3o da mesma, alm de ser informado 8 7ual categoria ertence e ser3o utili;ados
e'emlos, ara mel"or comreens3o(
12
*+* FUN(0O %
Essa fun3o ertence D categoria l<gicas, e utili;ada 7uando 7ueremos 7ue o Calc faa
uma comara3o de valores e retorne um te'to, n.mero ou faa um c8lculo deendendo do
resultado da comara3o( A fun3o efetua um teste 07ue geralmente feito comarando uma clula
com um valor de refer*ncia2, e este teste retornar8 verdadeiro ou falso(
Esta fun3o ossui tr*s arYmetros:
'este 1obrigat2rio34 a comara3o 7ue ser8 feita ara verificar se a condi3o
verdadeira ou falsa( -ara isso, odem ser utili;ados os oeradores [ 0maior 7ue2, \
0menor 7ue2, ] 0igual2, [] 0maior ou igual a2, \] 0menor ou igual a2 e \[ 0diferente
de2, alm de outras funXesZ
Valor5ent6o 1o7cional34 o 7ue o Calc far8 caso o teste retorne verdadeiro( -ode
ser um te'to 0neste caso, o valor deve estar entre asas2, um n.mero ou at mesmo
uma fun3oZ
Valor5sen6o 1o7cional34 o 7ue o Calc far8 caso o teste retorne Galso( Os itens
ossHveis s3o os mesmos do )alor^ent3o(
-ara mel"or comreens3o, vamos utili;ar o e'emlo da imagem abai'o, 7ue reresenta
um boletim escolar, 7ue contm as 7uatro notas bimestrais e a mdia de cada uma:
ig!ra 2 " &abela on$e ser' !tili(a$a a )!n*+o ,-
Como todos sabemos, a mdia mHnima ara 7ue o aluno se=a arovado S,%( Baseado
nisso, 7ueremos 7ue na coluna resultado aarea a alavra A-RO)ACO, caso sua mdia ten"a sido
maior ou igual a S,% e RE-RO)ACO caso sua mdia ten"a sido inferior a S( -ara isso,
rimeiramente osicionamos o cursor na clula dese=ada 0no caso, /$2, em seguida abrimos o
assistente de funXes e locali;amos a fun3o AE e clicamos em -r<'imo( A tela 7ue ser8 e'ibida a
seguinte:
13
Ceve6se ent3o reenc"er os valores 'este8 valor5ent6o e valor5sen6o( Em teste, deve6
se colocar 7ue se est8 verificando e o valor 7ue se est8 comarando 0valor de refer*ncia2( Em nosso
e'emlo, o valor 7ue est8 sendo verificado a ?dia, 7ue est8 em G$, e o valor de refer*ncia S,
ois a mdia mHnima dese=ada S( Como a mdia deve ser maior ou igual a S ara 7ue o aluno se=a
arovado em cada discilina, deve6se digitar ent3o G$ [] S no camo 'este(
Como n3o sabemos de antem3o se essa condi3o ser8 verdadeira ou falsa 0e tambm
or7ue o valor ode variar2, temos 7ue _rever` as duas situaXes( -ara isso e'istem os camos
Valor5ent6o8 7ue rev* o 7ue dever8 ser feito 7uando o teste resultar verdadeiro, e Valor5sen6o8
7ue rev* caso se=a falso( Neste e'emlo ser8 reenc"ido _A-RO)ACO` ara Valor5ent6o
0semre 7ue for um te'to, dever8 ser colocado entre asas2 e _RE-RO)ACO` ara Valor5sen6o(
A =anela dever8 ficar assim:
14
ig!ra 3 " !n*+o ,-
ig!ra 4 " -.em/lo $e /reen%0imento $a )!n*+o ,-
Na clula /$ aarecer8 escrito _RE-RO)ACO`, ois a mdia em G$ F,P 7ue menor
7ue S, resultando ortanto em GALAO( Caso se=a alterada alguma das notas ara cima, de modo 7ue
a mdia fi7ue suerior a S, o valor de /$ mudar8 automaticamente ara _A-RO)ACO`, ois a
condi3o assar8 a ser verdadeira(
A<s isso, ode6se coiar a f<rmula de /$ e coiar ara as clulas abai'o dela, 7ue o
Calc atuali;ar8 a f<rmula ara as lin"as corresondentes, e a lanil"a ficar8 como na figura abai'o:
ig!ra 5 " Res!lta$o $a )!n*+o ,-
No e'emlo acima, foi utili;ado aenas te'to ara os resultados )ERCACE@RO e GALAO
desta fun3o( No entanto, nada imede 7ue no lugar disso se=am utili;ados n.meros e at mesmo
outras f<rmulas e+ou funXes(
)e=amos outro e'emlo:
15
ig!ra 6 " 1!tro e.em/lo !san$o a )!n*+o ,-
Auon"a 7ue a tabela acima se=a a fol"a de agamento de uma emresa, e 7ue todos
receber3o rea=uste salarial baseado no seu sal8rio, de acordo com a lista a seguir:
-ara 7uem gan"a at Ra&(J%%, o rea=uste ser8 de &%bZ
-ara 7uem gan"a acima desse valor, o rea=uste ser8 de Sb(
O valor de refer*ncia nesse novo e'emlo Ra&(J%%, ortanto o teste ser8 B9 :; *<== 0ara
o funcion8rio Ricardo, ois o valor de seu sal8rio est8 em B$2( Em valor5ent6o, usa6se a f<rmula
B9 > *=?, ois o rea=uste 0&%b2 calculado em cima do sal8rio 0B$2( Em valor5sen6o, usa6se B9
> @?(
Gigura S W Gun3o AE usando f<rmulas
16
-ara calcular o valor do sal8rio rea=ustado 0C$2, usa6se a f<rmula ]B9AC9, ois o valor do
novo sal8rio ser8 o sal8rio atual 0B$2 mais o valor do rea=uste 0C$2( -ara as lin"as seguintes, a
f<rmula ser8 a mesma, devendo6se aenas substituir B$ or B4, BJ, BR, etc( e C$ or C4, CJ, CR(((
A lanil"a comleta ficar8 assim:
ig!ra 8 " 2lanil0a $e rea3!ste /reen%0i$a
17
*+9 FUN(0O CON'+%
Esta fun3o da categoria ?atem8ticas, e usada semre 7ue dese=amos saber a 7uantidade
de ve;es 7ue determinado valor se reete num intervalo( )e=a a tabela abai'o:
ig!ra 9 " &abela $e e.em/lo $a )!n*+o 41N&5,-
Essa tabela simula as vendas de uma concession8ria de veHculos em uma semana( -ara
facilitar, inseri aenas o nome do cliente e o veHculo 7ue ele levou, e colo7uei aenas 4 diferentes
tambm ara n3o comlicar( Como a tabela e7uena, fica f8cil verificar 7uantos veHculos de cada
modelo foram vendidos( @magine agora se a tabela contivesse R%% registros e &R modelos diferentes
de veHculos( Aeria bem mais trabal"oso n3oc -ara isso e'iste esta fun3o( )eremos agora como usar
a fun3o CON5(AE ara _contar` 7uantas ve;es cada carro foi vendido nesta tabela( Garemos uma
nova tabela 7ue mostrar8 os totais:
ig!ra 10 " &abela $e a/oio
18
Calcularemos rimeiro o total de vendas do /ol( -ara isso, osicione o cursor na clula E4 e
abra o Assistente de GunXes( Locali;e ent3o a fun3o CON5(AE 0categoria ?atem8ticas2 e cli7ue
em -r<'imo( A =anela 7ue dever8 aarecer a seguinte:
ig!ra 11 " 6anela $e %on)ig!ra*+o $a )!n*+o 41N&5,-
A fun3o CON5(AE ossui dois argumentos, 7ue s3o obrigat<rios: o intervalo, 7ue indica
em 7uais clulas ser8 feita a verifica3o, e crit.rios, 7ue define o 7ue ser8 verificado( No camo
critrio, ode6se usar os oeradores matem8ticos \, [, \[, \], [] e ]( No caso do sinal de igual 0]2,
este ode ser omitido, digitando6se aenas o valor a ser es7uisado, 7ue ode ser te'to 0entre
asas2, n.meros ou um endereo de clula, e neste caso o Calc comarar8 com o valor da clula em
7uest3o(
-ara nosso e'emlo, o intervalo ser8 aBa$:aBa&%, ois s3o essas clulas 7ue cont*m os
valores a serem verificados( I8 em critrios, ode6se digitar tanto _/ol` 0te'to2 7uanto C4 0clula de
refer*ncia, 7ue contm a alavra /ol2( No entanto, mel"or usar o endereo da clula or dois
motivos: o rimeiro 7ue, se o valor de C4 for modificado, o CALC automaticamente recontar8
ara este novo valor, e o segundo 7ue facilita ara coiar a f<rmula e colar nas lin"as seguintes,
ois o CALC atuali;a de acordo com a lin"a( @sso 7uer di;er 7ue se voc* coiar a f<rmula 7ue est8
na clula E4 ara a clula EJ, a o camo critrios ser8 atuali;ado automaticamente ara CJ, ois
nesse caso est8 se referindo D7uela lin"a e far8 a verifica3o ara o valor seguinte 0Go'2( I8 se for
19
reenc"ido com _/ol`, o Calc continuar8 comarando com /ol, mesmo 7ue eu dese=e comarar
agora o Go'(
A =anela reenc"ida dever8 ficar assim:
ig!ra 12 " 2reen%0imento $a )!n*+o 41N&5,-
A<s o reenc"imento da f<rmula em todas as clulas, o Calc dever8 retornar os seguintes
valores:
/OL ] $Z
GOU ] JZ
Ka] 4(
20
*+B FUN(0O O!A%
5ambm da categoria ?atem8ticas, a fun3o AO?AAE efetua a soma dos valores em um
determinado intervalo, baseado na condi3o estabelecida( )amos considerar, como e'emlo, a
tabela abai'o, 7ue contm as vendas dos funcion8rios de uma lo=a em um determinado dia:
ig!ra 13 " -.em/lo /ara !tili(a*+o $a )!n*+o ,178,-
A lo=a do e'emlo acima ossui tr*s vendedores: Ios, Gernanda e Arnaldo( Aabemos 7ue o
total de vendas dos tr*s foi Ra&(SS&,%%( ?as 7uanto vendeu cada umc -ara saber, recorremos D
fun3o AO?AAE( Antes, orm vamos colocar fa;er outra tabelin"a do lado, com o nome de cada
vendedor, ara 7ue o Calc retorne o valor de venda de cada um:
ig!ra 14 " &abela $e a/oio /ara a )!n*+o ,178,-
21
Ceois de criarmos a segunda tabela, colocaremos o cursor em ER, abriremos o assistente de
funXes, locali;aremos a fun3o AO?AAE e clicaremos em -r<'imo( Esta fun3o ossui tr*s
arYmetros:
#ntervalo 1obrigat2rio3: o intervalo de clulas 7ue contm os valores a serem
verificados( No nosso e'emlo, de A$ at A&$ 0A$:A&$2Z
Crit.rios 1obrigat2rio3: funciona da mesma maneira 7ue na fun3o AO?AAE( -ara
o caso do Arnaldo, deve ser reenc"ido com ER ou _Arnaldo`Z
oma5intervalo 1o7cional3: define o intervalo 7ue ser8 somado nas lin"as em 7ue o
critrio for atendido( Ae for dei'ado em branco, o Calc assume 7ue o soma^intervalo
igual ao intervalo( Como n3o isso 7ue 7ueremos, reenc"eremos este camo com
os valores corretos, 7ue no caso B$:B&$(
O reenc"imento dever8 ficar assim:
ig!ra 15 " 2reen%0imento $a )!n*+o ,178,-
O 7ue foi feito acima foi o seguinte: nas lin"as em 7ue a coluna A contm _Arnaldo`,
soma6se o valor da coluna B na mesma lin"a( Caso contr8rio, n3o soma( O valor da f<rmula ara o
caso do Arnaldo dever8 ser Ra4$R,%%, o de Gernanda RaPSP,%% e o de Ios ser8 RaRFP,%%, de
acordo com a figura abai'o:
22
ig!ra 16 " &abela /reen%0i$a %om o !so $a )!n*+o ,178,-

23
*+< FUN(0O CON'+NC!
-ertencente D categoria matem8ticas, a .nica fun3o desta fun3o contar 7uantas
clulas contm valores numricos no intervalo determinado, ignorando te'to e clulas em branco(
-ara e'emlificar, usaremos novamente o boletim 7ue foi usado ara e'emlificar a fun3o AE(
Auon"amos 7ue dese=8ssemos saber 7uantas clulas ossuem valores numricos 0notas2 em todo o
intervalo da tabela, 7ue vai de A& at /F:
ig!ra 17 " &abela $e a/oio $a )!n*+o 41N&5N97
Aelecionaremos ent3o a clula B&% ara inserir a fun3o e digitaremos
]CON5(NQ?0A&:/F2, ou se referir, c"amar o Assistente de funXes, locali;ar a fun3o
CON5(NQ? e, em valor &, digitar o intervalo( O valor 7ue a fun3o retornar8 ser8 $R, ois essa a
7uantidade de clulas 7ue a ossuem valores numricos na7uele intervalo(
24
*+D FUN(0O CON'+VA&OR%
Ciferentemente da fun3o CON5(NQ?, 7ue ertence D categoria ?atem8ticas, esta
fun3o ertence D categoria EstatHsticas( En7uanto a rimeira fun3o soma aenas clulas 7ue
contm n.meros, a fun3o CON5()ALOREA soma clulas 7ue ossuem 7ual7uer tio de dados
0te'to, n.mero, sinais e at esao em branco2 n3o contando aenas clulas va;ias( T imortante
ressaltar 7ue se for ressionada a barra de esaos no teclado, o Calc n3o a considera mais a7uela
clula como va;ia, e ser8 contada na fun3o(
Como e'emlo, usaremos o mesmo e'emlo acima, ara verificarmos a diferena(
-on"a o cursor em B&& e digite ]CON5()ALOREA0A&:/F2, ou se referir use o Assistente de
GunXes( )e=a o comarativo das duas funXes no mesmo e'emlo:
ig!ra 18 " 4om/arativo entre 41N&5N97 e 41N&5:8#1R-,
25
*+E FUN()% E % OU
Estas funXes foram colocadas =untas, ois tem fun3o muito semel"ante: ambas fa;em
comara3o de elo menos duas condiXes e retornam )ERCACE@RO ou GALAO, deendendo das
condiXes( As duas funXes ertencem D categoria L<gicas(
5anto a fun3o E 7uanto a fun3o OU s3o raramente usadas so;in"as, ois se o forem, o
resultado ser8 aenas a alavra )ERCACE@RO ou a alavra GALAO( Elas s3o utili;adas
geralmente de au'iliares ara outras funXes, rincialmente a fun3o AE(
Antes de vermos um e'emlo de cada fun3o imortante entendermos a diferena de
uma ara outra( Como informado, ambas as funXes recisam de elo menos duas condiXes ara
funcionar, o 7ue fa; com 7ue a sinta'e das duas se=a a seguinte:
Gun3o E ]E0condi,6o *F condi,6o 9Z (((condi3o N2Z
Gun3o OU ]OU0condi,6o *F condi,6o 9Z (((condi3o N2
As condiXes & e $ foram negritadas or serem obrigat<rias, en7uanto 7ue as
restantes s3o ocionais( Cada condi3o indeendente, ou se=a, uma ode ser verdadeira e outra
falsa( A fun3o retornar8 )ERCACE@RO ou GALAO deendendo das condiXes, e obedecendo aos
seguintes critrios:
Gun3o E: retornar8 )ERCACE@RO somente se 5OCAA as condiXes forem
verdadeiras( davendo elo menos uma falsa, o resultado ser8 GALAOZ
Gun3o OU: retornar8 GALAO aenas se 5OCAA as condiXes forem falsas(
davendo elo menos uma verdadeira, o resultado ser8 )ERCACE@RO(
-ara e'emlificar, vamos ver alguns e'emlos:
]E0$[4ZR]J2 retorna GALAO, ois $ n3o maior 7ue 4 0GALAO2 e R n3o igual a J
0GALAO2Z
]E04&[&PZ$4\$%2 retorna GALAO, ois aesar de 4& ser maior 7ue &P
0 )ERCACE@RO2, $4 n3o menor 7ue $% 0GALAO2( Como temos uma verdadeira e
uma falsa, retorna GALAOZ
]E04]4Z S [ $2 retorna )ERCACE@RO, ois 4 igual a 4 e S maior 7ue $( Como
todas as condiXes s3o verdadeiras, retornou )ERCACE@ROZ
]OU04]JZR[S2 retorna GALAO, ois 4 n3o igual a J 0GALAO2 nem R maior 7ue
S( Buando ambas as condiXes s3o falsas, o resultado GALAOZ
26
]OU0J[$Z04$+J]E22 retorna )ERCACE@RO, ois J maior 7ue $
0)ERCACE@RO2( ?esmo a segunda condi3o 04$+J]E2 sendo falsa, na fun3o OU
necess8rio 7ue aenas uma condi3o se=a verdadeira ara 7ue a fun3o retorne
)ERCACE@ROZ
]OU0&R[&%Z&S\$%2 retorna )ERCACE@RO, ois ambas s3o verdadeiras(
O uso das funXes E e OU ode ser resumido nas tabela abai'o:
E OU
) G ) G
)erdadeiro ) G ) )
Galso G G ) G
ig!ra 19 " &abela ver$a$e $as )!n*;es - e 1U
Como mencionado anteriormente, essas duas funXes s3o geralmente utili;adas como
au'iliares de outras funXes, rincialmente a fun3o AE( )amos ver um e'emlo de cada uma
delas como au'iliar, iniciando ela fun3o OU(
@magine 7ue voc* trabal"a or "ora e or isso recisa ter um controle de 7uantas "oras
trabal"ou no m*s()oc* oderia fa;er uma lanil"a arecida com a seguinte:
ig!ra 20 " &abela $e %ontrole $e 0oras
A rincHio, tudo arece estar certo, ois foi usada uma fun3o 7ue calcula a diferena entre
a "ora de saHda 0C$2 e a "ora de entrada 0a f<rmula usada em C$ foi ;C9GB92( Essa fun3o vai
calcular o 7ue dese=amos, 7ue a 7uantidade de "oras trabal"ada em cada dia( -orm temos um
e7ueno roblema: en7uanto tivermos digitado aenas um dos valores 0B$ ou C$2, o valor de C$
ficar8 incorreto, ois como ele calcula a diferena entre B$ e C$ e um dos valores est8 em branco, o
Calc considera esse valor como sendo ;ero( )e=a:
27
ig!ra 21 " -.em/lo $o res!lta$o $a )!n*+o en<!anto o /reen%0imento est'
in%om/leto
No caso da figura acima, C4 est8 em branco e or isso o E'cel considera o valor faltante
como sendo ;ero 0convertido em "oras igual D meia6noite2( Como das &J"s at a meia6noite se
assam &% "oras, esse valor 7ue o Calc reenc"e em C4( -ara evitar 7ue isso ocorra, odemos
aerfeioar a f<rmula em C4 ara 7ue o c8lculo se=a feito aenas 7uando ambos os valores
estiverem reenc"idos, caso contr8rio C4 fica em branco( A f<rmula a ser usada a seguinte:
Gigura $$ W Resolvendo o roblema do reenc"imento incomleto
O 7ue foi feito acima foi o seguinte: usamos uma fun3o AE, 7ue em seu 5este usa uma
fun3o OU( O trec"o ]OU0B4]``ZC4]``2 verifica se B4 ou C4 0ou ambas2 est3o em branco(
En7uanto elo menos uma das duas estiver em branco, retornar8 )ERCACE@RO e o valor em C4
ser8 em branco tambm( -ara 7ue o 7ue teste retorne GALAO, necess8rio 7ue ambas as clulas
este=am reenc"idas, e nesse caso a fun3o e'ecutar8 o c8lculo 05este^sen3o2( )e=a isso na r8tica:
28
ig!ra 23 " Res!lta$o $a )!n*;es ,- e 1U
A figura acima mostra tr*s situaXes: aenas B4 reenc"ido, aenas C4 reenc"ido e ambos
reenc"idos( Note 7ue aenas no .ltimo caso, o valor de C4 aarece, 7ue era o nosso ob=etivo
inicial(
)amos agora ver um e'emlo da fun3o E dentro da fun3o AE( Auon"amos 7ue voc*
ten"a a lista de clientes abai'o, e voc* vai fa;er a oferta de algum roduto:
Gigura $J W E'emlo ara uso da fun3o E com a fun3o AE
No entanto, esta oferta n3o ser8 feita a todos, e sim aenas aos 7ue atendem aos critrios
estabelecidos, 7ue no nosso caso : idade a artir de 4% anos e renda a artir de Ra&(R%%( Na coluna
C, dever8 ser escrito _A@?` ara os clientes 7ue atenderem os dois critrios e _NOO` ara os
clientes 7ue atenderem aenas um dos critrios 0tanto fa; se a idade ou a renda2 ou nen"um(
29
ig!ra 25 " 2reen%0en$o a )=rm!la /ara sele%ionar os %lientes
O 7ue foi feito no e'emlo da figura acima foi: rimeiro usamos a fun3o E no teste da
fun3o AE ara 7ue a mesma verifi7ue 7uais atendem os critrios determinados( -ara os 7ue
atenderem os critrios, retornar8 A@? 0valor^ent3o2, e ara os 7ue n3o atenderem, retornar8 NOO
0valor^sen3o2( Ceois de reenc"er a f<rmula ara a rimeira lin"a, ode6se coiar e colar ara
todas as lin"as seguintes, na coluna C( A tabela reenc"ida dever8 ficar assim:
ig!ra 26 " &abela /reen%0i$a %om as )!n*;es - e ,-
30
*+@+ FUN(0O PROCV
Esta fun3o ertence D categoria -lanil"a e utili;ada em matri;es de dados 0tabelas com
elo menos duas lin"as e duas colunas2 ara es7uisa de valores( Ela es7uisa um valor na rimeira
coluna da matri; e, caso se=a locali;ado, retorna o valor de 7ual7uer coluna, na lin"a onde o valor
rocurado foi locali;ado(
)amos a um e'emlo: digamos 7ue voc* tem uma locadora de filmes e dese=a controlar as
vendas atravs de uma lanil"a do Calc( A tabela oderia ser como na figura abai'o:
ig!ra 27 " &abela $e e.em/lo /ara !so $a )!n*+o 2R14:
Na tabela acima, as colunas A at E ser3o usadas ara registros das locaXes e das colunas
d at I constam os filmes 7ue est3o cadastrados 0obviamente uma locadora teria muito mais filmes,
7ue oderiam inclusive estar em outra lanil"a, orm foram usados oucos aenas ara
e'emlificar2( O 7ue a fun3o -ROC) ode fa;er or n<s nesse caso : ao reenc"ermos o nome do
filme, na coluna B, odem ser reenc"idos _automaticamente` o valor e a categoria do mesmo, se
for locali;ado na tabela de filmes(
Antes de usarmos a fun3o, ve=amos os arYmetros da mesma:
Crit.rios de 7esHuisa 1obrigat2rio34 o valor 7ue ser8 rocurado 0no nosso caso o
nome do filme2, lembrando 7ue essa fun3o es7uisa aenas na rimeira coluna da
tabelaZ
!atri/ 1obrigat2rio34 o intervalo onde est3o os dadosZ
$ndice 1obrigat2rio34 o n.mero da coluna onde se dese=a 7ue se retorne o valor(
No nosso caso, a coluna d a coluna &, a coluna dos valores a $ e a das categorias
a n.mero 4(
Ordem de classiIica,6o 1o7cional34 ode ser reenc"ido com )ERCACE@RO 0ou o
n.mero &2, GALAO 0ou o n.mero %2 ou dei'ado em branco( Caso se=a
)ERCACE@RO, ser8 necess8rio classificar os dados em ordem alfabtica, caso
31
contr8rio dar8 mensagem de erro( Ae for falso, n3o necess8rio classificar( Ae for
dei'ado em branco, assumir8 o valor )ERCACE@RO(
Agora sim vamos D tabela( Aelecione a clula do valor 0C$2, abra o Assistente de GunXes e
digite o seguinte:
ig!ra 28 " -.em/lo $e /reen%0imento $a )!n*+o 2R14:
Em critrio de es7uisa, foi utili;ado o valor B$ ois nessa clula 7ue contm o nome do
filme( A<s o mesmo ser digitado, ser8 es7uisado na rimeira coluna da tabela dos filmes 0d$:IE2(
O Hndice $ indica 7ue se o critrio for ac"ado na rimeira coluna, retornar8 o valor 7ue est8 na
coluna $ 0valor2 da lin"a onde o critrio foi locali;ado(
Geito isto, selecione C$ e faa o mesmo rocedimento( A .nica altera3o 7ue o Hndice ser8
4 e n3o mais $, ois agora dese=amos saber a categoria, 7ue a terceira coluna da tabela( )e=a
abai'o um e'emlo de como oderia ficar a tabela reenc"ida:
ig!ra 29 " -.em/lo $e tabela /reen%0i$a %om o a!.>lio $e 2R14:
32
)oc* deve ter notado 7ue na lin"a S aarecem duas ve;es o valor eN+A( @sso ocorre or7u*
o valor de refer*ncia BS, 7ue est8 em branco( Como o valor em branco 0_`2 n3o e'iste na tabela,
aarece o eN+A, 7ue significa Valor n6o dis7onJvel( -ara corrigir esse erro simles, basta usar
uma fun3o AE ara 7ue, se BS estiver em branco, o valor da clula se=a _`0em branco2, e e'ecute a
fun3o -ROC) aenas se e'istir algum te'to( A fun3o ara CS ficaria mais ou menos assim:
ig!ra 30 " 4orrigin$o mensagem $e erro
Aeria interessante usar esta fun3o a artir =8 da rimeira lin"a, ois semre 7ue a clula
onde o valor ser8 es7uisado estiver em branco, aarecer8 esta mensagem( T .til inseri6la logo na
rimeira lin"a, e assim 7ue ela estiver concluHda, coiar e colar a f<rmula nas lin"as seguintes(
33
9+ R%CURO AD#C#ONA# DO CA&C
Alm de funXes, o Calc ossui v8rios recursos 7ue odem agili;ar e+ou facilitar a vida de
7uem est8 utili;ando o soft1are( A3o recursos ara classificar, limitar valores, roteger, etc( )amos
estudar alguns deles a artir de agora(
9+* AU'OF#&'RO
O AutoGiltro um recurso 7ue ermite selecionar alguns valores da lanil"a, 7ue atendem
ao0s2 critrio0s2 esecificado0s2( -ode6se usar tanto critrios simles de es7uisa 7uanto critrios
ersonali;ados( -ara acessar, deve6se colocar o cursor em 7ual7uer clula da lin"a 7ue contm o
r<tulo 0nome dos camos, e': nome, idade, etc2 e deois selecionar o menu Cados W Giltrar W
AutoGiltro( Co lado de cada clula da lin"a selecionada aarecer8 o sHmbolo , 7ue indica 7ue =8
odemos iniciar a filtragem de valores( )e=a e'emlo:
ig!ra 31 " &abela $e e.em/lo /ara !so $o re%!rso 8!toiltro
Como voc* deve ter ercebido, o sHmbolo mencionado no ar8grafo anterior aareceu ao
lado de Nome, @dade e Ae'o, 7ue est3o todos na mesma lin"a( Esse sHmbolo um bot3o clic8vel, e
7uando se clica em cima de um deles aarecer3o os seguintes itens:
'odas4 essa o3o utili;ada 7uando foi alicado algum filtro e 7ueremos 7ue todos
os itens se=am mostrados novamente( T como se a filtragem fosse desfeitaZ
34
*= 7rimeiros4 mostra aenas os de; rimeiros itens da lista ara a7uele filtro,
indeendentemente de outros critriosZ
Filtro Padr6o4 ermite usar critrios ersonali;ados de filtro( Aer8 estudado mais
adiante(
Alm dessas tr*s oXes, aarecer3o logo abai'o alguns itens, 7ue nada mais s3o do 7ue os
itens 7ue constam na7uela coluna( -or e'emlo, se selecionarmos o bot3o do lado da coluna C
0Ae'o2, aarecer3o ? e G, 7ue s3o as oXes disonHveis ara esta coluna:
ig!ra 32 " 1/*;es $e !m $os men!s $e iltragem
Ae clicarmos na o3o f?g, a lista ser8 filtrada, e ser3o mostrados aenas as lin"as 7ue
contm ? no se'o:
ig!ra 33 " -.em/lo $e !so $e iltro ,im/les
Note 7ue, assim 7ue um filtro alicado a uma coluna, o bot3o muda de cor, assando a
ficar a;ul( Ae forem alicados filtros a outras colunas, acontecer8 o mesmo com elas:
35
ig!ra 34 " -.em/lo $e mais $e !ma )iltragem
No caso acima, selecionamos o valor f-ablog na coluna de Nomes, e como e'istia aenas
um -ablo, foi o 7ue retornou( Caso "ouvessem mais, seria mostrado um em cada lin"a(
Alm dos filtros simles, e'iste tambm a o3o Giltros -adr3o 07ue nada mais s3o 7ue
filtros -ersonali;ados2( Auon"amos 7ue 7uisssemos visuali;ar todas as essoas do se'o masculino
cu=a idade se=a maior 7ue $R anos( Nesse caso, rimeiramente temos 7ue selecionar f5odasg na
coluna Nome, ara voltar como estava antes( A<s isso, selecionamos a o3o fGiltro -adr3og( A
seguinte cai'a de di8logo surgir8:
ig!ra 35 " 4ai.a $e $i'logo iltro 2a$r+o
Nesta cai'a de di8logo e'istem:
Nome do cam7o4 7ual camo ser8 utili;ado na filtragem 0neste e'emlo, e'istem as
oXes Ae'o, nome e @dade2Z
Condi,6o4 contm um oerador matem8tico 7ue ser8 usado ara comara3o, os
7uais s3o os seguintes: ], [, \, [], \] e \[, 7ue =8 foram estudados anteriormente,
alm das seguintes oXes:
o !aior4 mostra os n maiores valores da lista( -or e'emlo, se voc* selecionar
esta o3o e em valor digitar R, aarecer3o aenas os R maiores valores da
listaZ
o !enor4 idem ao anterior, orm com os menores(
o !aior ?4 mostra os nb maiores valores da lista( -or e'emlo, se sua lista
contm R% valores e voc* seleciona esta o3o e em valor digita 4%, ser3o
mostrados aenas os &R maiores valores 0&R e7uivale a 4%b de R%2Z
36
o !enor ?4 idem ao anterior, orm com os menores(
Valor4 o valor de refer*ncia, 7ue ser8 comarado com os outros ara 7ue se decida
7uais valores ser3o mostrados e 7uais n3o ser3o(
)oltando ao nosso e'emlo, ara 7ue se=am mostrados aenas os 7ue tem mais de $R anos,
configure da seguinte maneira:
Nome do cam7o: @dadeZ
Condi,6o: [ 0maior2Z
Valor: $R(
Cli7ue em OK( A tabela dever8 ficar assim:
ig!ra 36 " -.em/lo $e !so $e )iltro sim/les %om )iltro /a$r+o
Ca mesma maneira, odem ser usados filtros ara calcular valores inferiores a um valor ',
iguais ou diferentes( T necess8rio aenas ter cuidado com o maior 0[2 e maior ou igual 0[]2, ois no
rimeiro caso ser3o locali;ados aenas os valores 7ue s3o sueriores ao valor determinado,
en7uanto no segundo caso o valor entra =unto na lista, caso "a=a( -or e'emlo: se tivssemos
colocado no e'emlo acima ara locali;ar os valores maiores ou iguais a $R, e "ouvesse $R na lista,
o mesmo teria sido mostrado(
O filtro adr3o ode ser usado ara filtrar mais de uma condi3o ao mesmo temo( -or
e'emlo, se 7uisermos 7ue se=a mostrado aenas os 7ue t*m idade entre $% e 4% anos, inclusive, n3o
ser8 ossHvel usando aenas filtro simles( 5eremos 7ue acessar o filtro adr3o ara este caso( No
filtro adr3o odem ser usados os oeradores E e OU, 7ue tem o mesmo sentido das funXes E e
OU, vistas anteriormente(
Ent3o, ara o e'emlo do ar8grafo anterior, configurHamos da seguinte maneira:
37
ig!ra 37 " -.em/lo $e )iltro !san$o mais $e !ma %on$i*+o
No e'emlo acima, foi usado filtro E, 7ue s< retorna os valores em 7ue todas as condiXes
forem verdadeiras( No nosso e'emlo, as condiXes foram: idade maior ou igual a $% E idade
menor ou igual a 4%( Buem tem R$, or e'emlo, atende D rimeira condi3o, 7ue idade maior ou
igual a $%, orm n3o atende D segunda, 7ue idade menor ou igual a 4%( -or isso, n3o mostrado(
A lista 7ue contm os valores 7ue atenderam aos dois critrios a seguinte:
ig!ra 38 " Res!lta$o $e )iltragem !san$o mais $e !ma %on$i*+o (1/era$or -)
I8 o oerador OU fa; com 7ue se=am mostrados todos os critrios 7ue ten"am elo menos
uma condi3o verdadeira, n3o imortando o resultado das outras( -or e'emlo, iremos inverter
agora, 7ueremos 7ue se=am mostrados aenas os 7ue ten"am menos de $% e mais de 4%( Com o
oerador E n3o seria ossHvel, ois n3o tem como um valor ser menor7ue $% e maior 7ue 4% ao
mesmo temo( -ara isso, usaremos o oerador OU, e a configura3o seria a seguinte:
ig!ra 39 " -.em/lo $e )iltro %om o/era$or 1U
38
E o resultado seria o seguinte:
ig!ra 40 " Res!lta$o $a )iltragem !san$o o/era$or 1U
Caso voc* n3o 7ueira mais utili;ar AutoGiltros, s< remov*6los, clicando novamente em
Cados W Giltrar W AutoGiltro 7ue ele desaarecer8(
39
9+9 C&A#F#CAR DADO
Esta o3o est8 locali;ada no menu Cados e serve ara fa;er a classifica3o de valores, em
ordem crescente ou decrescente, seguindo um ou mais critrios(
-ara mel"or comreens3o, vamos usar a figura abai'o, 7ue 7uase igual D figura do item
anterior, orm com aenas uma coluna a mais:
ig!ra 41 " &abela $e e.em/lo /ara re%!rso 4lassi)i%ar ?a$os
A tabela acima contm os seguintes camos: Nome, @dade, Ae'o e Cidade( Auon"amos 7ue
recisemos classificar os clientes em ordem alfabtica or nome( -ara isso, temos 7ue selecionar
toda a tabela 0e n3o aenas a coluna dos nomes, sen3o ir8 classificar aenas essa coluna e os dados
ficar3o misturados2( A<s isso, iremos em Dados K ClassiIicar, e aarecer8 ent3o a seguinte cai'a
de di8logo:
40
ig!ra 42 " 4ai.a $e $i'logo 4lassi)i%ar ?a$os
-or en7uanto, utili;aremos aenas a rimeira arte, 7ue o item Classificar or( Como
7ueremos classificar or nome, n3o recisa alterar nada ali or en7uanto( A ordem ode ser
crescente, 7ue de A at h 0ou do menor ara o maior, no caso de n.meros2, ou decrescente, 7ue
de h at A 0ou do maior ara o menor2( )amos colocar decrescente e dar OK( A tabela ficar8 assim:
ig!ra 43 " &abela $e/ois $e %lassi)i%a$a
O rimeiro item a ser classificado n3o recisa ser necessariamente o da rimeira coluna( No
nosso caso, oderia or e'emlo ter sido classificado rimeiro or idade, ao invs de nome( Neste
caso, terHamos os mais vel"os rimeiro, at c"egar nos mais novos 0caso fosse selecionado
decrescente2(
41
Na classifica3o feita acima, foi usado aenas o rimeiro critrio de classifica3o or n3o
"aver nen"um dado reetido 0todos os nomes eram diferentes2( ?as e se tivssemos valores iguais,
como o Calc saberia 7ual classificar rimeiroc
-ara isso e'iste a o3o em seguida or, de reenc"imento ocional, 7ue fa; com 7ue, caso
o rimeiro valor se reita, ele fa; a verifica3o atravs deste segundo elemento, ara definir 7ual
vir8 em seguida( -or e'emlo, se classificarmos rimeiramente or cidade, veremos 7ue A3o -aulo
aarece duas ve;es, sendo uma ara G8bio e outra ara -edro( )amos agora classificar or Cidade
crescente e or Nome Cecrescente( @sso far8 com 7ue o registro de -edro aarea rimeiro 7ue o de
G8bio, ois como a cidade fematoug, o fcritrio de desemateg o nome( Como selecionamos
decrescente, o -edro vir8 rimeiro 7ue o G8bio, e vice6versa( )e=a:
ig!ra 44 " -.em/lo $e %lassi)i%a*+o !san$o $ois %rit@rios
Caso se=a necess8rio, ossHvel ainda efetuar um terceiro critrio de classifica3o, 7ue
funcionaria da mesma maneira( -or e'emlo, se o segundo critrio de classifica3o fosse o se'o,
-edro e G8bio teriam fematadog novamente, sendo necess8rio um terceiro critrio, 7ue oderia
neste caso ser tanto nome 7uanto idade, crescente ou decrescente( -ara isso, bastaria configurar o
segundo fEm seguida org(
42
9+B VA&#DA(0O
Este recurso est8 resente no menu Cados, e serve ara limitar os valores 7ue odem ser
usados em determinada clula( -or adr3o, as clulas aceitam 7ual7uer tio de valor 0n.meros,
te'to, orcentagem, data, etc(2( No entanto, e'istem alguns casos 7ue necessitam, ou elo menos
seria mais .til, 7ue fossem delimitados certos tios de valores, ara evitar 7ue se=am reenc"idos
valores 7ue n3o cabem em determinada clula(
-ara acessar o recurso de )alida3o de Cados, rimeiramente selecione as clulas 7ue ser3o
afetadas( Ceois, acesse o menu Cados W )alidade( Aarecer8 a seguinte =anela:
ig!ra 45 " 6anela $e :ali$a*+o $e $a$os
)e=a um e'emlo: suon"a 7ue voc* trabal"a numa revendedora de veHculos e tem 7ue
fa;er a lanil"a de controle de vendas( Cigamos 7ue e'istam tr*s vendedores 0or e'emlo: -aulo,
Ricardo e Io3o2 e cinco carros 0/ol, Go', -alio, Civic e Corsa2( )amos selecionar rimeiramente a
coluna dos nomes, as clulas 7ue ser3o utili;adas, deois acessaremos a =anela de )alida3o, e
selecionaremos a o3o fListag( A<s isso, em fEntradasg, digite os nomes 7ue voc* 7uer 7ue se=am
ossHveis utili;ar, um em cada lin"a( -ara assar ara a lin"a seguinte, ressione EN5ER( Caso
43
voc* dese=a 7ue os nomes se=am classificados em ordem alfabtica, mar7ue fClassficar os valores
em ordem crescenteg( A lista reenc"ida ficar8 mais ou menos assim:
ig!ra 46 " :ali$an$o %@l!las sele%iona$as
Geito isso, cli7ue em fOKg( )oc* voltar8 ara a lanil"a, orm ao selecionar uma das
clulas 7ue foram validadas, aarecer8 o sHmbolo , 7ue ao ser ressionado mostrar8 uma cai'a de
sele3o contendo os valores 7ue foram digitados na lista( )e=a:
ig!ra 47 " #ista %onten$o os valores vali$a$os
44
@sso 7uer di;er 7ue, no intervalo 7ue foi feita a valida3o, ser8 ermitido digitar ou
selecionar aenas os valores 7ue est3o na lista( Caso voc* digite um valor diferente dos valores da
lista, aarecer8 uma mensagem de erro, similar a esta:
ig!ra 48 " 7ensagem $e erro /a$r+o $e vali$a*+o
Essa mensagem a mensagem adr3o de erro( No entanto, voc* ode escrever a sua r<ria(
-ara isto, selecione novamente as clulas 7ue foram+ser3o validadas e selecione a o3o de
)alida3o de Cados novamente( Em seguida, acesse a aba alerta de erro( Aacer8 a seguinte =anela:
ig!ra 49 " 6anela /ara /ersonali(a*+o $a mensagem $e erro5
Na figura acima, =8 foram reenc"idos os valores( Essa =anela contm os seguintes itens:
A,6o4 7ue tio de a3o ser8 efetuado elo Calc( -ode ser de tr*s tios:
o Parar: fa; com 7ue o usu8rio ten"a 7ue alterar obrigatoriamente o valor
digitado ara um dos valores da lista( Aarece aenas o bot3o fOKgZ
45
ig!ra 50 " -.em/lo $a o/*+o 2arar
o Aviso: ermite 7ue o usu8rio escol"a entre aceitar o valor 7ue n3o est8 na
lista ou n3o( -ossui os botXes fOKg e fCancelarg, 7ue se ressionados, far3o
com 7ue o valor 7ue n3o est8 na lista se=a aceito ou n3o, resectivamenteZ
ig!ra 51 " -.em/lo $a o/*+o 8viso
o Informaes: idem ao aviso(
'Jtulo4 o 7ue aarecer8 na barra de tHtulos 0a barra a;ul da mensagem2Z
!ensagem de erro4 a mensagem roriamente dita, informando sobre o erro
ocorrido(
Outras colunas odem ser validadas tambm, usando tanto a o3o lista 7uanto outras
oXes( -ara a coluna do veHculo, odemos usar a o3o lista novamente, incluindo agora os nomes
dos veHculos, e no alerta de erro odemos escrever ara selecionar um veHculo da lista(
I8 ara a coluna do reo, usaremos a o3o fN.mero Cecimalg, ois no e'emlo
colocaremos 7ue o valor mHnimo Ra&%(%%%( -ara isso, temos 7ue selecionar em fCadosg a o3o
f?aior 7ueg e, em f?Hnimog, digitarmos &%%%% 0sem ontos, vHrgulas etc(, a menos 7ue se 7ueira
usar um valor _7uebrado` como mHnimo, or e'emlo, &%4JR,4$2( )e=a e'emlo:
46
ig!ra 52 " 1!tro e.em/lo $e vali$a*+o
-ara este caso, colocarHamos o alerta de erro a mensagem _O valor mHnimo aceit8vel
Ra&%(%%%,%%` ou algo do tio(
Alm de Lista e n.mero decimal, odem ser validados os seguintes tios de dados:
CataZ
doraZ
N.mero inteiroZ
Comrimento de te'to(
5odos esses, com e'ce3o de lista, odem ser validados comarando valores, usando os
seguintes oeradores matem8ticos:
@gual aZ
?aior 7ueZ
?enor 7ueZ
?enor ou igual aZ
?aior ou igual aZ
Ciferente deZ
EntreZ
N3o est8 entre(
47
Cada o3o selecionada dever8 ser reenc"ida com um tio de valor diferente( -or e'emlo,
ao selecionar f?aior ou igual ag, deve6se reenc"er o valor mHnimo( Ao selecionar f?enor 7ueg,
dever8 ser reenc"ido o valor m8'imo( Ao selecionar fEntreg, deve6se reenc"er o valor m8'imo e
o valor mHnimo ermitidos, e assim or diante(
48
9+< D%F#N#R NO!%
Normalmente, semre 7ue 7ueremos calcular a soma, mdia ou 7ual7uer outra fun3o 7ue
necessite de um intervalo, usamos o nome da fun3o e digitamos o endereo das clulas como
arYmetro do intervalo( -or e'emlo, se e'istem valores a serem somados em B$, B4, BJ e BR, a
f<rmula 07ue talve; este=a em BF2 ficaria assim:
]AO?A0B$:BR2
N3o "8 nada errado com essa f<rmula( No entanto, esse intervalo 0ou 7ual7uer outro2 ode
ser fnomeadog, ara termos facilitar a locali;a3o e+ou comreens3o do mesmo( -ara isto, e'iste o
recurso Cefinir Nome, 7ue est8 locali;ado no menu @nserir 0subitem Nomes W Cefinir ou C5RL i
G4 no teclado2:
ig!ra 53 " ?e)inir Nomes
-ara mel"or comreens3o, vamos utili;ar um e'emlo( )amos voltar novamente ao boletim
escolar:
ig!ra 54 " &abela $e a/oio /ara ?e)inir Nomes
49
Ae voc* clicar em G$, ver8 7ue a f<rmula 7ue aarece ]AO?A0B$:E$2, ois este intervalo
contm as clulas das notas, 7ue s3o os valores 7ue deveriam ser somados( )amos dei'ar como est8
or en7uanto(
Agora vamos selecionar de B$ a E$ e em seguida acessar @nserir W Nomes W Cefinir( Em
seguida aarecer8 a =anela da figura R4( Em fNomeg, digite _-ortugues` 0sem as asas e de
refer*ncia sem acento2 e cli7ue _OK`(
Agora, cli7ue em G$ e edite a f<rmula( Aague o valor entre ar*nteses 0B$:E$2 e substitua
or f-ortuguesg 0o nome 7ue foi dado ao intervalo2( A f<rmula dever8 ficar ]AO?A0-ortugues2(
-ressione EN5ER(
)oc* ver8 7ue o resultado n3o foi modificado 0caso ten"a modificado, reve=a, ois "aver8
algo errado2, mas isso 7ue deve acontecer mesmo( @sso ocorreu or7u* isso foi feito a<s a
f<rmula ter sido inserida( 5anto de uma maneira 7uanto de outra, o resultado deve ser o mesmo(
@mortante: ao nomear intervalos, n3o odem ser usados nomes de funXes e'istentes no
CALC 0AO?A, ?EC@A, ?AU@?O, etc2, nem nomes de endereos de clulas 0A$, BR, CE, etc2,
ois estas alavras s3o alavras reservadas do Calc, e caso udessem ser utili;adas causariam
ambiguidade 0o Calc n3o saberia se estarHamos falando da fun3o ou do nome do intervalo2(
50
9+D PRO'%L%R CM&U&A
Este um recurso imortante, ois evita 7ue se=am feitas alteraXes or descuido 0ou
roositalmente2 nos valores e+ou f<rmulas das clulas( -ara acessar essa rote3o, v8 em -lanil"a W
-roteger Cocumento(((no sub6menu 7ue se abrir8, aarecer3o duas oXes:
PlanilNa: rotege aenas a lanil"a atual, dei'ando as outras livres ara edi3oZ
Documento4 rotege todas as lanil"as de uma ve; s<(
-ara fins de comreens3o, iremos estudar aenas a rote3o da lanil"a, ois a rote3o do
documento funcionar8 da mesma maneira( A<s acessar o menu de -roteger -lanil"a, aarecer8 a
seguinte =anela, edindo sen"a ara rote3o:
ig!ra 55 " 6anela $e $igita*+o $e sen0a /ara /rote*+o $a /lanil0a
O uso de sen"a ocionalZ no entanto, caso voc* n3o digite uma sen"a, 7ual7uer essoa
oder8 desblo7uear a lanil"a, bastando ara isso aenas acessar o menu de rote3o de lanil"a
novamente( Ae for digitada uma sen"a, necess8rio digitar a mesma sen"a, EUA5A?EN5E
@/UAL 0diferencia mai.sculas de min.sculas2, no camo fConfirmarg( @ndeendente de cadastro de
sen"a ou n3o, cli7ue em fOKg ara ativar a rote3o(
En7uanto a lanil"a estiver rotegida, caso algum tente fa;er alguma altera3o nas clulas,
aarecer8 a seguinte mensagem:
ig!ra 56 " N+o @ /oss>vel mo$i)i%ar %@l!las /rotegi$as
51
-ara desroteger, acesse Gerramentas W -roteger Cocumento W -lanil"a 0ou Cocumento,
deendendo do 7ue voc* selecionou2( Caso voc* ten"a cadastrado sen"a, a mesma ser8 solicitada(
Caso contr8rio, o desblo7ueio feito automaticamente(
T ossHvel, no entanto, 7ue algumas clulas fi7uem desrotegidas, mesmo com a rote3o
de lanil"a ativada( -ara isso, reciso 7ue rimeiramente desroteger essas clulas( )amos ver
isso atravs de um e'emlo:
ig!ra 57 " 2lanil0a !tili(a$a /ara e.em/lo $e /rote*+o $e %@l!las
Cigamos 7ue, na lanil"a acima, 7ue ser8 utili;ada or outra essoa, 7ueiramos roteg*6la,
orm 7ueremos 7ue a essoa ten"a acesso a alterar os nomes 0Coluna A2 e Aal8rios 0Coluna B2, e
n3o deve ter acesso a alterar as f<rmulas das Colunas C e C( -ara isso, antes de roteger a lanil"a,
temos 7ue selecionar as clulas 7ue ficar3o desrotegidas 0no nosso caso, de A$ at C&42, e em
seguida temos 7ue ir no =anela de formata3o das clulas 0menu Gormatar W Clulas((( ou C5RL i &
no teclado2, locali;ar a aba f-rote3o de Clulasg:
52
ig!ra 58 " 6anela $e $es/rote*+o $e %@l!las
-or adr3o, todas as clulas vem com a o3o f-rotegidag selecionada( No entanto, essa
rote3o s< ativada 7uando rotegemos a lanil"a( -ara ter acesso a alterar valores mesmo com a
lanil"a rotegida, temos 7ue desmarcar a o3o f-rotegidag e clicar em fOKg( -rote=a a lanil"a
novamente e voc* ver8 7ue teremos acesso ara alterar livremente de A$ at B&4 0clulas 7ue foram
desrotegidas2, orm o restante continuar8 blo7ueado( Caso tentemos alterar a clula CE, or
e'emlo, aarecer8 a mensagem da figura RF(
)oc* deve estar se erguntando: e a o3o fOcultar G<rmulagc Ela tambm s< funciona
7uando a lanil"a est8 rotegida, e serve ara ocultar a f<rmula das clulas selecionadas na barra de
f<rmulas( )e=a e'emlo:
ig!ra 59 " -.em/lo $e )=rm!la a/are%en$oA mesmo a %@l!la estan$o blo<!ea$a
53
)e=a na figura acima a arte circulada em vermel"o( Esta a barra de ferramentas, e
7ual7uer clula 7ue ten"a f<rmulas, a mesma ser8 mostrada ali( -ara evitar 7ue isso ocorra,
selecione as clulas 7ue voc* dese=a ocultar a f<rmula 0no nosso caso, de C$ at C&42, v8
novamente no menu Gormatar Clulas 0figura RP2 e mar7ue a o3o fOcultar G<rmulasg( Cli7ue
fOKg e rote=a a lanil"a novamente( O resultado ser8 o seguinte:
ig!ra 60 " =rm!la 1%!lta
Reare novamente na barra de f<rmulas( ?esmo contendo valor em CR, a f<rmula n3o
e'ibida, en7uanto a lanil"a estiver rotegida( T como se a clula estivesse em branco(
54
B+ A#'%N'% D% DADO
B+* 'AB%&A D#NO!#CA
5ambm con"ecido como Assistente de Cados, a 5abela CinYmica um recurso do Calc
7ue ermite combinar e analisar dados de forma simles e r8ida( -ode ser usado ara criar uma
escie de resumo de um con=unto de dados, a fim de dar uma vis3o geral sobre a reresentatividade
desses dados(
O Assistente de Cados criado a artir de uma tabela normal, como a aresentada abai'o:
ig!ra 61 " &abela $e e.em/lo /ara 8ssistente $e ?a$os
Ceois de a tabela estar ronta, cli7ue em 7ual7uer lugar dentro dela, selecione Dados K
Assistente de Dados K #niciar+++ aarecer8 a =anela abai'o, 7ue 7uestiona 7ual a fonte de dados ser8
utili;ada:
ig!ra 62 " ,ele%ionan$o a origem $os $a$os
55
Note 7ue, ao clicar em 7ual7uer lugar dentro da tabela, 7uando acionamos o Assistente de
Cados a tabela selecionada automaticamente( Como 7ueremos utili;ar os dados da tabela,
dei'amos marcada a o3o fAele3o Atualg e clicamos fOKg(
A<s clicarmos em fOKg, aarecer8 a =anela abai'o, 7ue serve ara definirmos o la!out da
tabela dinYmica, ou se=a, em 7ue osi3o cada valor ficar8:
ig!ra 63 " #aBo!t $o 8ssistente $e $a$os
Cada tHtulo de coluna reresentado or um bot3o, 7ue ode ser arrastado ara 7ual7uer
uma das osiXes D es7uerda 0retYngulos brancos2, sendo 7ue cada um reresenta os dados de uma
forma diferente( Na figura acima, os botXes =8 foram arrastados ara dentro de seus resectivos
camos dese=ados 0Coluna, Lin"a e Cados2, e o resultado 0ara este e'emlo2 fica assim:
56
ig!ra 64 " Res!lta$o $o assistente $e $a$os
No e'emlo acima, o camo Gilial foi colocado em fCamos de Colunag, e ficou na rimeira
coluna( O camo Categoria foi colocado em fCamos de Lin"ag, e seus valores ficaram em uma
lin"a( I8 os valores em si foram colocados em fCamos de Cadosg e ficaram na arte dos dados,
fa;endo interse3o entre as resectivas lin"as e colunas( Os 7ue n3o e'istem na tabela ficaram em
branco( -or e'emlo, n3o consta nen"uma consultoria ara Curitiba na tabela, or isso a mesma
ficou em branco( Alm disso, a tabela mostra o total, tanto de cada lin"a 7uanto de cada coluna(
Caso o usu8rio dese=e, ode rearran=ar os dados de outra maneira, de acordo com a sua
necessidade( -ara isto, basta clicar em cima da tabela dinYmica com o bot3o direito e em seguida
selecionar a o3o f@niciarg( A mesma =anela de antes ser8 mostrada( A<s isto, basta arrastar o
camo dese=ado ara a osi3o dese=ada( )e=a abai'o outro e'emlo de tabela dinYmica, utili;ando
os mesmos dados, tendo aenas sido rearran=ados:
57
ig!ra 65 " 1!tro e.em/lo $e tabela $inCmi%a
As alteraXes 7ue foram feitas foram aenas inverter a osi3o de Categoria e Gilial, de
fCamos de Colunag ara fCamos de Lin"ag e vice6versa( T ossHvel tambm inserir algum dos
itens no camo fCamos de -8ginag, o 7ue far8 com 7ue aarea uma lista ara selecionar uma das
oXes( )e=a e'emlo:
58
ig!ra 66 " 7ais !m e.em/lo $e tabela $inCmi%a
O 7ue foi feita ara 7ue a tabela ficasse dessa maneira foi mover o camo Gilial ara
fCamos de -8ginag( @sso fa; com 7ue aarea uma lista de sele3o, 7ue contm o valor f5odasg e
os valores da coluna em 7uest3o( No e'emlo da figura acima, foi selecionada uma das filiais, e
com isso est3o sendo mostrados aenas os valores referentes D mesma(
)oc* deve ter rearado 7ue, no final de cada lin"a e coluna, e'iste o total( Esse total
calculado sobre a lin"a ou coluna corresondente, e or adr3o calcula a soma dos valores( No
entanto, ossHvel utili;ar outras funXes, como mdia, m8'imo, mHnimo, alm de funXes
estatHsticas, como desvio adr3o( -ara trocar a fun3o da tabela dinYmica, v8 at a tela de la!out(
Em fCamos de Cadosg, e'iste um bot3o escrito fAoma W )alorg( Cli7ue com o bot3o es7uerdo
sobre ele( Ao fa;er isso, o bot3o fOXesg D direita ficar8 disonHvel( Cli7ue neste bot3o( Aarecer8
a seguinte =anela:
59
ig!ra 67 " 6anela /ara sele*+o $a )!n*+o $o 4am/o $e ?a$os
-ara mudar a fun3o, basta aenas selecionar a 7ue voc* dese=a e clicar em fOKg( Em
seguida, cli7ue fOKg novamente e a tabela =8 ser8 atuali;ada( -ara nosso e'emlo, iremos utili;ar a
fun3o fContagemg( A tabela dinYmica ficar8 mais ou menos dessa maneira:
ig!ra 68 " 8lteran$o a )!n*+o $a tabela $inCmi%a
O n.mero & aarece em 7uase todas as clulas no e'emlo acima or7u* e'iste aenas um
item de cada categoria( Caso e'istissem mais do mesmo item, os valores seriam diferentes( @sso
ocorreu devido ao fato de a tabela ser e7uena, e estar servindo aenas ara demonstra3o( Em
tabelas grandes, com certe;a esses valores seriam maiores 0talve; n3o todos, mas a grande maioria2(
60
)oc* deve ter rearado 7ue algumas clulas ficaram em branco( @sso ocorre or7u* este item
n3o aareceu nen"uma ve; na tabela( -ortanto, clula em branco e7uivale ao valor ;ero(
No entanto, n3o adianta 7uerer reenc"er as clulas em branco com este valor, ou alterar
7ual7uer clula de dentro da tabela dinYmica, ois as mesmas est3o rotegidas, ou se=a, n3o
ermitido a inser3o, altera3o e+ou retirada de valores dentro da mesma manualmente( A .nica
maneira seria alterando valores no la!out da tabela dinYmica ou alterando valores na tabela original(
Caso voc* tente inserir valores manualmente dentro da tabela dinYmica, aarecer8 a seguinte
mensagem:
ig!ra 69 " 7ensagem in)orman$o <!e n+o @ /oss>vel alterar $a$os na tabela
$inCmi%a
Galando em alterar valores na tabela original, voc* ode fa;*6lo sem roblemas( No entanto,
a tabela dinYmica n3o atuali;ada automaticamente( )e=a a figura abai'o, onde foi alterado o valor
da categoria f?anuten3og na filial f-orto Alegreg, de Ra&(E%%,%% ara Ra$(R%%,%% 0clulas
destacadas2:
61
ig!ra 70 " -.em/lo mostran$o <!e a tabela $inCmi%a n+o @ at!ali(a$a
a!tomati%amente
Como voc* ode rearar, a clula CR contm Ra$(R%%,%%, en7uanto 7ue a sua clula
corresondente na tabela dinYmica, C$&, continua com valor Ra&(E%%,%%( -ara 7ue a mesma se=a
atuali;ada, necess8rio clicar com o bot3o direito em cima da tabela dinYmica e selecionar a o3o
fAtuali;arg, conforme figura abai'o:
ig!ra 71 " 1/*+o <!e at!ali(a a tabela $inCmi%a
A<s selecionar a o3o de atuali;ar tabela, a mesma ficar8 atuali;ada:
62
ig!ra 72 " &abela $inCmi%a at!ali(a$a
As clulas alteradas foram destacadas ara uma mel"or visuali;a3o( @sso foi feito
manualmente, ou se=a, o Calc n3o destaca automaticamente as clulas 7ue s3o alteradas(
Alm de todos os recursos vistos acima, ossHvel tambm alicar filtragem D nossa tabela
dinYmica, da mesma maneira 7ue feito com uma tabela simles 0ara mais informaXes, ve=a item
$(& W AutoGiltro nesta aostila2( @sso ode ser feito de duas maneiras: a rimeira clicando no bot3o
fGiltrog 7ue est8 no inHcio da tabela dinYmica, e a segunda e clicando com o bot3o direito dentro da
tabela, e em seguida na o3o fGiltrog( Aer8 mostrada a mesma =anela 7ue aarece no AutoGiltro,
o3o fGiltro -adr3og:
ig!ra 73 " 6anela $e )iltragem /ara tabelas $inCmi%as
Cigamos 7ue 7ueiramos 7ue se=am mostradas aenas as lin"as cu=os valores se=am
inferiores a Ra&%(%%%,%%( -ara isto, configuraremos o filtro da seguinte maneira:
63
ig!ra 74 " -.em/lo $e %on)ig!ra*+o $e )iltro /ara &abela ?inCmi%a
Note 7ue a configura3o e'atamente igual ao AutoGiltro( Ae 7uisssemos utili;ar mais de
uma condi3o, bastaria aenas utili;ar os oeradores E ou OU, esecificar a segunda e+ou terceira
condiXes( -ara o e'emlo da figura acima, o resultado ser8 o seguinte:
ig!ra 75 " Res!lta$o $e )iltragem na tabela $inCmi%a
-ara 7uestXes de filtragem, n3o s3o considerados os totais, ois os mesmos n3o s3o valores
_originais` na tabela( A3o considerados aenas os valores em si(
Caso os valores da tabela original se=am alterados, os valores da filtragem odem ser
alterados, odendo ser incluHdos ou retirados( )e=amos um e'emlo de cada caso( -rimeiramente,
iremos alterar o valor da manuten3o em -orto Alegre 0clula CR2 ara Ra&&(%%%,%%, ou se=a, o
64
critrio ara esta clula assar8 a ser falso, ois n3o atender8 mais ao critrio( A<s a atuali;a3o, a
tabela dinYmica com o filtro ficar8 assim:
ig!ra 76 " -.em/lo $e at!ali(a*+o $a )iltragem %om at!ali(a*+o $os valores
Comare a figura acima com a anterior( )oc* ver8 7ue a coluna da filial -orto Alegre foi
_e'cluHda`, ois o valor n3o est8 mais atendendo ao critrio( Os totais tambm s3o atuali;ados, ois
eles se referem aenas Ds lin"as e colunas 7ue est3o sendo mostradas na tabela no momento(
Agora iremos fa;er o contr8rio, ou se=a, _incluir` um valor na tabela( -ara isso, iremos
alterar o valor da categoria fdard1areg na filial Rio de Ianeiro 0clula CP2 ara RaS($%%,%%( )e=a o
7ue aconteceu deois de atuali;armos:
65
ig!ra 77 " 1!tro e.em/lo $e at!ali(a*+o $a )iltragem %om at!ali(a*+o $os valores
Aemre 7ue atuali;amos, todos os valores 7ue foram alterados s3o atuali;ados, =untamente
com a tabela em si, se for o caso, e os totais, indeendente da altera3o 7ue feita(
Como voc* ode erceber, a tabela dinYmica totalmente ersonali;8vel( Com ela,
ossHvel visuali;ar valores or lin"as, colunas, filtros, listas, etc( T um recurso bastante .til em
certos casos( Ae voc* souber us86lo corretamente, ode economi;ar muito temo em suas tarefas(
66
B+9 CR#ANDO LR"F#CO A PAR'#R D% U!A 'AB%&A D#NO!#CA
Alm dos recursos mostrados acima, o Calc ermite 7ue se=am criados gr8ficos a artir da
tabela dinYmica( -ara inserir, cli7ue em #nserir K LrPIico ou no sHmbolo na barra de
ferramentas -adr3o( A<s isso ser feito, aarecer8 a seguinte =anela:
ig!ra 78 " 8ssistente $e gr')i%o " -s%ol0a $o ti/o $e gr')i%o
Escol"a uma das oXes disonHveis 0Barra, Coluna, -i;;a, etc2 e o subtio, D direita( Um
gr8fico aarecer8 logo abai'o da =anela acima, mostrando como o gr8fico est8 ficando at o
momento( -ara cada altera3o de tio, subtio ou 7ual7uer outra, o gr8fico atuali;ado
automaticamente( -ara nosso e'emlo, utili;aremos o tio Coluna( Cli7ue em -r<'imo(
A =anela seguinte a da escol"a do intervalo de dados:
67
ig!ra 79 " -s%ol0a $o intervalo $e $a$os
Nesta =anela ser8 necess8rio fa;er alteraXes no intervalo, elo menos ara este e'emlo,
ois da maneira 7ue est8, o intervalo selecionado 0A&S:G$42 est8 englobando as colunas dos totais,
o 7ue fa; com 7ue as mesmas aaream no gr8fico( Como o total reresenta a soma de todos os
valores da7uela lin"a+coluna, a barra referente a ele ficar8 gigante, distorcendo o gr8fico( Buando o
total aarece, como se =unt8ssemos todas as outras barras numa s<, uma em cima da outra(
-ara alterar o intervalo, cli7ue no bot3o e selecione as clulas dese=adas( -ara o gr8fico
ficar _erfeito`, deve6se selecionar as clulas em amarelo da figura abai'o:
ig!ra 80 " Dntervalo <!e $eve ser sele%iona$o (em amarelo)
68
Este intervalo corresonde a A&P:E$$( A<s a sele3o, cli7ue no bot3o novamente,
ara 7ue a =anela volte ao normal( Geito isso confira se em f@ntervalo de dadosg est8 reenc"ido
QPlanilNa*+QAQ*R4Q%Q99+ O valor -lanil"a& ode variar, ois o nome da lanil"a onde est8 a
tabela, e se a lanil"a tiver outro nome, ser8 este nome 7ue aarecer8 ali( Ae o valor inicial 0aAa&P2
ou final 0aEa$$2 estiver diferente, voc* ode alter86lo manualmente( -ara isso, cli7ue na cai'a de
te'to 7ue contm o intervalo, aague o valor incorreto e reenc"a com o correto(
Nesta =anela e'istem tambm duas oXes, 7ue s3o: _Arie de dados em lin"as` e _Arie de
dados em colunas`( Ambas se referem a 7ue tio de valores ser3o usados como refer*ncia no
gr8fico e na legenda( Caso selecione em lin"as, os valores da lin"a ser3o refer*ncia, e vice6versa(
Altere de um ara outro e ve=a a diferena no gr8fico( Escol"a o 7ue mais se ade7uar ao seu caso e
cli7ue _-r<'imo`(
A terceira =anela do assistente de gr8fico refere6se D ersonali;a3o de cada srie de dados:
ig!ra 81 " 8ssistente $e gr')i%o " /ersonali(a*+o $as s@ries $e $a$os
@sso funciona da seguinte maneira: caso uma das lin"as ou colunas 0deendendo da maneira
como foi configurado na =anela anterior2 conten"a um item 7ue deve ficar de fora, ou este=a em
branco, ele ode ser retirado da lanil"a( Neste e'emlo, iremos aenas trabal"ar com a srie
fConsultoriag, 7ue =8 est8 selecionada na imagem( -ara alterar o intervalo, cli7ue no bot3o em
f@ntervalo ara )alores de jg( O intervalo atual B&E:E&E( Como e'istem tr*s clulas em branco
neste intervalo, odemos usar aenas o E&E( Aelecione esta clula e cli7ue no bot3o ( Gicar8
selecionado aenas o B&E ara este intervalo( Caso e'istissem outras categorias a serem
selecionadas, o rocedimento seria o mesmo(
69
Alm disso, ossHvel alterar a ordem 7ue as categorias aarecem no gr8fico( -ara isso,
selecione a categoria 7ue voc* dese=a e cli7ue nos botXes ou ara ir ara cima ou ara
bai'o, resectivamente( As mesmas odem ser Removidas 0clicando no bot3o fRemoverg2 ou
adicionadas, clicando em fAdicionarg(
A<s ter configurado todos os itens, cli7ue em f-r<'imog( Aer8 e'ibida em seguida a
seguinte =anela:
ig!ra 82 " 8ssistente $e gr')i%o " -s%ol0en$o t>t!los e legen$as
Esta =anela contm os seguintes itens 0todos s3o ocionais2:
'Jtulo4 define um tHtulo ara o gr8fico( Gica no too e com letras grandesZ
ubtJtulo4 fica um ouco abai'o do tHtulo e com letras menoresZ
%iSo T4 um r<tulo 7ue define o nome do ei'o inferior do gr8fico 0"ori;ontal2Z
%iSo U4 define o nome do ei'o D es7uerda do gr8fico 0vertical2(
%Sibir Lrades4 e'ibe lin"as na 8rea do gr8fico, tanto na vertical 0Ei'o U2 7uanto na
"ori;ontal 0Ei'o j2( Ceendendo do gr8fico, a o3o fEi'o hg tambm "abilitadaZ
&egenda4 define a osi3o do gr8fico em 7ue a legenda ficar8( -ara 7ue a mesma
se=a mostrada, necess8rio 7ue a o3o fE'ibir Legenda este=a selecionadag( A
osi3o adr3o fCireitag(
A figura abai'o mostra um e'emlo de reenc"imento dos camos:
70
ig!ra 83 " 8ssistente $e gr')i%o E e.em/lo $e /reen%0imento $os -lementos $o
gr')i%o
A<s configurar, cli7ue em fConcluirg, lembrando 7ue se ode tambm voltar Ds telas
anteriores, clicando em f)oltarg ou desistir de criar o gr8fico, clicando em fCancelarg(
A<s toda a configura3o, o gr8fico ficar8 assim:
ig!ra 84 " Fr')i%o $e/ois $e /ronto
71
A<s estar ronto, o gr8fico totalmente configur8vel, tanto taman"o 7uanto cor, tio, etc(
-ara comear, vamos alterar o taman"o do gr8fico( -ara isso, cli7ue com o bot3o es7uerdo do
mouse acima do gr8fico( Aarecer3o 7uadradin"os retos em cada canto da figura 0 2( -asse o
mouse sobre algum deles e o onteiro do mouse mudar8 ara duas setas em lados oostos 0 2(
Cli7ue com o mouse, segure e arraste ara cima ou ara bai'o, deendendo se voc* dese=a aumentar
ou diminuir( Uma lin"a ontil"ada indica o novo taman"o( Buando estiver satisfeito, aenas solte o
mouse( -ara mover sem mudar o taman"o, cli7ue no meio da figura e segure( O onteiro do mouse
mudar8 ara ( Com o mouse segurado, mova at a osi3o dese=ada, deois solte(
-ara alterar o tio de gr8fico, cli7ue com o bot3o direito em cima do gr8fico em cli7ue em
f5io de gr8ficog( Em seguida abrir8 a seguinte =anela, ara escol"a do gr8fico:
ig!ra 85 " 6anela $e es%ol0a $e ti/o $e gr')i%o
Nesta =anela, basta alterar o tio e+ou subtio ara o novo gr8fico( O gr8fico da lanil"a
atuali;ado automaticamente( Caso dese=e, voc* ode tambm alterar ara 4C, como est8
selecionado na figura abai'o( A<s configurar, cli7ue em fOKg(
Caso dese=e alterar a cor de fundo, cli7ue com o bot3o direito e selecione f-roriedades do
ob=etog( Na =anela 7ue aarece, selecione a aba f-reenc"imentog:
72
ig!ra 86 " 4on)ig!ra*+o $o /reen%0imento $o gr')i%o
A o3o de reenc"imento ode ser feita em tr*s lugares: Legenda, -arede do gr8fico e
Nrea do gr8fico( -ara alterar, necess8rio clicar com o bot3o direito na 8rea 7ue dese=a selecionar(
Na mesma =anela, odem ser alteradas as cores da borda, bastando ara isso selecionar a aba borda(
-ara finali;ar este caHtulo, ve=a abai'o um gr8fico deois de formatado:
ig!ra 87 " -.em/lo $e gr')i%o )ormata$o
73
<+ !ACRO
Uma macro uma se7u*ncia de comandos e funXes arma;enadas em um m<dulo do
LibreOffice Basic e ode ser e'ecutada semre 7ue voc* recisar e'ecutar a tarefa( Caso e'ecute
uma tarefa v8rias ve;es no Calc, voc* ode automati;86la com uma macro(
Antes de e'ecutar uma macro, necess8rio, _grav86la`, ou se=a, entrar no modo de grava3o
da macro, e'ecutar a0s2 tarefa0s2 dese=ada0s2 e salvar( -ara isso, acesse Ferramentas K !acro K
Lravar !acro+ A<s isso, aarecer8 na lanil"a a seguinte =anela:
ig!ra 88 " 6anela $e grava*+o $e ma%ro
En7uanto essa =anela estiver aberta, tudo o 7ue voc* fi;er ser8 _gravadog, ou se=a, ser8 feito
assim 7ue voc* e'ecutar( -ara arar, cli7ue em _-arar grava3o`(
)amos a um e'emlo( @magine a tabela abai'o:
ig!ra 89 " &abela /ara e.em/lo $e !tili(a*+o $e ma%ros
)amos formatar a coluna A, ondo uma cor de fundo na mesma, mais ou menos assim:
74
ig!ra 90 " -.em/lo $e %on)ig!ra*+o $e ma%ros
Em seguida, cli7ue em _-arar grava3o`( Aarecer8 a =anela ara dar nome D macro:
ig!ra 91 " 6anela /ara salvar a ma%ro
Escol"a um nome ara a macro e cli7ue em _Aalvar`( -ara este e'emlo, ser8 usado o nome
7ue aarece na imagem 0formatacao sem acento2 A macro ficar8 salva na lista de macros e oder8
ser acessada clicando6se em Ferramentas K !acros K %Secutar !acro 0lembre6se antes de
selecionar as clulas 7ue dese=a 7ue a macro se=a e'ecutada24
75
ig!ra 92 " 6anela $e sele*+o $e ma%ros
A<s selecionar a macro dese=ada, cli7ue em _E'ecutar`( A macro ser8 e'ecutada
e'atamente igual ao 7ue foi _gravado`( -ara este e'emlo, foi selecionada a coluna B antes de
e'ecutar a macro( O resultado final foi o seguinte:
ig!ra 93 " 7a%ro a/=s e.e%!ta$a
Buando foi gravada, a macro formatacao contin"a formata3o de clulas, na cor a;ul( 5oda
ve; 7ue a mesma for e'ecutada, a artir de agora, ser8 e'atamente isso 7ue ela ir8 fa;er, nas clulas
selecionadas( -or isso a coluna B ficou com a formata3o igual D coluna A(
76
Note 7ue todas as macros criadas elo usu8rio est3o locali;adas em f?in"as macrosg( -ara
aagar 7ual7uer uma delas, selecione Ferramentas K !acros K Organi/ar !acros K &ibreOIIice
Basic+ Aelecione a macro dese=ada e cli7ue em E'cluir:

ig!ra 94 " -.%l!in$o 7a%ros
No e'emlo acima, criamos uma macro onde foi alterada aenas a formata3o do te'to( No
entanto, odem ser criadas macros 7ue efetuam c8lculos tambm( )e=amos outro e'emlo:
ig!ra 95 " &abela /ara !tili(a*+o $e novo e.em/lo $e ma%ro
Considere a tabela acima( )amos criar agora a artir desta tabela uma macro 7ue
multili7ue todos os n.meros or 4( -rimeiramente, devemos iniciar a grava3o da macro, clicando
em Ferramentas K !acros K Lravar !acro+ Em seguida, vamos selecionar a clula A4, 7ue
contm o valor 4( Coie este valor ara a 8rea de transfer*ncia 0C5RL i C ou %ditar K Co7iar2(
Geito isso, devemos selecionar todo o intervalo 0A&:C42 ou as clulas 7ue devem ser
multilicadas e em seguida clicar em %ditar K Colar %s7ecial+ Aer8 mostrada a seguinte =anela:
77
ig!ra 96 " 6anela 4olar -s/e%ial
Nesta =anela deve ser selecionada a o3o f?ultilicarg em fOeraXesg, como na figura(
Em seguida, cli7ue _OK`( A tabela ficar8 assim:
ig!ra 97 " &abela a/=s !tili(a*+o $a ma%ro
Em seguida, cli7ue em _-arar /rava3o`( Aarecer8 a =anela ara escol"er o nome( -ara
nosso e'emlo, demos o nome fmultilicag ara a macro( Cli7ue em _Aalvar`( A macro =8 est8
salva( -ara test86la, selecione algumas clulas da tabela atual ou digite novos valores( Em seguida
v8 em Ferramentas K !acro K %Secutar !acro+ Locali;e a macro dese=ada e cli7ue em
_E'ecutar`(
Como vimos at agora, as macros s3o utili;adas semre 7ue uma tarefa reetitiva deve ser
e'ecutada( Ela ode ser gravada, 7ue foi o 7ue fi;emos agora, ode ser rogramada ou ambos(
)eremos como rogramar uma macro e funXes no r<'imo item(
78
<+* K PROLRA!ANDO !ACRO % FUN()%
5oda ve; 7ue uma macro gravada no LibreOffice Calc, gerado tambm um c<digo
referente D mesma( Esse c<digo criado na linguagem Basic, e gerado automaticamente assim 7ue
a macro criada, com os comandos referentes ao 7ue foi gravado na macro(
O acote LibreOffice ossui um editor de linguagem Basic, c"amado LibreOffice Basic, e
ode ser acessado elo camin"o Formatar K !acros K Organi/ar !acros K &ibreOIIice Basic+
Locali;e a macro dese=ada e cli7ue em _Editar`( Aer8 mostrada ent3o a =anela do LibreOffice Basic,
e ser8 mostrado na tela o c<digo referente D macro selecionada( Na figura abai'o, est8 o c<digo
referente D macro multiplica:
ig!ra 98 " 6anela $e e$i*+o $o #ibre1))i%e Basi%
N3o foi ossHvel mostrar todo o c<digo gerado na imagem acimaZ ortanto, o mesmo est8
sendo rerodu;ido abai'o:
sub multilica
rem 6666666666666666666666666666666666666666666666666666666666666666666666
rem define variables
dim document as ob=ect
dim disatc"er as ob=ect
rem 6666666666666666666666666666666666666666666666666666666666666666666666
79
rem get access to t"e document
document ] 5"isComonent(CurrentController(Grame
disatc"er ] createUnoAervice0kcom(sun(star(frame(Cisatc"delerk2
rem 6666666666666666666666666666666666666666666666666666666666666666666666
disatc"er(e'ecuteCisatc"0document, k(uno:Co!k, kk, %, Arra!022
rem 6666666666666666666666666666666666666666666666666666666666666666666666
dim args$0%2 as ne1 com(sun(star(beans(-roert!)alue
args$0%2(Name ] k5o-ointk
args$0%2()alue ] kaAa&:aCa4k
disatc"er(e'ecuteCisatc"0document, k(uno:/o5oCellk, kk, %, args$022
rem 6666666666666666666666666666666666666666666666666666666666666666666666
rem disatc"er(e'ecuteCisatc"0document, k(uno:-asteAecialk, kk, %, Arra!022
rem 6666666666666666666666666666666666666666666666666666666666666666666666
dim argsJ0R2 as ne1 com(sun(star(beans(-roert!)alue
argsJ0%2(Name ] kGlagsk
argsJ0%2()alue ] kAk
argsJ0&2(Name ] kGormulaCommandk
argsJ0&2()alue ] 4
argsJ0$2(Name ] kA:iEmt!Cellsk
argsJ0$2()alue ] false
argsJ042(Name ] k5ransosek
argsJ042()alue ] false
argsJ0J2(Name ] kAsLin:k
argsJ0J2()alue ] false
argsJ0R2(Name ] k?ove?odek
argsJ0R2()alue ] J
disatc"er(e'ecuteCisatc"0document, k(uno:@nsertContentsk, kk, %, argsJ022
end sub
80
5odo esse c<digo foi gerado ara efetuar o c8lculo da multilica3o dos valores das clulas(
Ele gerado automaticamente 7uando a clula gravada( -ode arecer comlicado a rincHio,
orm com um ouco de estudo, ficar8 mais comreensHvel( T interessante tambm estudar um
ouco de l<gica de rograma3o, ara termos noXes do b8sico, rincialmente sobre vari8veis(
Os comonentes b8sicos de toda macro criada no BAA@C s3o:
ub SSSS4 esta lin"a indica o inHcio do c<digo da macro, sendo 7ue o ''''
substituHdo elo nome da mesma( No final de todo o c<digo, ela deve ser _fec"ada`,
digitando6se end subF
Dim4 este comando serve ara declarar as vari8veis 7ue ser3o utili;adas( Uma
vari8vel um esao de mem<ria 7ue servir8 ara arma;enar determinado valor
0n.mero inteiro, te'to, n.mero decimal, etc2, 7ue ode ou n3o variar 7uando o
c<digo e'ecutado 0or isso se c"ama vari8vel2Z
Rem4 serve ara indicar coment8rios, e devem ser colocados no inHcio da0s2 lin"a0s2
7ue se dese=a usar como coment8rio( Um coment8rio nada mais 7ue observaXes a
reseito do 7ue est8 sendo feito na7uela arte do c<digo( @sso .til ara mel"or
comreens3o do 7ue est8 sendo feito, tanto or outra essoa 7ue analise o c<digo
7uanto ela r<ria essoa 7ue fe;, ois se o c<digo for muito grande, ela ode n3o
se lembrar de tudo o 7ue foi feito( Aendo assim, teria 7ue analisar o c<digo
novamente ara recordar o 7ue "avia feito na7uela arte, e assim gastaria mais
temo desnecessariamente( -or isso, os coment8rios s3o altamente recomend8veis,
tanto em BAA@C 7uanto em 7ual7uer outra linguagem de rograma3o(
N3o ossHvel e'licar a7ui como funciona a rograma3o em BAA@C, ois o conte.do
muito e'tenso( Caso dese=e mais informaXes sobre o assunto, acesse
"tt:++"el(libreoffice(org+Basic+Basic^del+t
Alm das macros, com o BAA@C ossHvel criar funXes ara serem utili;adas no Calc(
)eremos como fa;er isso no r<'imo subitem(
81
<+9 G CR#ANDO FUN()% CA&C NO BA#C
Antes de comearmos a ver funXes roriamente ditas, veremos um ouco de como
criarmos nossas r<rias macros( )amos comear com uma bem simles, 7ue mostra ao usu8rio
uma cai'a de di8logo solicitando o nome do usu8rio( A<s o mesmo reenc"er e clicar em OK, ser8
mostrada uma mensagem de boas vindas ersonali;ada com o nome do usu8rio(
-ara comear, abra a =anela de gerenciamento de macros, 7ue est8 em Ferramentas K
!acros K Organi/ar !acros K &ibreOIIice Basic+ Em seguida, selecione _Novo`( Aarecer8 a
=anela de edi3o do Basic( Cigite o c<digo abai'o:
ig!ra 99 " 4=$igo /ara 7a%ro
Geito isso, salve as alteraXes e e'ecute a macro( Aer8 mostrada a =anela abai'o, solicitando
a digita3o de nome:
ig!ra 100 E 7a%ro em e.e%!*+o E /arte 1
A<s clicar em _OK`, aarecer8 a cai'a de mensagem abai'o, com o nome 7ue foi digitado:
ig!ra 101 " 7a%ro em e.e%!*+o " /arte 2
82
)amos analisar o 7ue cada arte do c<digo fa;:
ub euNome4 essa lin"a o _cabeal"o` da macro, onde inicia o c<digo 7ue ser8
e'ecutado( Buando foi clicado em _Novo`, nessa lin"a aarece escrito Sub Macro1,
e deve ser substituHdo elo nome de macro dese=adoZ
Rem4 as lin"as 7ue comeam com essa alavra s3o aenas coment8rios, 7ue
e'licam o 7ue ser8 feito ou 7ual7uer outra observa3o 7ue se=a necess8ria fa;er(
N3o s3o consideradas elo Basic na "ora de e'ecutarZ
Dim Nome as tring4 Essa lin"a declara a vari8vel Nome, com tio de dados Atring
0te'to2( Cada vari8vel 7ue for declarada deve ser colocada em uma lin"a searadaZ
Nome ; #n7utBoS1VDigite o seu nome4V8 VPreencNaV34 essa lin"a atribui o valor
digitado na cai'a de te'to 0@nutBo'2 D vari8vel Nome( Os valores entre ar*nteses
se referem aos valores 7ue ser3o informados ao usu8rio 0ve=a figura &%%2Z
!sgBoS 1VeWa bemGvindo1a38 V XNome XVYV8 VBoasGvindasV34 o comando
?sgBo' fa; aarecer aenas uma mensagem, informando o te'to 7ue foi colocado
entre ar*nteses 0ve=a figura &%&2( Caso se=a necess8rio inserir valor de vari8veis,
usado o sHmbolo l e deois o nome da vari8velZ
%nd ub4 essa indica o fim do c<digo da macro, 7ue foi aberta em Aub AeuNome(
Esse aenas um e'emlo de como configurar uma macro via rograma3o no Calc( -ara
mais e'emlos e informaXes, acesse o site oficial do LibreOffice Basic:
"tt:++"el(libreoffice(org+Basic+Basic^del+t ( Agora veremos como criar uma fun3o 7ue ser8
utili;ada no Calc atravs do Basic
Alm das macros, 7ue vimos acima, ossHvel criar tambm funXes ara uso r<rio no
Calc( A<s ela estar rogramada, ossHvel utili;86la da mesma maneira 7ue se usa as funXes
fnativasg do Calc, ou se=a, usando6se o sinal de igual, o nome da fun3o e os arYmetros dese=ados(
A diferena 7ue neste caso os arYmetros ser3o definidos or n<s(
Antes de comear, vamos fa;er o seguinte: uma lanil"a onde digitaremos uma data e
dese=aremos saber em 7ue dia da semana 0or e'tenso2 esta data caiu( Aesar de trabal"ar com
funXes de datas, o Calc n3o ossui nen"uma 7ue faa isso diretamente( O 7ue ode6se fa;er
utili;ar a fun3o C@A(CA(AE?ANA, 7ue retornar8 um n.mero de % a F ou de & a S, deendendo de
como for configurada a fun3o( Usaremos ara este e'emlo a contagem adr3o, 7ue atribui valor &
ara domingo, $ ara segunda6feira, 4 ara tera6feira e assim or diante( A lanil"a dever8 ficar
mais ou menos assim:
83
ig!ra 102 " -.em/lo $e tabela /ara $emonstra*+o $e )!n*;es
A fun3o em B$ ficar8 ]C@A(CA(AE?ANA0A$2, e retornou S or7u* a data em A$ caiu
num s8bado, e assim sucessivamente(
Geito isto, c"egou a "ora de criar a nossa fun3o( -ara isso, iremos acessar o editor de
macros, clicando em Ferramentas K !acros K Organi/ar !acros K &ibreOIIice Basic e deois
vamos clicar em Editar(
)amos criar uma fun3o 7ue denominaremos Cia-orE'tenso, e 7ue contm aenas um
arYmetro, 7ue ser8 o valor 7ue resultou da fun3o C@A(CA(AE?ANA( 5odos os arYmetros
devem ser declarados no cabeal"o da fun3o, ao lado do nome da mesma( O c<digo ara este
e'emlo em esecHfico ficou assim:
ig!ra 103 " -.em/lo $e %=$igo %ria$o /ara !ma )!n*+o /ersonali(a$a
84
O c<digo acima recebe o valor da clula 0Numero2 e o comara com valores de & a S 0Aelect
Case Numero indica 7ue o valor a ser comarado o da vari8vel Numero2( Caso o valor de Numero
se=a um valor 7ue n3o este=a entre & e S, retornar8 a mensagem _Cia @nv8lido` 0Case Else2( A<s
isso, devemos fec"ar a fun3o com End Gunction(
)amos testar agora na lanil"a( )amos colocar o cursor em C$ e digitar
]C@A-OREU5ENAO0B$2( Ceois odemos coiar a fun3o ara as lin"as seguintes na mesma
coluna( O resultado dever8 ficar assim:
ig!ra 104 " -.em/lo $e !tili(a*+o $e )!n*+o %ria$a /elo !s!'rio
Uma observa3o imortante: as funXes ersonali;adas n3o aarecem na lista do assistente
de funXes, elo fato de terem sido criadas elo usu8rio( Aomente aarecem nesta lista as funXes
fnativasg, ou se=a, a7uelas 7ue foram criadas =unto com o Calc(
-ara finali;ar, vamos ver mais um e'emlo de utili;a3o de funXes ersonali;adas no Calc(
Auon"amos 7ue voc* dese=a criar uma lanil"a ara o c8lculo do @?C 0Kndice de ?assa Cor<rea,
medida utili;ada calcular o eso ideal, e 7ue calculado dividindo6se o eso ela altura ao
7uadrado2( )amos rimeiramente digitar os valores necess8rios na lanil"a:
ig!ra 105 " -.em/lo /ara %ria*+o $e )!n*+o /ara %'l%!lo $o D74
A<s isso, iremos ao editor do Basic e digitaremos o c<digo abai'o:
85
ig!ra 106 " -.em/lo $a )!n*+o $o D74 no B8,D4
A fun3o acima uma fun3o bem simles, sendo 7ue seu c8lculo ocuou aenas uma
lin"a( @sso ocorreu or7u* n3o foi necess8rio escol"er entre v8rios valores como no e'emlo
anterior( Aenas fe; o c8lculo e retornou o valor deste c8lculo( Lembre6se de salvar as alteraXes
feitas no editor do Basic(
Uma observa3o imortante: nos casos em 7ue a fun3o tiver mais de um argumento, como
o nosso caso 0eso e altura2, eles devem ser colocados na ?EA?A ORCE? em 7ue forem usados
na fun3o(
Geito isso, volte na lanil"a e digite ]@NC@CE?AAAA0b&Zb$2( O resultado ficar8 assim:
ig!ra 107 " !n*+o D74 a/=s /reen%0i$a
Caso voc* ten"a colocado rimeiro a altura e deois o eso, basta inverter a ordem dos
endereos do 7ue est8 na fun3o do e'emlo 7ue tambm dar8 certo( E'erimente alterar os valores
ara verificar o funcionamento da fun3o(
Este caHtulo foi aenas uma breve introdu3o ao funcionamento das macros e do editor
Basic do LibreOffice( N3o ossHvel e'licar tudo, ois o material muito e'tenso e ficaria
invi8vel colocar a7ui( No entanto, como =8 mencionei anteriormente, no site oficial do LibreOffice,
e'istem muito mais informaXes disonHveis sobre este assunto(
Estamos c"egando ao fim deste livro de LibreOffice Calc Avanado( Esero 7ue ten"a sido
.til e voc* ossa utili;ar os con"ecimentos a7ui ad7uiridos a seu favor( At logomm
86
R%F%RZNC#A B#B&#OLR"F#CA
ROC[A, 5arcH;io da, OenOffice(Org $(% Calc Comleto e Cefinitivo, Editora Ci*ncia ?oderna,
Rio de Ianeiro, $%%FZ
LON(A&V%8 Cristiane, Broffice(org: Calc Avanado Com @ntrodu3o Ds ?acros W Editora
Ci*ncia ?oderna, Rio de Ianeiro, $%%EZ
87

Você também pode gostar