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