Você está na página 1de 96

Manual de Excel

Por:
Paulo Castro Ribeiro

Viseu, 2000

ndice

1.

FORMATAO, FRMULAS, NOMES, REFERNCIAS RELATIVAS E ABSOLUTAS --------------- 4


1.1. MODOS DE TRABALHO / INSERO DE DADOS: -----------------------------------------------------------------------------6
1.1.1. Modo Pronto ----------------------------------------------------------------------------------------------------------- 6
1.1.2. Modo Edio ----------------------------------------------------------------------------------------------------------- 7
1.2. COMPONENTES DA BARRA DE EDIO ---------------------------------------------------------------------------------------7
1.3. FRMULAS (OPERADORES E OPERANDOS) -----------------------------------------------------------------------------------9
1.4. MODELO DE CLCULO SIMPLIFICADO -------------------------------------------------------------------------------------- 10
1.5. REFERNCIAS RELATIVAS, ABSOLUTAS E MISTAS ------------------------------------------------------------------------ 12
1.6. NOMES DE CLULAS ----------------------------------------------------------------------------------------------------------- 14

2.

FUNES: UTILIZAO / CRIAO DE FUNES. TIPOS DE ERROS ------------------------------- 16


2.1. FUNES MATEMTICAS: ---------------------------------------------------------------------------------------------------- 16
2.2. FUNES LOGARTMICAS ----------------------------------------------------------------------------------------------------- 18
2.3. FUNES TRIGONOMTRICAS ------------------------------------------------------------------------------------------------ 19
2.4. FUNES PARA MATRIZES ---------------------------------------------------------------------------------------------------- 19
2.5. FUNES ESTATSTICAS ------------------------------------------------------------------------------------------------------ 19
2.6. FUNES LGICAS E DE INFORMAO ------------------------------------------------------------------------------------- 20
2.6.1 Funes lgicas:------------------------------------------------------------------------------------------------------ 20
2.6.2. Funo SE ou IF ----------------------------------------------------------------------------------------------------- 20
2.6.3. Funes E, OU e NO ---------------------------------------------------------------------------------------------- 21
2.6.4. Funes VERDADEIRO e FALSO -------------------------------------------------------------------------------- 22
2.7. FUNES PERSONALIZADAS ------------------------------------------------------------------------------------------------- 23
2.8. FUNES DE INFORMAO: -------------------------------------------------------------------------------------------------- 24
2.9. TIPOS DE ERROS: --------------------------------------------------------------------------------------------------------------- 26

3.

DATAS E HORAS, NMEROS ALEATRIOS (RAND), SUMIF, COUNTIF------------------------------ 27


3.1. INTRODUO DE UMA SRIE DE DATAS ------------------------------------------------------------------------------------ 28
3.2. FUNES DE DATA E HORA --------------------------------------------------------------------------------------------------- 28
3.3. FUNES MATEMTICAS / ALEATRIO E ALEATRIOENTRE ----------------------------------------------------------- 31
3.4. FUNO MATEMTICA SOMA.SE: ------------------------------------------------------------------------------------------- 31
3.5. FUNO ESTATSTICA CONTAR.SE: ----------------------------------------------------------------------------------------- 31

4.

FUNES DE TEXTO: LOWER, UPPER, LEFT, RIGHT, FIND, SUBST E FUNES DE


CONSULTA EM TABELAS: VLOOKUP, HLOOKUP ---------------------------------------------------------- 33
4.1. FUNES DE TEXTO ----------------------------------------------------------------------------------------------------------- 33
4.2. FUNES DE CONSULTA E REFERNCIA ------------------------------------------------------------------------------------ 36

5.

FUNES DE BASE DE DADOS: DGET, DCOUNTA, DSUM, ... CRITRIOS --------------------------- 41


5.1. CUIDADOS A TER AO CRIAR TABELAS -------------------------------------------------------------------------------------- 41
5.2. FUNES DE BASE DE DADOS ------------------------------------------------------------------------------------------------ 42
5.3.CONSTRUO DE CRITRIOS -------------------------------------------------------------------------------------------------- 43
5.3.1. Critrios comparados simples ------------------------------------------------------------------------------------- 43
5.3.2 Critrios compostos -------------------------------------------------------------------------------------------------- 44
5.3.3 Critrios calculados-------------------------------------------------------------------------------------------------- 45
5.4. FILTROS AUTOMTICOS E FILTROS AVANADOS--------------------------------------------------------------------- 47
5.4.1. Filtros Automticos-------------------------------------------------------------------------------------------------- 47
5.4.2. Filtros Avanados --------------------------------------------------------------------------------------------------- 48

6.

FUNES FINANCEIRAS E DE ENGENHARIA ---------------------------------------------------------------- 51


6.1. FUNES FINANCEIRAS------------------------------------------------------------------------------------------------------- 51
6.2. FUNES DE ENGENHARIA --------------------------------------------------------------------------------------------------- 55

7.

ARRAYS / ANLISE DE TENDNCIA, CRESCIMENTO E PREVISO, TABELAS, GOALSEEK


E SOLVER, CONSTRUO DE CENRIOS ------------------------------------------------------------------ 58
7.1. ARRAYS ------------------------------------------------------------------------------------------------------------------------- 58
7.1.1. Frmulas matriz (array) -------------------------------------------------------------------------------------------- 58
7.1.2. Frmula combinao------------------------------------------------------------------------------------------------ 58
7.1.3. Frmula cpia-------------------------------------------------------------------------------------------------------- 59
7.2. FUNES TENDNCIA, CRESCIMENTO E PREVISO ------------------------------------------------------------ 60
7.3. TABELA DE DADOS OU DATA TABLE --------------------------------------------------------------------------------------- 61
7.3.1. Tabela de dados baseada numa varivel ------------------------------------------------------------------------- 61
7.3.2. Tabela de dados baseada em duas variveis--------------------------------------------------------------------- 62
7.4. ATINGIR OBJECTIVO OU GOAL SEEK --------------------------------------------------------------------------------------- 62
7.5. SOLVER-------------------------------------------------------------------------------------------------------------------------- 63
7.6. CONSTRUO DE CENRIOS ------------------------------------------------------------------------------------------------- 65

8.

RELATRIOS DE TABELAS E GRFICOS DINMICOS---------------------------------------------------- 69


8.1. CRIAO DE TABELAS / GRFICOS DINMICOS -------------------------------------------------------------------------- 69
8.2. ALTERAO DE UMA TABELA / GRFICO DINMICO -------------------------------------------------------------------- 72

9.

VBA -------------------------------------------------------------------------------------------------------------------------- 73
9.1. O QUE UMA FUNO -------------------------------------------------------------------------------------------------------- 73
9.2. FUNES DO EXCEL ----------------------------------------------------------------------------------------------------------- 73
9.3. COMO CRIAR FUNES ------------------------------------------------------------------------------------------------------- 73
9.4. ONDE DEFINIR A FUNO ---------------------------------------------------------------------------------------------------- 75
9.5. TRABALHAR NO EDITOR DE VBA CRIAR UMA FUNO -------------------------------------------------------------- 76
9.6. EXECUO DE UMA FUNO DENTRO DE UMA CLULA ----------------------------------------------------------------- 77
9.7. UTILIZAO DE VARIVEIS -------------------------------------------------------------------------------------------------- 78
9.7.1. Tipos de variveis --------------------------------------------------------------------------------------------------- 78
9.7.2. Declarao de Variveis-------------------------------------------------------------------------------------------- 79
9.8. ESTRUTURAS DE CONTROLO ------------------------------------------------------------------------------------------------- 80
9.8.1. If-Then-Else ---------------------------------------------------------------------------------------------------------- 80
9.8.2. Select Case ----------------------------------------------------------------------------------------------------------- 84
9.8.3. For Next ------------------------------------------------------------------------------------------------------------ 86
9.8.4. While Wend--------------------------------------------------------------------------------------------------------- 89
9.8.5. Do Loop------------------------------------------------------------------------------------------------------------- 93

Universidade Catlica Portuguesa


Centro Regional das Beiras - Plo de Viseu

1. FORMATAO, FRMULAS, NOMES, REFERNCIAS RELATIVAS E ABSOLUTAS

Objectivos:


Conceito de folha de clculo

Insero de dados (tipos)

Formatao simples

Frmulas - operaes aritmticas

Modelo de clculo simplificado

Referncias relativas, absolutas e mistas

Nomes de clulas

Resumo:
Folha de clculo:

um conjunto de clulas onde se pode colocar informao e que podem relacionar-se umas com as outras
atravs de expresses lgicas e matemticas;

uma ferramenta informtica que permite fazer todos os clculos que se pretendem, de forma simples,
iterativa ou repetitiva, relacionando os prprios dados que possui nos clculos que faz.

Pelo que ficou dito, uma folha de clculo uma excelente ferramenta de simulao.
Noes:
a)

barra de ttulo - o espao onde exibido o ttulo da janela;

b) barra de menu - mostra o nome dos diferentes menus relativos aplicao corrente. Cada menu contm
vrios comandos;
c)

barra de ferramentas - contm vrios cones onde se faz um "click" para executar uma tarefa;

d) barra de edio - o espao onde se escrevem as frmulas ou os dados;


e)

barras de rolamento - permitem aceder a reas adjacentes da janela (verticais e horizontais);

f)

barra de informao - apresenta informao e controlos relativos ao ficheiro da folha activa.

g) clula - quadro onde os dados so digitados. delimitada pela interseco de uma linha com uma coluna;
h) linhas - so seces horizontais ao longo da folha estendida, marcadas de 1 a 65536;
i)

colunas - so seces verticais ao longo da folha estendida, ordenadas de A a Z e depois de AA a IV,


compreendendo 256 colunas;

Universidade Catlica Portuguesa


Centro Regional das Beiras - Plo de Viseu
Layout do Excel

Livro (workbook) - um conjunto de documentos:

folhas de clculo (worksheets) - um mapa composto por clulas que podem conter dados e frmulas. Uma
folha pode ainda incorporar outros objectos (grficos, botes,...);

grficos (charts);

mdulos de cdigo - contm programas escritos em VBA (Visual Basic for Applications);

caixas de dilogo;

macros do Excel Conjunto de comandos empacotados dentro da entidade Macro.

Universidade Catlica Portuguesa


Centro Regional das Beiras - Plo de Viseu

1.1. MODOS DE TRABALHO / INSERO DE DADOS:

1.1.1. Modo Pronto

Quando o excel acaba de ser carregado, o estado do mesmo o de Pronto. Este modo corresponde ao estado de no
edio, ou seja, quando o cursor de edio no se encontra activo. Neste modo, a folha de clculo apresenta, em
todas as clulas o resultado dos clculos efectuados. O contedo da clula na qual se encontra o cursor de folha
apresenta o resultado do clculo da formula que esta tem subjacente.
Este modo de trabalho permite activar os diferentes modos de seleco que passamos a descrever:


Seleco Simples de clulas


Com o Rato:
o

Colocar o cursor num dos cantos do rectngulo de clulas a seleccionar, pressionar a tecla
esquerda do rato e arrastar, sem largar a tecla esquerda, at ao canto oposto;

Colocar o cursor num dos cantos do rectngulo de clulas a seleccionar, pressionar a tecla Shift
sem largar e fazer click com o ponteiro do rato na clula do canto oposto (Seleco de...at)

Com o Teclado:
o

Colocar o cursor num dos cantos do rectngulo de clulas a seleccionar, pressionar a tecla Shift e
deslocar o cursor com as teclas de cursor

Seleco de Coluna(s) / Linha(s)


o

Apontar para o cabealho de coluna/linha e fazer click na tecla esquerda do rato. Se pretender
seleccionar mais do que uma coluna/linha ento deve repetir o procedimento anterior arrastando o
rato em coluna/linha enquanto pressiona a tecla esquerda.

Seleco de toda a folha


o

Fazer click com o rato no quadrado de interseco entre os cabealhos de coluna e linha.

Universidade Catlica Portuguesa


Centro Regional das Beiras - Plo de Viseu

Seleco Mltipla
o

Pode ser aplicada a qualquer dos modos anteriores carregando-se, de seguida, na tecla Control e,
sem largar, seleccionar uma nova rea, coluna ou linha.

1.1.2. Modo Edio

Neste modo o cursor de edio ( | )encontra-se a piscar ou na linha de edio ou dentro da clula que est a ser
editada. Editar significa alterar o contedo de uma clula ou seja, apagar, acrescentar ou alterar.

1.2. COMPONENTES DA BARRA DE EDIO


Em Modo Pronto

 Caixa de nome (Contm o endereo da clula onde se encontra o cursor de folha ou o nome da mesma ou
do bloco seleccionado)


Editar Frmula (Chama Wizard da frmula em edio)

 Frmula subjacente ao valor apresentado na clula onde se encontra o cursor

Universidade Catlica Portuguesa


Centro Regional das Beiras - Plo de Viseu

Em Modo Edio

 Caixa de nome (Contm o endereo da clula onde se encontra o cursor de folha ou o nome da mesma ou
de um bloco seleccionado)


Cancelar (Estando em modo edio cancela as alteraes feitas e que ainda no foram validadas com enter)

Inserir / Enter (Valida alteraes feitas)

Editar Frmula (Chama Wizard da frmula em edio)

INSERO DE DADOS
Colocar o cursor na clula onde ser feita a insero de dados e escrever. O excel passa automaticamente do modo
Pronto ao modo Edio.
Nmeros alinhados direita
Texto alinhado esquerda
Frmulas comeam pelo sinal de igual (= ou sinais de + ou -) e executam operaes sobre os valores da folha de
clculo

FORMATAO
Em modo Pronto, seleccionar clula(s) a formatar e fazer FORMATARCLULAS

Universidade Catlica Portuguesa


Centro Regional das Beiras - Plo de Viseu

1.3. FRMULAS (OPERADORES E OPERANDOS)


OPERADORES ARITMTICOS:
+ adio
- subtraco / negao
* multiplicao
/ diviso
% percentagem
^ exponenciao
OPERADORES DE COMPARAO (comparam dois valores e do como resultado o valor lgico Verdadeiro ou Falso)
= igual
> maior
< menor
>= maior ou igual
<= menor ou igual
<> diferente
OPERADORES DE TEXTO:
& concatenao
OPERADORES DE REFERNCIA (combinam intervalos de clulas para clculos):
: intervalo (de...a)
; unio (Soma)
(espao) interseco explcita
ORDEM DE EXECUO DOS OPERADORES (PRIORIDADES)
:
;
(espao)
- (negao)
%
^
*e/
+e&
operadores de comparao

Universidade Catlica Portuguesa


Centro Regional das Beiras - Plo de Viseu
OPERANDOS:
Um valor que no se altere (valor constante);
Uma referncia de clula ou de intervalo;
Um rtulo (texto);
Um nome ou uma funo de folha de clculo.

Exemplos:
=2+3*5 resulta 17
=(2+3)*5 resulta 25
= 2>3 resulta Falso
="Ana"&2 resulta Ana2

1.4. MODELO DE CLCULO SIMPLIFICADO


Considere o seguinte problema: o Sr. X vende batatas em Portugal e em Espanha. Sabendo a quantidade de batatas
que vendeu em Portugal em 1996 e a quantidade de batatas que vendeu em Espanha em 1996 pretende-se saber que
quantidade de batatas que vendeu na Pennsula Ibrica em 1996.
Este difcil problema pode-se traduzir formalmente no seguinte modelo de clculo:
Dados :

x (que representa a quantidade de batatas vendidas em Portugal)


y (que representa a quantidade de batatas vendidas em Espanha)

Calcular : z (que representa a quantidade de batatas vendidas na P. Ibrica)


x e y so os "dados do problema"; vamos chamar-lhes variveis independentes.
z representa o resultado , que naturalmente depende e obtm-se a partir dos outros dois; vamos chamar-lhe varivel
dependente ou varivel de resultado;
O clculo a fazer traduz-se na seguinte expresso:
z = f(x,y) = x + y
i.e. : z depende ( funo de) x e y e especificamente obtm-se somando x com y;

A partir deste momento, vamos passar a considerar uma folha de clculo como reflexo de um modelo de clculo.
O modelo de clculo designa:
as variveis independentes,
as variveis dependentes, e
as expresses que permitam obter o valor das variveis dependentes em funo das variveis independentes.
A folha de clculo obtm-se do modelo de clculo fazendo a seguinte correspondncia:

10

Universidade Catlica Portuguesa


Centro Regional das Beiras - Plo de Viseu
- associar a cada varivel do modelo de clculo uma clula da folha de clculo
- a uma varivel independente associar uma clula de entrada
- a uma varivel dependente associar uma clula de sada (ou seja, com uma frmula);

Neste caso podemos, por exemplo, fazer a seguinte correspondncia:


x  clula A1
y  clula A2
z  clula A3
Na clula A3 pomos a frmula correspondente ao clculo de z :
=A1 + A2 (ou seja a soma das clulas que representam as variveis x e y)
E reencontramos a j nossa conhecida folha de clculo:
A

 varivel x (entrada)

 varivel y (entrada)

16

 varivel z ( clula de Sada ; frmula = A1+A2)

Exemplo:
Voc vai loja comprar um computador. O vendedor diz-lhe que o computador custa 200c mais IVA. Quanto que
paga ?
Vamos considerar a resoluo do problema em duas etapas:
1) Definir o modelo de clculo
O modelo de clculo pode formular-se assim:
Variveis independentes
Preo : preo, indicado pelo vendedor
Taxa : taxa de IVA
Variveis Dependentes
IVA : valor do IVA
Valor : valor a pagar
Expresses
IVA = Preo * Taxa
Valor = Preo + IVA

11

Universidade Catlica Portuguesa


Centro Regional das Beiras - Plo de Viseu

2) Fazer a folha de clculo correspondente (a partir do modelo de clculo).

1.5. REFERNCIAS RELATIVAS, ABSOLUTAS E MISTAS


UMA REFERNCIA identifica uma clula ou um intervalo de clulas numa folha de clculo.
A1 clula na interseco da coluna A com a linha 1
B5:B10 intervalo de clulas na coluna B da linha 5 10
B5:D5 intervalo de clulas na linha 5 da coluna B D
5:7 todas as clulas da linha 5 linha 7
A:C todas as clulas da coluna A coluna C
REFERNCIA RELATIVA - referncia a clulas relativamente posio da frmula
A clula B3 contm a frmula =A2
 apresenta o valor dessa clula em B3
Se copiar a frmula de B3 para C4 passa a apresentar o valor da clula B3, ou seja, actualiza o endereo da frmula
original (A2) em funo do nmero de linha(s) e coluna(s) que se movimentou (uma linha para baixo de 2 passa a
3 - e uma coluna para a direita da coluna A passa para a coluna B)
REFERNCIA MISTA - quando copia frmulas apenas se altera uma parte da referncia, ou a coluna ou a linha
A clula B3 contm a frmula =A$2
 apresenta o valor dessa clula em B3
Se copiar a frmula de B3 para C4 passa a apresentar o valor da clula B2, ou seja, a parte da referncia coluna
altera-se (avana uma coluna para a direita em relao ao endereo original de A passa a B) e a parte da referncia
linha no se altera apesar de ter sido copiada a frmula (continua a referir-se linha 2).
REFERNCIA ABSOLUTA - referncia a clulas numa posio especfica
A clula B3 contm a frmula =$A$2
 apresenta o valor dessa clula em B3

12

Universidade Catlica Portuguesa


Centro Regional das Beiras - Plo de Viseu
Se copiar a frmula de B3 para C4 continua a apresentar o valor da clula A2, ou seja, a referncia no se altera
apesar de ter sido copiada a frmula.

PRATICANDO:
Resolva o exerccio seguinte imaginando que copia as frmulas no sentido indicado pelas setas. Identifique a
frmula e o valor resultante do processo de cpia.

REFERNCIA CIRCULAR - quando uma frmula se refere, directa ou indirectamente, sua clula (provoca erro)
A clula C6 contm a frmula =C5+C6
REFERNCIA A CLULAS NOUTRAS FOLHAS do mesmo livro
A clula B3 contm a frmula =Sheet2!A2
 apresenta o valor uma clula acima e uma clula para a esquerda de B3 na folha Sheet2
REFERNCIAS 3D - referncia a clulas em vrias folhas

13

Universidade Catlica Portuguesa


Centro Regional das Beiras - Plo de Viseu
Pode ser utilizado com as seguintes funes: soma, mdia, mdia, contar, contar.val, mximo, mnimo, produto,
desvpad,, desvpadp, var e varp.
REFERNCIAS EXTERNAS - referncia a clulas de outros livros
A clula B3 contm a frmula =[Livro2]Sheet2!$A$2
 apresenta o valor da clula A2 da folha Sheet2 do livro Livro2
A clula C3 contm a frmula ='c:\excel\[Teorica.xls]Sheet2'!$A$2
 apresenta o valor da clula A2 da folha Sheet2 do livro Teorica que est localizado na pasta \excel do disco C

1.6. NOMES DE CLULAS


Podemos usar nomes (rtulos) em vez de referncias quando criamos frmulas
FRMULA COM LINGUAGEM NATURAL (Natural language formula):
Nomes no topo de colunas e esquerda de linhas identificam as clulas internas da tabela quando usamos nomes
em frmulas. Este processo consiste em criar nomes e permite criar de uma s vez todos os nomes constantes de
uma tabela.
Devemos deixar sempre, pelo menos, uma linha em branco em baixo e uma coluna direita da tabela para evitar
resultados estranhos neste tipo de frmulas.
Todos os nomes tm que comear por uma letra, \ ou _. No se pode usar smbolos, espaos, o nome R ou L (Linha)
ou C (Coluna) e nomes que se confundem com clulas (B5)
Um nome d origem a uma referncia absoluta

S podem ser utilizados em frmulas na mesma folha.


Seleccionamos a tabela de A3 a D6 e fazemos:
InserirNomeCriar e atribumos nome seleco.
Com este procedimento crimos, na folha, os seguintes nomes: Produtos, Qtd, Punit, Valor, A, B e C.
Se em A10 colocarmos a frmula
=B Qtd (note que o operador espao corresponde interseco exclusiva) o resultado ser:
 200 (clula B5)
Se em A10 colocssemos a frmula
=B Punit, o resultado seria
 36 (clula C5)

14

Universidade Catlica Portuguesa


Centro Regional das Beiras - Plo de Viseu
ATRIBUIR NOMES A CLULAS E INTERVALOS
Comando Inserir Nome Definir ou Caixa de nome da barra de edio
Suponhamos que a clula A1 tem a idade do Jos e que a clula A2 tem a idade da Maria, respectivamente 30 e 29.
Se atribuirmos o nome Jos clula A1 e o nome Maria clula A2, a frmula na clula A3 =Jos+Maria d 59. Se
copiarmos a frmula para a clula A4 continua a dar 59.
Podemos usar nas frmulas nomes de outras folhas e livros.

ATRIBUIR NOMES A CONSTANTES E FRMULAS


Quando usamos muitas vezes uma valor, por exemplo 17% para a taxa de IVA podemos dar um nome a esse valor
sem que ele esteja inserido numa clula.
Comando Inserir Nome... Definir...
Em Nome no livro escrever Taxa e em Refere-se a escrever 17%
A frmula =1000*Taxa d o valor 170

15

Universidade Catlica Portuguesa


Centro Regional das Beiras - Plo de Viseu

2. FUNES: UTILIZAO / CRIAO DE FUNES. TIPOS DE ERROS

Objectivos:


Introduo s funes

Criao de funes

Funes matemticas/trigonomtricas

Funes estatsticas

Tipos de erros

Resumo:
FUNO:
As funes so frmulas predefinidas que executam clculos utilizando valores especficos, denominados
argumentos, numa ordem especfica, denominada sintaxe. Por exemplo, a funo SOMA adiciona valores ou
intervalos de clulas.
Os argumentos podem ser nmeros, texto, valores lgicos do tipo VERDADEIRO ou FALSO, matrizes, valores de
erro do tipo #N/D ou referncias de clula. O argumento dado deve produzir um valor vlido para esse argumento.
Os argumentos podem tambm ser constantes, frmulas ou outras funes.
A sintaxe de uma funo comea com o nome da funo, seguida de um parntese inicial, dos argumentos para a
funo separados por pontos e vrgula e de um parntese final. Se a funo comear com uma frmula, escreva um
sinal de igual (=) antes do nome da funo.
Se alguma funo no estiver disponvel, execute o programa de configurao para instalar o Analysis ToolPak.
Depois da instalao do Analysis ToolPak, deve seleccion-lo e activ-lo no gestor de suplementos.
Exemplo:
=SOMA(A1:A5;C1:C5;10)

2.1. FUNES MATEMTICAS:


O comando Inserir Funo permite introduzir funes de um modo assistido. Selecciona-se a funo que
queremos e de seguida introduzimos os vrios argumentos. Em todos os passos surgem mensagens de ajuda.
A funo SOMA(Num1;Num2;...) soma uma srie de nmeros (at 30 argumentos). Ignora argumentos que se
referem a textos, valores lgicos e clulas em branco. O boto Soma automtica (AutoSum) da barra de ferramentas
acelera a utilizao desta funo.
ABS(Num) devolve o valor absoluto de um nmero
SINAL(Num) ou SIGN devolve o sinal de um nmero: 1 se o nmero for positivo, zero se for zero e -1 se for
negativo

16

Universidade Catlica Portuguesa


Centro Regional das Beiras - Plo de Viseu
ARRED(Num;Num_dgitos) ou ROUND arredonda um valor para um nmero de algarismos especificados. Se
Num_dgitos for positivo significa que o Num ser arredondado para o nmero especifico de casas decimais, se for
0 ser arredondado para o inteiro mais prximo e se for negativo ser arredondado para a esquerda da vrgula
decimal.
=ARRED(953.246;-1) 950
=ARRED(953.246;-2) 1000
=ARRED(953.246;1) 953.2
=ARRED(953.246;2) 953.25
ARRED.PARA.BAIXO ou ROUNDDOWN
ARRED.PARA.CIMA ou ROUNDUP
MPAR(Num) ou ODD arredonda o nmero por excesso at ao nmero mpar inteiro mais prximo. Os nmeros
negativos so ajustado em valor absoluto.
=MPAR(2) 3
=MPAR(-2) -3
=MPAR(3) 3
=MPAR(3.1) 5
PAR(Num) ou EVEN
ARRED.DEFEITO(Num;Significncia) ou FLOOR Arredonda um nmero para baixo, aproximando-o de zero, at
ao mltiplo mais prximo de Significncia. Num e Significncia tm que ser ambos positivos ou ambos negativos.
=ARRED.DEFEITO(8.3;3) 6
=ARRED.DEFEITO(8.3;5) 5
ARRED.EXCESSO(Num;Significncia) ou CEILING
INT(Num) arredonda um nmero por defeito para o nmero inteiro mais prximo
=INT(8.3) 8
=INT(-8.3) -9
=INT(-8.9) -9
TRUNCAR(Num,Num_dgitos) ou TRUNC trunca um nmero para um inteiro removendo a parte fraccional do
nmero se Num_dgitos no for definido. Num_dgitos um nmero que especifica a preciso da operao. O valor
predefinido para nm_digitos zero.
=TRUNCAR(55.987) 55
=TRUNCAR(55.987;2) 55.98
FACTORIAL(Num) ou FACT devolve o factorial de um nmero
=FACTORIAL(3) 6

17

Universidade Catlica Portuguesa


Centro Regional das Beiras - Plo de Viseu
PRODUTO(Num1;Num2;...) ou PRODUCT devolve o produto dos argumentos
SOMARPRODUTO(Matriz1;Matriz2;...) ou SUMPRODUCT multiplica os componentes correspondentes nas
matrizes fornecidas e devolve a soma destes produtos. Matriz1,..., de 2 at 30 matrizes cujos componentes deseja
multiplicar e depois somar. Os argumentos da matriz tm de ter a mesma dimenso.
=SOMARPRODUTO({3;4;8;6;1;9}; {2;7;6;7;5;3}) 3x2+4x7+ ... +9x3 156
QUOCIENTE(Numerador;Denominador) ou QUOTIENT devolve a parte inteira de uma diviso
=QUOCIENTE(9;3) 3
=QUOCIENTE(9;2.5) 3
RESTO(Num;Divisor) ou MOD devolve o resto da diviso de Num por Divisor. O resultado tem o sinal do divisor.
=RESTO(9;2) 1
=RESTO(9;2.5) 1.5
=RESTO(9;-2.5) -1
=RESTO(10;-2.5) 0
MMC(Num1;Num2;...) ou LCM devolve o menor mltiplo comum
=MMC(2;3;4) 12
MDC(Num1;Num2;...) ou GCD devolve o mximo divisor comum
=MDC(2;3;4) 1
RAIZQ(Num) ou SQRT devolve a raiz quadrada de um nmero
COMBIN(Num;Num_escolhido) devolve o nmero de combinaes para um dado nmero de itens. Num o
nmero de objectos e Num_escolhido o nmero de objectos em cada combinao.
=COMBIN(2;2) 1
=COMBIN(3;2) 3
=COMBIN(4;2) 6

2.2. FUNES LOGARTMICAS


LN(Num)
LOG(Num;Base)
LOG10(Num)
EXP(Num) a inversa de LN(Num)

18

Universidade Catlica Portuguesa


Centro Regional das Beiras - Plo de Viseu

2.3. FUNES TRIGONOMTRICAS


PI()
RADIANOS(Angulo) ou RADIANS
GRAUS(Angulo) ou DEGREES
=PI()
3,1415926...
=GRAUS(PI())
180
=RADIANOS(180) 3.1415926
SEN(Num) ou SIN
COS(Num)
TAN(Num)
...
Em que Num o ngulo em radianos

2.4. FUNES PARA MATRIZES


MATRIZ.INVERSA(Matriz)
MATRIZ.MULT(Matriz1;Matriz2),
TRANSPOR(Matriz)
MATRIZ.DETERM(Matriz)

2.5. FUNES ESTATSTICAS


As funes estatsticas executam anlises estatsticas em intervalos de dados.
MDIA(Num1;Num2,...) ou AVERAGE devolve a mdia aritmtica dos argumentos (at 30). Ignora as clulas no
numricas.
MED(Num1;Num2;...) ou MEDIAN devolve a mediana. A mediana o nmero no centro de um conjunto
numrico; isto , metade dos nmeros possui valores que so maiores do que a mediana e a outra metade possui
valores menores.
=MED(1; 2; 3; 4; 5) 3
=MED(1; 2; 3; 4; 5; 6) 3,5 (mdia dos nmeros do meio: 3 e 4)
MODA(Num1;Num2;...) ou MODE devolve o nmero que ocorre com maior frequncia
=MODA(2;5;2;6;7;7;2) 2
=MODA(3;4;7;2;3;2;7) 3 (d o que aparece primeiro)
MXIMO(Num1;Num2;...) ou MAX devolve o valor mximo de uma lista de argumentos

19

Universidade Catlica Portuguesa


Centro Regional das Beiras - Plo de Viseu
MNIMO(Num1,Num2;...) ou MIN devolve o valor mnimo de uma lista de argumentos
CONTAR(Num1;Num2;...) ou COUNT calcula quantos nmeros existem na lista de argumentos
CONTAR.VAL(Num1;Num2;...) ou COUNTA calcula quantos clulas esto preenchidas na lista de argumentos
ORDEM(Num;Ref;Ordem) ou RANK devolve a posio de um nmero numa lista de nmeros. Num o nmero
cuja posio se deseja conhecer. Ref a matriz (intervalo) onde se vai localizar o nmero e Ordem especifica como
posicionar um nmero numa ordem: se 0 ou omitido d por ordem decrescente, se diferente de 0 d por ordem
crescente.
=ORDEM(3;B1:B6;1) 3 se B1:B6 tiver os seguintes nmeros 3,2,6,2,9,5
=ORDEM(3;B1:B6) 4 se B1:B6 tiver os seguintes nmeros 3,2,6,2,9,5
MAIOR(Matriz;K) ou LARGE devolve o k-simo maior valor de um conjunto de dados. Matriz a matriz ou
intervalo de dados cujo maior valor k-simo queremos determinar. K a posio (do maior) na matriz ou intervalo
de clula de dados a ser fornecida.
=MAIOR({2;5;4;3;6};2) 5 (segundo maior nmero)
MENOR(Matriz;K) ou SMALL devolve o k-simo menor valor do conjunto de dados

2.6. FUNES LGICAS E DE INFORMAO

2.6.1 Funes lgicas:


A maior parte das funes lgicas usa testes condicionais para verificar se uma condio verdadeira ou falsa. Um
teste condicional no mais de que uma equao que compara dois nmeros, frmulas, rtulos ou valores lgicos.
Cada teste condicional tem que ter um operador lgico (ou de comparao) e tem como resultado um valor lgico
VERDADEIRO/TRUE (1) ou FALSO/FALSE (0).
=2+3<=8*2 VERDADEIRO
=A1="Joo" depende do contedo de A1, se for Joo d VERDADEIRO seno for d FALSO

2.6.2. Funo SE ou IF
=SE(teste_condicional; valor_se_verdadeiro; valor_se_falso)
Valor_se_verdadeiro o valor fornecido se teste_condicional for VERDADEIRO. Se teste_condicional for
VERDADEIRO e valor_se_verdadeiro for omitido, VERDADEIRO ser o resultado.
Valor_se_falso o valor fornecido se teste_condicional for FALSO. Se teste_condicional for FALSO e
valor_se_falso for omitido, FALSO ser o resultado.
=SE(A2>=10;"Aprovado!";"Reprovado!") se o valor da clula A2 for maior ou igual a 10 a funo d Aprovado!
seno (se o valor da clula A2 for menor que 10) a funo d Reprovado!.

20

Universidade Catlica Portuguesa


Centro Regional das Beiras - Plo de Viseu

=SE(1;"A";"B") A - porque o Excel entende o 1 como o valor lgico Verdadeiro


=SE(FALSO;"A";"B") B
=SE(K2;"A";"B") B - se o valor da clula K2 for 0, A - se o valor de K2 no for 0

ENCADEAMENTO DE SE'S
Podem ser imbricadas at sete funes SE como argumentos valor_se_verdadeiro e valor_se_falso para construir
testes mais elaborados
Suponha que quer saber qual a prova que teve a nota mais alta:
=SE(MXIMO(B4:B9)>MXIMO(C4:C9);"Teste";SE(MXIMO(B4:B9)=MXIMO(C4:C9);"Ambas";"Trabalho
"))
Suponha que quer classificar os alunos numa escala de Suficiente, Bom ou Muito Bom consoante as notas
arredondadas para inteiro estejam respectivamente nos seguintes intervalos: de 10 a 14, 15 a 18 e 19 a 20:
Na clula F4 ficava a seguinte frmula:
=SE(D4>=18.5;"Muito Bom"; SE(D4>14,5;"Bom"; SE(D4>=10;"Suficiente";"")))
Se o aluno tiver nota inferior a 9.5 o resultado da frmula uma string (cadeia de caracteres) vazia.

2.6.3. Funes E, OU e NO
E(lgico1; lgico2; ...) ou AND devolve VERDADEIRO se todos os argumentos (at 30) forem verdadeiros,
devolve FALSO se um ou mais argumentos forem FALSO. Os argumentos devem ser valores lgicos, matrizes ou
referncias que contenham valores lgicos.
=E(2=2;3<>2) VERDADEIRO
=E(2=2;"Joo"="Joo";"Maria"="Joana") FALSO

21

Universidade Catlica Portuguesa


Centro Regional das Beiras - Plo de Viseu
OU(lgico1; lgico2; ...) devolve VERDADEIRO se qualquer argumento for VERDADEIRO, devolve FALSO se
todos os argumentos forem FALSO.
=OU(2>2;3<2) FALSO
=OU(2=2;"Joo"="Joo";"Maria"="Joana") VERDADEIRO

NO(lgico) ou NOT inverte o valor do argumento


=NO(2=2) FALSO

PRATICANDO:
Suponha que um aluno s fica aprovado se tiver mdia superior ou igual a 9.5 e tenha em ambas as provas nota
superior a 7:
=SE(E(D4>=9.5;B4>7;C4>7);"Aprovado";"Reprovado")
Suponha que o aluno s fica aprovado se tiver mdia superior ou igual a 9.5 e tenha pelo menos 13 numa das
provas:
=SE(E(D4>9.5;OU(B4>=13;C4>=13));"Aprovado";"Reprovado")

2.6.4. Funes VERDADEIRO e FALSO


FALSO( ) ou FALSE devolve o valor lgico FALSO. Tambm se pode introduzir directamente na clula ou na
frmula a palavra FALSO que o Excel interpreta-a como o valor lgico FALSO.
VERDADEIRO() ou TRUE devolve o valor lgico VERDADEIRO.

22

Universidade Catlica Portuguesa


Centro Regional das Beiras - Plo de Viseu

2.7. FUNES PERSONALIZADAS


Ferramentas Macro Editor do Visual Basic
Boto Explorador do projecto da barra de ferramentas
Inserir Mdulo
na folha Mdulo, que escrevemos o cdigo das nossa funes

Function Nome_da_funo (argumentos separados por ,)


Corpo da funo
End funcion
Os argumentos das funo tm o nome de parmetros formais
O corpo da funo uma expresso que vai ter um valor quando os parmetros formais forem substitudos por
valores (parmetros reais)
Exemplo: Criar uma funo para calcular o quadrado da soma de dois nmeros.

23

Universidade Catlica Portuguesa


Centro Regional das Beiras - Plo de Viseu
As funes criadas pelo utilizador ficam disponveis no comando Inserir Funo na categoria Definidas pelo
utilizador.

2.8. FUNES DE INFORMAO:


As funes de informao servem para determinar o tipo de dados guardados numa clula. As funes de
informao incluem um grupo de funes de folha de clculo conhecidas por funes e devolvem VERDADEIRO
se as clulas satisfizerem uma condio.
TIPO(valor) ou TYPE devolve o tipo de valor de acordo com a seguinte tabela:
Nmero

Texto

Valor lgico

Frmula

Valor de erro

16

Matriz

64

=TIPO("Maria") 2
=TIPO(E4) 2 - porque o resultado da frmula da clula E4 um texto (Aprovado)
=TIPO(2+"Maria") 16
CONTAR.VAZIO(intervalo) ou COUNTBLANK conta o nmero de clulas em branco no intervalo especificado.
As clulas com frmulas que devolvem "" tambm so contadas. As clulas com valores nulos (zero) no so
contadas.
.CL.VAZIA(valor) ou ISBLANK VERDADEIRO se valor se referir a uma clula em branco, seno FALSO
.ERRO(valor) ou ISERR VERDADEIRO se valor se referir a um valor de erro excepto #N/D
.ERROS(valor) ou ISERROR VERDADEIRO se valor se referir a qualquer valor de erro
.LGICO(valor) ou ISLOGICAL VERDADEIRO se valor se referir a um valor lgico
.NO.DISP(valor) ou ISNA VERDADEIRO se valor se referir ao valor de erro #N/D
.NO.TEXTO(valor) ou ISNONTEXT VERDADEIRO se valor se referir a qualquer item que no seja texto
.NM(valor) ou ISNUMBER VERDADEIRO se valor se referir a um nmero
.REF(valor) ou ISREF VERDADEIRO se valor se referir a uma referncia
.TEXTO(valor) ou ISTEXT VERDADEIRO se valor se referir a texto

24

Universidade Catlica Portuguesa


Centro Regional das Beiras - Plo de Viseu

Exemplos:
=.TEXTO("Maria") VERDADEIRO
=.NO.TEXTO("Maria") FALSO
=.ERRO(2/0) VERDADEIRO
=.NM("22") FALSO

INFORMAO(texto_tipo) ou INFO devolve informaes sobre o ambiente de trabalho actual. Ver Ajuda/Help
para ver as vrias possibilidades para texto_tipo
=INFORMAO("directrio") devolve o caminho da pasta actual
=INFORMAO("release") devolve a verso do Excel
MPAR(nm) ou ISODD devolve VERDADEIRO se nm truncado para for mpar
PAR(nm) ou ISEVEN devolve VERDADEIRO se nm truncado for par
=PAR(2) VERDADEIRO
=PAR(3.3) FALSO
=PAR(2.6) VERDADEIRO
=MPAR(2) FALSO

Exemplo:

Preencher a coluna do saldo de modo a que:


No aparea nada ("") se o Tipo e o Valor no estiverem preenchidos:
se o Saldo anterior tiver Erro!
se o Saldo anterior for uma String vazia
Aparea Erro! se o Tipo no for nem d (dbito) ou c (crdito)
se o Valor no for um nmero ou uma frmula
se o Valor estiver em branco (0)
Aparea o saldo da conta se tudo bem

25

Universidade Catlica Portuguesa


Centro Regional das Beiras - Plo de Viseu

2.9. TIPOS DE ERROS:

##### O valor numrico introduzido numa clula ou o resultado de uma frmula demasiado extenso que
no cabe na clula, ou est a subtrair datas ou horas e o resultado deu um nmero negativo.

#DIV/0! Est a dividir um nmero por zero

#NOME? ou #NAME? Est a inserir um nome que no est definido, ou est a introduzir um texto sem
estar entre aspas, ou no escreveu os dois pontos (:) ao definir um intervalo de clulas

#VALOR! ou VALUE! Introduziu uma frmula matemtica e est a utilizar um operando que texto, ou
est a indicar um intervalo de clulas quando esperado um valor nico

#REF! Apagou clulas que fazem parte de uma frmula

#N/D ou #N/A No est disponvel a informao para o clculo que quer executar

#NM! ou #NUM! Est a utilizar um argumento que no valido para a funo, ou a funo que est a
utilizar no encontrou resultado nenhum, ou introduziu uma frmula cujo o resultado e demasiado pequeno
ou demasiado grande para ser representado na folha de clculo

#NULO! ou #NULL! Utilizao de um operador de intervalos ou de uma referncia de clula incorrectos.


Por exemplo na interseco de intervalos quando no h clulas comuns

26

Universidade Catlica Portuguesa


Centro Regional das Beiras - Plo de Viseu

3. DATAS E HORAS, NMEROS ALEATRIOS (RAND), SUMIF, COUNTIF

Objectivos:


Funes de data e hora

Funes matemticas Aleatrio e Aleatrioentre

Modelo de simulao

Resumo:
Introduo:
A unidade de tempo no Excel para o Windows o dia. Cada dia representado por um nmero de srie de 1 a
65380 (?), correspondendo s datas de 1 de Janeiro de 1900 a 31 de Dezembro de 2078 (?).
Quando introduzimos uma data na folha de clculo, essa data guardada como um nmero de srie. Nmero esse
que corresponde ao nmero de dias que passaram desde 1 de Janeiro de 1900 at data introduzida.
Os nmeros direita do ponto decimal no nmero de srie representam as horas a contar da meia-noite. Por exemplo
0.5 representa o meio-dia porque a diferena do meio-dia para a meia-noite exactamente igual a meio dia.
O nmero de srie 367.5 representa, ento, a combinao de data-hora: 12:00 de 1 de Janeiro de 1901.
Assim, porque as datas e horas so nmeros podemos criar frmulas para trabalhar com as datas e horas.
Para introduzirmos datas no necessitamos, felizmente, de saber os nmeros de srie correspondentes. Podemos
introduzir datas nos seguintes formatos:
d-m-yy
d-mmm-yy
d-m o ano fica, por defeito, o ano corrente
mmm-yy o dia fica, por defeito, o dia 01
com: d - corresponde ao dia do ms (1..31)
m - corresponde ao ms do ano em nmero (1..12)
mmm - corresponde ao ms do ano em texto (Jan...Dez)
yy - corresponde ao ano
h:mm AM/PM os segundos ficam, por defeito, 00
h:mm:ss AM/PM
h:mm
h:mm:ss
com: h - corresponde hora - se no for indicado AM/PM o Excel assume as horas de 1..24

27

Universidade Catlica Portuguesa


Centro Regional das Beiras - Plo de Viseu
mm - corresponde aos minutos
ss - corresponde aos segundos
Para introduzir uma data entre:
[1/Jan/1900 ; 31/Dez/1929] o ano tem que vir yyyy (25-11-1925)
[1/Jan/1930 ; 31/Dez/2029] o ano tem que vir yy (25-11-25)
[1/Jan/2030 ; 31/Dez/2078] o ano tem que vir yyyy (25-11-2050)
O Excel assume logo uma formatao de data, pelo que no visualizamos o nmero de srie correspondente. Para
sabermos qual o nmero podemos formatar as clulas com datas para nmero.
Como as datas so nmeros podemos testar se introduzimos correctamente uma data pelo modo como fica alinhada
na clula: se direita introduzimos bem, se esquerda introduzimos de uma forma incorrecta.

3.1. INTRODUO DE UMA SRIE DE DATAS


Podemos inserir uma srie de datas recorrendo ao comando Editar Preencher Srie... (Edit Fill Series...)
ou ao AutoFill com o rato.

3.2. FUNES DE DATA E HORA


Com as funes de data e hora, podemos analisar e trabalhar com valores de data e hora nas frmulas.
AGORA() ou NOW devolve o nmero de srie da data e hora actuais. O resultado da funo vai-se alterando
medida que o tempo vai passando, desde que a folha seja calculada.
HOJE() ou TODAY devolve o nmero de srie da data actual (nmero inteiro)
DIA(nm_srie) ou DAY devolve o dia do ms que corresponde a nm_srie. O dia dado como um nmero inteiro
que varia entre 1 e 31. O nm_srie pode ser dado como texto, "15-04-1993" ou "15-05-93", em vez de um nmero
=DIA("15-Abr-1993") 15
MS(nm_srie) ou MONTH devolve o ms correspondente a nm_srie. O ms fornecido como um nmero
inteiro, variando entre 1 (Janeiro) e 12 (Dezembro)
=MS(367) 1

28

Universidade Catlica Portuguesa


Centro Regional das Beiras - Plo de Viseu
ANO(nm_srie) ou YEAR devolve o ano correspondente a nm_srie. O ano fornecido como um nmero inteiro
no intervalo 1900-2078 (?)
DIA.SEMANA(nm_srie; Tipo_devolvido) ou WEEKDAY devolve o dia da semana correspondente a nm_srie.
O dia devolvido como um nmero inteiro que varia entre 1 (Domingo) e 7 (Sbado) se Tipo_devolvido for 1 ou
omitido. Se o Tipo_devolvido for 2 ento devolve de 1 (Segunda-feira) a 7 (Domingo), se o Tipo_devolvido for 3
ento devolve de 0 (Segunda-feira) a 6 (Domingo).
Considerando que hoje dia 4 de Novembro de 1998
=DIA.SEMANA(HOJE())
4 se formatar para dddd d Quarta-feira
=DIA.SEMANA(HOJE();2) 3 se formatar para dddd d Tera-feira (o que incorrecto)
=DIA.SEMANA(HOJE();3) 2 se formatar para dddd d Segunda-feira (o que incorrecto)
DATA(ano; ms; dia) ou DATE devolve o nmero de srie de uma determinada data. Se ms for maior que 12,
ento ms somar este nmero de meses ao primeiro ms do ano especificado ou mesmo acontecendo para dia.
=DATA(1998;13;4) d o nmero de srie correspondente a 4 de Janeiro de 1999
FIMMS(data_inicial; meses) ou EOMONTH devolve o nmero de srie da data para o ltimo dia do ms, que o
nmero indicado de meses antes ou depois de data_inicial. Meses o nmero de meses antes (se for negativo) ou
depois (se for positivo) da data_inicial.
=FIMMS(DATA(1998;11;11);1) d o nmero de srie correspondente a 31/Dez/1998
DIATRABALHO(data_inicial; dias; feriados) ou WORKDAY devolve o nmero de srie correspondente ao
nmero indicado de dias teis antes ou depois de data_inicial. Os dias teis excluem fins de semana ou quaisquer
datas identificadas como feriados. Feriados opcional e pode ser uma matriz ou um intervalo de um ou mais
nmeros de srie de data a serem eliminados do calendrio de dias teis.
=DIATRABALHO(DATA(98;12;7);2) 9/Dez/98
=DIATRABALHO(DATA(98;12;7);2;{"1-12-98";"8-12-98"}) 10/Dez/98
DIATRABALHOTOTAL(data_inicial; data_final; feriados) ou NETWORKDAYS devolve o nmero de dias teis
inteiros entre data_inicial e data_final. Os dias teis excluem os fins de semana e quaisquer datas identificadas em
feriados
=DIATRABALHOTOTAL("7-12-98";"10-12-98") 4
=DIATRABALHOTOTAL("7-12-98";"10-12-98";{"1-12-98";"8-12-98"}) 3
HORA(nm_srie) ou HOUR devolve a hora correspondente a nm_srie. A hora devolvida como um nmero
inteiro, que pode variar entre 0 (12:00 A.M.) e 23 (11:00 P.M.). O nm_srie pode ser dado como texto, "16:48:00"
ou "4:48:00 PM", em vez de um nmero.
MINUTO(nm_srie) ou MINUTE devolve o minuto correspondente a nm_srie. O minuto fornecido como um
nmero inteiro, entre 0 e 59
SEGUNDO(nm_srie) ou SECOND devolve o segundo correspondente a nm_srie. O segundo fornecido como
um nmero inteiro no intervalo de 0 a 59

29

Universidade Catlica Portuguesa


Centro Regional das Beiras - Plo de Viseu
TEMPO(hora; minutos; segundos) ou TIME devolve o nmero de srie de uma hora particular. O nmero de srie
devolvido uma fraco decimal que varia de 0 a 0,99999999. Hora um nmero de 0 a 23 que representa a horas,
minutos um nmero de 0 a 59 que representa os minutos e segundos um nmero de 0 a 59 que representa os
segundos. Se minutos for maior que 59, ento minutos aumentar o nmero de horas o mesmo acontecendo aos
minutos quando os segundos forem superiores a 59.
=TEMPO(3;60;61) d o nmero de serie correspondente a 4:01:01

Exemplos:
Calcular o nmero de horas, minutos e segundos que uma mquina trabalhou num dia.

Calcular a idade de uma pessoa em anos.

Ver Ajuda da funo FRACOANO ou YEARFRAC

30

Universidade Catlica Portuguesa


Centro Regional das Beiras - Plo de Viseu

3.3. FUNES MATEMTICAS / ALEATRIO E ALEATRIOENTRE


ALEATRIO( ) ou RAND devolve um nmero aleatrio (real) no intervalo [0;1[, distribudo uniformemente. Um
novo nmero aleatrio devolvido cada vez que a folha de clculo for calculada.
Para gerar um nmero real aleatrio entre Limite_inferior e Limite_superior, utilize:
=ALEATRIO() * (Limite_Superior. - Limite_Inferior) + Limite_Inferior
ALEATRIOENTRE(inferior; superior) ou RANDBETWEEN devolve um nmero aleatrio inteiro entre inferior
e superior inclusive
=ALEATRIOENTRE(1;6) permite simular o lanamento de um dado
Para evitar que os nmeros aleatrios gerados se alterem cada vez que a folha calculada pode, atravs do copiar,
passar das frmula para valores (resultado das frmulas).

3.4. FUNO MATEMTICA SOMA.SE:


SOMA.SE(intervalo; critrios; intervalo_soma) ou SUMIF adiciona as clulas especificadas por um determinado
critrio. Intervalo o intervalo de clulas onde vai testar o critrio, critrios so os critrios na forma de um nmero,
expresso ou texto, que definem quais as clulas a serem adicionadas e intervalo_soma o intervalo de clulas a
serem realmente somadas. Se omitir intervalo_soma o Excel vai somar as clula do intervalo.

3.5. FUNO ESTATSTICA CONTAR.SE:


CONTAR.SE(intervalo; critrios) ou COUNTIF devolve o nmero de clulas do intervalo que no estejam em
branco satisfazendo um determinado critrio (critrios)

Exemplos:
Calcular o nmero de notas positivas em cada uma das provas:
Na clula B12 =CONTAR.SE(B4:B9;">=10") copiar para a clula C12
Calcular o nmero de notas 10 em cada uma das provas:
Na clula B14 =CONTAR.SE(B4:B9;10) copiar para a clula C14
Calcular a mdia dos alunos aprovados:
Na clula D13 =SOMA.SE(E4:E9;"Aprovado";D4:D9)/CONTAR.SE(E4:E9;"Aprovado")

31

Universidade Catlica Portuguesa


Centro Regional das Beiras - Plo de Viseu

32

Universidade Catlica Portuguesa


Centro Regional das Beiras - Plo de Viseu

4. FUNES DE TEXTO: LOWER, UPPER, LEFT, RIGHT, FIND, SUBST E


FUNES DE CONSULTA EM TABELAS: VLOOKUP, HLOOKUP

Objectivos:


Funes de texto

Funes de consulta e referncia

Resumo:
Funes de texto:
Com as funes de texto, podemos manipular cadeias de texto em frmulas.
TEXTO(valor; formato_texto) ou TEXT converte um valor para texto num formato numrico especfico. O
formato_texto um formato em texto do comando Formatar Clulas... Nmero

4.1. FUNES DE TEXTO


TEXTO(HOJE();"dd-mmm-aa") 18-Nov-98
=TEXTO(1500.7;"Esc. 0.00") Esc .1500.70

NM.CARACT(texto) ou LEN devolve o nmero de caracteres numa cadeia de texto.


=NM.CARACT("Informtica de Empresa") 22
=N M.CARACT("") 0
=NM.CARACT(245) 3
=NM.CARACT(245.7) 5

COMPACTAR(texto) ou TRIM remove todos os espaos do texto excepto os espaos nicos entre palavras.
=COMPACTAR("Informtica de Empresa ") Informtica de Empresa

MINSCULAS(texto) ou LOWER converte as letras maisculas para minsculas


MAISCULAS(texto) ou UPPER converte as letras minsculas para maisculas
INICIAL.MAISCULA(texto) ou PROPER coloca a primeira letra do texto em maiscula e todas as outras letras
do texto depois de qualquer carcter diferente de uma letra. Converte todas as outras letras para minsculas.

33

Universidade Catlica Portuguesa


Centro Regional das Beiras - Plo de Viseu
Exemplos:
Considere que a clula A12 tem o seguinte texto: Inf. empresa A1 sala 1SE1
=MAISCULAS(A12) INF. EMPRESA A1 SALA 1SE1
=MINSCULAS(A12) inf. empresa a1 sala 1se1
=INICIAL.MAISCULA(A12) Inf. Empresa A1 Sala 1Se1

EXACTO(texto1; texto2) ou EXACT compara duas cadeias de texto e devolve VERDADEIRO se forem
exactamente iguais, caso contrrio, devolve FALSO. A funo distingue entre letras maisculas e minsculas, mas
ignora as diferenas de formatao.
=EXACTO(22;22) VERDADEIRO
=EXACTO("Informtica";"informtica") FALSO

ESQUERDA(texto; nm_caract) ou LEFT devolve nm-caract mais esquerda numa cadeia de texto. Se
nm_caract for omitido considerado 1.
DIREITA(texto; nm_caract) ou RIGHT devolve nm-caract mais direita numa cadeia de texto. Se nm_caract for
omitido considerado 1.
SEG.TEXTO(texto; nm_inicial; nm_caract) ou MID devolve um nmero especfico de caracteres (nm_caract)
da cadeia de texto (texto), comeando na posio nm_inicial.

Exemplos:
Considere que a clula A14 tem o seguinte texto: Informtica de Empresa
=ESQUERDA(A14) I
=ESQUERDA(A14;3) Inf
=DIREITA(A14;3) esa
=SEG.TEXTO(A14;8;7) tica de
=DIREITA(1998;2) 98

LOCALIZAR(texto_a_localizar; no_texto; nm_inicial) ou FIND localiza uma cadeia de texto (texto_a_localizar)


dentro de outra cadeia de texto (no_texto) e devolve o nmero de carcter onde texto_a_localizar ocorre pela
primeira vez. Nm_inicial o nmero do carcter a partir do qual ser feita a pesquisa, se omitido 1. Se
texto_a_localizar for um texto vazio a funo devolve o primeiro carcter da cadeia de procura. A funo distingue
maisculas e minsculas e no aceita caracteres globais (? e *).
=LOCALIZAR("e";"Informtica de Empresa") 14

34

Universidade Catlica Portuguesa


Centro Regional das Beiras - Plo de Viseu
=LOCALIZAR("E";"Informtica de Empresa") 16
=LOCALIZAR("e";"Informtica de Empresa";15) 20
=LOCALIZAR(1;258111;1) 4
PROCURAR(texto_procurado; no_texto; nm_inicial) ou SEARCH devolve o nmero de carcter onde
texto_procurado ocorre pela primeira vez. Pode utilizar-se os caracteres globais ? (um carcter) e * (srie de
caracteres) no texto_procurado. Para procurar um ? ou um * temos que fazer ~? ou ~*. A funo no distingue
maisculas e minsculas.
=PROCURAR("e?";"Informtica de Empresa") 14
=PROCURAR("e*";"Informtica de Empresa") 14
=PROCURAR("e?a";"Informtica de Empresa") 20
=PROCURAR(11;1258111;1) 5

SUBSTITUIR(texto_antigo; nm_inicial; nm_caract; novo_texto) ou REPLACE substitui parte de uma cadeia de


texto por uma cadeia diferente. Texto_antigo o texto no qual deseja mudar alguns caracteres. Nm_inicial a
posio do carcter em texto_antigo que deseja substituir por novo_texto. Nm_caract o nmero de caracteres em
texto_antigo que deseja substituir por novo_texto. Novo_texto o texto que substituir os caracteres em
texto_antigo.
=SUBSTITUIR("1990"; 3; 2; "91") 1991
=SUBSTITUIR("A7";1;1;"G") G7
=SUBSTITUIR("A7";1;0;"G") GA7

SUBST(texto; texto_antigo; novo_texto; nm_da_ocorrncia) ou SUBSTITUTE coloca novo_texto no lugar de


texto_antigo numa cadeia de texto (texto). Nm_da_ocorrncia especifica que ocorrncia de texto_antigo se deseja
substituir por novo_texto. Se indicar nm_da_ocorrncia, apenas essa ocorrncia de texto_antigo ser substituda,
seno cada ocorrncia de texto_antigo em texto alterada para novo_texto.
=SUBST("Trimestre 1, 1991"; "1"; "2"; 1) Trimestre 2, 1991
=SUBST("Trimestre 1, 1991"; "1"; "2"; 3) Trimestre 1, 1992
=SUBST("Trimestre 1, 1991"; "1"; "2") Trimestre 2, 2992

REPETIR(texto; nm_vezes) ou REPT repete um texto (texto) um determinado nmero de vezes (nm_vezes).
Nm_vezes um nmero positivo, se for 0 d texto vazio, se no for um inteiro, ser truncado. O resultado da
funo no pode ser superior a 255 caracteres.
=REPETIR("Hi!";4) d Hi!Hi!Hi!Hi!

35

Universidade Catlica Portuguesa


Centro Regional das Beiras - Plo de Viseu
VALOR(texto) ou VALUE converte texto num nmero. Texto pode estar em qualquer um dos formatos numrico
constante, data ou horas. Normalmente no preciso utilizar a funo VALOR numa frmula pois o Excel converte
automaticamente texto em nmeros.

Os computadores utilizam nmeros para representar caracteres. A tabela mais utilizada a ASCII (American
Standard Code for Information Interchange) que recorre a um nmero entre 1 e 255 para representar cada letra,
nmero e smbolo.
CARCT(nm) ou CHAR devolve o carcter especificado pelo nmero de cdigo
=CARCT(55) 7 =CARCT(75) K
=CARCT(107) k

CDIGO(texto) ou CODE devolve um cdigo numrico para o primeiro carcter de uma srie de texto
=CDIGO(77) 55 =CDIGO("K") 75
=CDIGO(CARCT(107)) 107

4.2. FUNES DE CONSULTA E REFERNCIA


Estas funes permitem localizar valores em listas ou tabelas ou localizar a referncia de uma clula.
SELECCIONAR(nm_ndice; valor1; valor2; ...) ou CHOOSE devolve um valor de uma lista armazenada como
argumentos da funo. Nm_ndice especifica qual o argumento de valor seleccionado. Nm_ndice tem de ser um
nmero entre 1 e 29 ou uma frmula ou referncia a uma clula que contenha um nmero entre 1 e 29. Se
nm_ndice for 1, a funo devolve valor1, se for 2 devolve valor2 e... Se nm_ndice for uma fraco, ser
truncada para o menor inteiro. Valor1, valor2,... so 1 a 29 argumentos de valor a partir dos quais a funo
selecciona um valor ou uma aco a ser realizada com base no nm_ndice. Os argumentos podem ser nmeros,
referncias de clula, nomes definidos, frmulas, funes de macro ou texto.
=SELECCIONAR(2;"Domingo";"Segunda";"Tera";"Quarta";"Quinta";"Sexta","Sbado") Segunda
Se hoje for dia 18/Nov/98 ento
=SELECCIONAR(DIA.SEMANA(HOJE());"Domingo";"Segunda";"Tera";"Quarta";"Quinta";"Sexta","Sbado")
Quarta
=SOMA(A1:SELECCIONAR(3;A10;A20;A30)) igual a =SOMA(A1:A30)
CORRESP(valor_procurado; matriz_procurada; tipo_correspondncia) ou MATCH Devolve a posio relativa de
um elemento numa matriz que coincide com um valor especificado na forma especificada.

36

Universidade Catlica Portuguesa


Centro Regional das Beiras - Plo de Viseu
Valor_procurado o valor utilizado para localizar o valor desejado numa tabela. Valor_procurado o valor que
deseja fazer corresponder com matriz_procurada e pode ser um valor (nmero, texto ou valor lgico) ou uma
referncia de clula de um nmero, texto, ou valor lgico.
Matriz_procurada um intervalo que contm valores possveis de procura e pode ser uma matriz ou uma referncia
matricial.
Tipo_correspondncia o nmero -1, 0 ou 1 que especifica o tipo de correspondncia.
Se tipo_correspondncia for 1 ou omitido, a funo procura o maior valor que for menor ou igual a valor_procurado
e a matriz_procurada deve ser posicionada por ordem ascendente: ...-2, -1, 0, 1, 2,...A-Z, FALSO, VERDADEIRO.
Se tipo_correspondncia for 0, procura o primeiro valor que for exactamente igual a valor_procurado e a
matriz_procurada pode ser colocada em qualquer ordem. Se tipo_correspondncia for -1, procura o menor valor que
for maior ou igual a valor_procurado e a matriz_procurada deve ser posicionada em ordem descendente:
VERDADEIRO, FALSO, Z-A,...2, 1, 0, -1, -2,... e assim por diante.
A funo no faz distino entre letras maisculas e minsculas.

=CORRESP("Joana";A4:A9;1) 2 (mas, ateno)


=CORRESP("Joana";A4:A9;0) #N/D
=CORRESP("Joana";A4:A9;-1) #N/D

PROCV(valor_procurado; matriz_tabela; nm_ndice_coluna; procurar_intervalo) ou VLOOKUP


Localiza um valor especfico na primeira coluna esquerda de matriz_tabela e devolve o valor na clula indicada por
nm_ndice_coluna.
Valor_procurado o valor a ser encontrado na primeira coluna da matriz. Valor_procurado pode ser um valor, uma
referncia ou uma cadeia de texto.
Matriz_tabela o intervalo em que os dados so procurados. Se procurar_intervalo for VERDADEIRO, os valores
na primeira coluna de matriz_tabela devero estar em ordem ascendente: ..., -2, -1, 0, 1, 2, ... , A-Z, FALSO,
VERDADEIRO, se localizar_intervalo for FALSO a matriz_tabela no precisa de estar ordenada.

37

Universidade Catlica Portuguesa


Centro Regional das Beiras - Plo de Viseu
Nm_ndice_coluna o nmero da coluna em matriz_tabela a partir do qual o valor correspondente deve ser
devolvido. Um nm_ndice_coluna de 1 devolve o valor na primeira coluna em matriz_tabela.
Localizar_intervalo um valor lgico que especifica se quer que a funo realize uma procura exacta (FALSO) ou
por intervalos (VERDADEIRO ou omitida), Se uma correspondncia exacta no for encontrada devolvido o valor
maior mais prximo que seja menor que o valor_procurado.
=PROCV("Joo";A4:E9;5) Reprovado
=PROCV("Joana";A4:E9;5) Aprovado (ateno - d o Carlos)
=PROCV("Joana";A4:E9;5;False) #N/D (procura exacta)

PROCH(valor_procurado; matriz_tabela; nm_ndice_lin; localizar_intervalo) ou HLOOKUP


Localiza um valor especfico na linha superior de uma matriz e devolve o valor na clula indicada.

PROC ou LOOKUP tem duas formas:


Forma vectorial (um vector uma matriz que contm apenas uma linha ou uma coluna)
PROC(valor_procurado; vector_proc; vector_result) procura por intervalos valor_procurado no vector_proc (deve
estar por ordem ascendente), move-se para a posio correspondente a vector_result (tem que ter o mesmo tamanho
de vector_proc) e devolve este valor
=PROC("Joo";A4:A9;E4:E9) Reprovado
=PROC("Joana";A4:A9;E4:E9) Aprovado (mas, ateno - procura por intervalos)

Forma matricial (forma a evitar, dar preferncia ao PROCV e ao PROCH)


PROC(valor_procurado; matriz) procura por intervalos o valor especfico na primeira linha ou coluna de uma matriz
(tem que estar ordenada por ordem ascendente), desce ou cruza para a clula anterior, e devolve o valor da ltima
linha ou coluna. Se a matriz for quadrada ou cobrir uma rea que apresente a largura maior do que a altura (mais
colunas do que linhas) procura valor_procurado na primeira linha. Se a matriz apresentar a altura maior que a
largura (mais linhas do que colunas) procura na primeira coluna.
=PROC("Joo";$A$4:$E$9) Reprovado (devolve o valor da ltima coluna)

NDICE ou INDEX
Forma matricial devolve sempre um valor ou uma matriz de valores.
NDICE(matriz; nm_linha; nm_coluna) devolve o valor de um elemento numa matriz, seleccionado pelos ndices
do nmero de linha (nm_linha) e coluna (nm_coluna).
=NDICE(A4:E9;3;2) 9

38

Universidade Catlica Portuguesa


Centro Regional das Beiras - Plo de Viseu
NDICE(ref; nm_linha; nm_coluna; nm_rea) devolve a referncia da clula na interseco da linha (nm_linha)
e coluna (nm_coluna) especificadas. Se nm_linha ou nm_coluna for 0, a funo devolve a matriz de valores para
a coluna ou linha inteira, respectivamente. Quando em ref indicamos mais de uma rea temos que colocar ref entre
parntesis (A4:B9;E4:E9) e, nm_rea selecciona o intervalo em ref a partir do qual deve ser fornecida a interseco
de nm_linha com nm_coluna. A primeira rea seleccionada ou inserida recebe o nmero 1, a segunda recebe o
nmero 2 e assim por diante. Se nm_rea for omitido, a funo considera a rea 1.
=SOMA(NDICE(A4:E9;0;2)) =SOMA(B4:B9) 80
=NDICE((A4:B9;E4:E9);2;1;2) a referncia E5 que tem Aprovado

Exerccio:
Considere uma loja de informtica que vende Hardware (HW), Software (SW) e Livros (LI).
Para cada transaco (venda)
O Cdigo do Artigo composto por:
Os dois primeiros caracteres indicam categoria do artigo.
O 3 e 4 caracteres indicam o fornecedor.
Os outros qual o artigo.
Cdigos do IVA: 0 Isento, 1 - 5%, 2 - 12% e 3 - 17%
Pretende-se:
a) Calcular o valor total c/ IVA de cada artigo
1. Construir uma tabela auxiliar com os cdigos e taxas de IVA (C12:D15)
2. Na clula F5 -> =C5*D5*(1+PROCV(E5;C$12:D$15;2;FALSO))
3. Copiar para as clulas F6:F9
b) Calcular a quantidade vendida de jogos
1. Na clula G5 -> =DIREITA(B5;NM.CARACT(B5)-4)
2. Copiar para baixo
3. Numa clula qq. =SOMA.SE(G5:G9;"Games";C5:C9) 10
c) Calcular o valor do fornecedor MS
1. Na clula H5 -> =SEG.TEXTO(B5;3;2)
2. Copiar para baixo
3. Numa clula qq. =SOMA.SE(H5:H9;"MS";F5:F9) 187200
d) Calcular o valor da categoria HW
1. Na clula I5 -> =ESQUERDA(B5;2)
2. Copiar para baixo

39

Universidade Catlica Portuguesa


Centro Regional das Beiras - Plo de Viseu
3. Numa clula qq. =SOMA.SE(I5:I9;"HW";F5:F9) 468000

40

Universidade Catlica Portuguesa


Centro Regional das Beiras - Plo de Viseu

FUNES DE BASE DE DADOS: DGET, DCOUNTA, DSUM, ... CRITRIOS

Objectivos:


Tabelas

Funes de base de dados

Critrios

Resumo:
Tabelas:
Uma maneira de armazenar dados relacionados (facturas, clientes, ...) numa folha de clculo atravs de uma tabela
(ou lista ou base de dados). Numa base de dados as linhas so registos e as colunas so os campos. A primeira linha
da lista contm rtulos (nomes) para as colunas (campos).

5.1. CUIDADOS A TER AO CRIAR TABELAS


1.

As colunas devem ter nome

2.

No utilizar linhas/colunas em branco entre os dados

3.

No inserir dados nas clulas abaixo da Tabela

4.

No inserir espaos em branco no inicio do contedo das clulas

5.

Usar o mesmo formato para as clulas de uma coluna

6.

Evitar colocar dados essenciais esquerda ou direita da Tabela. (Os dados podero estar ocultos quando
filtrar a Tabela)

Exemplo:

41

Universidade Catlica Portuguesa


Centro Regional das Beiras - Plo de Viseu

5.2. FUNES DE BASE DE DADOS


As funes de base de dados esto especialmente vocacionadas para analisar dados em listas. Estas funes
devolvem informaes sobre elementos de uma lista que satisfazem uma condio especfica ou um critrio. As
funes de base de dados so conhecidas por funes BD pois o seu nome comea por BD (D para o Excel em
ingls).
As funes BD so as seguintes: BDMDIA (DAVERAGE), BDCONTAR (DCOUNT), BDCONTAR.VAL
(DCOUNTA), BDOBTER (DGET), BDMX (DMAX), BDMIN (DMIN), BDMULTIPL (DPRODUCT),
BDDESVPAD (DSTDEV), BDDESVPADP (DSTDEVP), BDSOMA (DSUM), BDVAR (DVAR) e BDVARP
(DVARP).
Com excepo da funo BDOBTER todas as outras funes realizam a mesma operao que a funo sem o
prefixo BD, ou seja, a funo BDSOMA faz o equivalente funo SUM, s que agora apenas soma as linhas
(registos) que satisfazem um determinado critrio.
A sintaxe destas funes a seguinte:
=BDNOME(base de dados; campo; critrios) onde:
Base de dados o intervalo de clulas que formam a lista ou base de dados.
Campo indica a coluna utilizada na funo. Este argumento pode ser dado como o rtulo (nome do campo) da
coluna colocado entre aspas, ou como um nmero que representa a posio da coluna na lista: 1 para a primeira
coluna, 2 para a segunda coluna, etc., ou como a referncia clula que contm o rtulo.
Critrios o intervalo de clulas que contm as condies especificadas. Pode utilizar qualquer intervalo para os
argumentos de critrios, desde que inclua pelo menos um rtulo de coluna (nos critrios comparados) e pelo menos
uma clula abaixo do rtulo da coluna para especificar uma condio para a coluna.
O Excel no faz distino entre caracteres maisculos e caracteres minsculos ao avaliar os dados.

Exemplo:

A frmula em C24 vai contar o nmero de clulas preenchidas no campo Curso da lista que est A3:F10, desde que
o campo Curso seja igual a OGE. O Excel s vai considerar para esta operao (funo) os registos que obedecem
ao critrio indicado em B23:B24.

Funo BDOBTER:
Devolve um valor nico de uma coluna de uma lista que corresponde ao critrio indicado.

42

Universidade Catlica Portuguesa


Centro Regional das Beiras - Plo de Viseu
Se nenhum registo satisfizer os critrios, a funo devolve o valor de erro #VALOR!, e se houver mais do que um
registo a satisfazer os critrios, a funo devolve o valor de erro #NM!.

5.3.CONSTRUO DE CRITRIOS
5.3.1. Critrios comparados simples
Para localizar linhas numa lista que contenha um valor exacto, escreva o texto, nmero, data ou valor lgico na
clula existente abaixo do rtulo de critrio. Quando utiliza texto como critrio o Excel localiza todos os itens
comeados por esse texto.
B
25

Curso

26

OGE

Considera todos os registos cujo o campo Curso comea por OGE


Para que s sejam localizados os itens que contenham apenas o texto especificado (OGE), o critrio tem que ter a
frmula seguinte, ="=OGE"
B
25

Curso

26

=OGE

Critrios com datas


B
25

Data Nascimento

26

15-06-74

Considera todos os registos cujo o campo Data Nascimento exactamente igual a 15-06-74.

Para localizar valores de texto que tenham apenas alguns caracteres em comum, utilize um Wildcard (? Para um
carcter e * para um conjunto de caracteres. Para procurar um ? ou um * tenho que inserir um ~ antes do ? ou *. Por
exemplo ~?OGE~?, procurava o texto ?OGE?
B
25

Curso

26

?G*

Considera todos os registos cujo o campo Curso comea por um carcter qualquer seguido de um G

43

Universidade Catlica Portuguesa


Centro Regional das Beiras - Plo de Viseu
Critrios com operadores de comparao
B
25

Data Nascimento

26

>=15-06-74

Considera todos os registos cujo o campo Data Nascimento maior ou igual a 15-06-74.

5.3.2 Critrios compostos


Os critrios podem incluir mltiplas condies aplicadas numa s coluna ou mltiplos critrios aplicados a mltiplas
colunas.

Conjuno:
B

25

Curso

Mdia

26

OGE

>=14

Considera todos os registos cujo o Curso comea por OGE e Mdia maior ou igual a 14.
B

25

Mdia

Mdia

26

>=14

<19

Considera todos os registos com Mdia superior ou igual a 14 mas inferior a 19.

Disjuno:
B
25

Curso

26

OGE

27

FIN

28

GEI

Considera todos os registos cujo Curso comea por OGE ou por FIN ou por GEI.

44

Universidade Catlica Portuguesa


Centro Regional das Beiras - Plo de Viseu

B
25

Curso

26

OGE

C
Mdia

>=14

27

Considera todos os registos cujo Curso comea por OGE ou cuja Mdia maior ou igual a 14.
B

25

Curso

Mdia

26

OGE

27

FIN
>=14

28

Considera todos os registos com Curso comeado por OGE, ou Curso comeado por FIN ou Mdia superior ou
igual a 14.
B

25

Curso

Mdia

26

OGE

>=14

27

FIN

(Curso=OGE e Mdia>=14) ou Curso=FIN

Para localizar linhas que correspondam a uma de duas condies numa coluna e a uma de duas condies noutra
coluna, escreva os critrios em linhas separadas. Por exemplo, o intervalo de critrios seguinte apresenta as linhas
que contm "Dias" na coluna Vendedor e valores de vendas superiores a 3.000 contos ou as linhas para o vendedor
"Borges" com valores de vendas superiores a 1.500 contos.

5.3.3 Critrios calculados


Pode utilizar um valor calculado que resulte de uma frmula como critrio. Quando utilizar uma frmula para criar
um critrio, no utilize um rtulo de coluna como rtulo de critrio. Deixe o rtulo de critrio em branco ou utilize
um rtulo que no seja um rtulo de coluna na lista.
B
25

Superior mdia

26

=E4>Mdia(E$4:E$10)

45

Universidade Catlica Portuguesa


Centro Regional das Beiras - Plo de Viseu
Na clula B26 aparecia VERDADEIRO, o que no tem importncia nenhuma na avaliao que o Excel faz ou
fazemos:
B
25

Superior mdia

26

=Mdia>Mdia(E$4:E$10)

Na clula B26 aparecia FALSO, o que no tem importncia nenhuma na avaliao que o Excel faz.
Ambos os critrios conduzem ao mesmo resultado, ou seja:
Consideram todos os registos cujo campo Mdia tem um valor superior mdia aritmtica do campo Mdia.
Normalmente temos que inserir as funes utilizadas em critrios com referncias absolutas. Isto porque o Excel ao
avaliar se um registo satisfaz um critrio como se copiasse o critrio para as linhas (registos) em baixo.
A frmula utilizada para uma condio tem de fazer referncia ao rtulo de coluna (por exemplo, Mdia) ou
referncia ao campo correspondente no primeiro registo (por exemplo E4).
Pode utilizar um rtulo de coluna na frmula em vez de uma referncia relativa de clula ou de um nome de
intervalo.
Quando o Excel apresentar um valor de erro tal como, #NOME? ou #VALOR!, na clula que contm o critrio,
poder ignor-lo porque no afecta o modo como a lista analisada.
B
25

Curso e mdia

26

=E(D4="OGE";E4>=14)

Considera todos os registos cujo Curso igual a OGE e Mdia maior ou igual a 14.

46

Universidade Catlica Portuguesa


Centro Regional das Beiras - Plo de Viseu

5.4. FILTROS AUTOMTICOS E FILTROS AVANADOS


5.4.1. Filtros Automticos
Colocando o cursor de folha dentro da tabela e fazendo Dados Filtro Filtro Automtico, a tabela fica com o
aspecto seguinte:

Esta opo colocou, em cada nome de campo, a possibilidade de abrir uma janela que contm vriasopes de
filtragem da tabela.
Agora, dentro de cada campo, possvel efectuar os seguintes filtros:

47

Universidade Catlica Portuguesa


Centro Regional das Beiras - Plo de Viseu
Este tipo de filtro apenas permite fazer a operao lgica E entre campos. Dentro do mesmo campo podemos,
atravs da opo Personalizar, fazer E ou Ou utilizando os seguintes operadores de comparao:

Na janela dos operadores de comparao existem ainda as opes: contm e no contm.

Exemplo:
Se pretendessemos filtrar a Tabela para visualizarmos apenas os alunos com trabalho realizado em Banco
obteramos o seguinte resultado:

Note-se que, quando uma Tabela se encontra filtrada, os nmeros das linhas e a seta do campo atravs do qual se
filtrou a Tabela encontram-se a azul.

5.4.2. Filtros Avanados


A criao de filtros avanados permite maior flexibilidade nos modos de filtragem e, desde logo, permite dois tipos
de filtragem dos dados de uma Tabela, a saber: limitar o nmero de registos visveis e limitar o nmero de registos
visveis em funo do critrio definido.

48

Universidade Catlica Portuguesa


Centro Regional das Beiras - Plo de Viseu
Quando acedemos a esta opo atravs de Dados Filtro Filtro Avanado, somos confrontados com os
seguintes elementos:

A opo Filtrar Lista no local (in place) significa que a tabela ser ela prpria filtrada aps a execuo do
comando, ou seja, depois de executado o comando, o nmero de registos visveis na tabela sero apenas aqueles que
satisfazem o(s) critrio(s) definido(s).
A opo Copiar para outro local obrigaria a definir uma zona para a extraco dos registos em Copiar para (que
desta feita ficaria activo). A rea de extraco pode ser criada definindo todos ou apenas alguns dos campos da
tabela para os quais ser feita a extraco dos registos que passem pelo critrio definido.
Enquanto as opes anteriores funcionam em alternativa, a opo Intervalo da Lista deve ser preenchida com a
rea da Tabela ou nome da mesma (caso tenha sido criado um nome para a Tabela). Em rigor, se precedermos as
opes Dados Filtro Filtro Avanado com a colocao do cursor da folha dentro da Tabela, o Excel
automaticamente selecciona a Tabela de dados.
Na zona reservada ao Intervalo de Critrios devemos colocar a rea dentro da qual se situam os critrios com os
quais pretendemos filtrar a Tabela.

Exemplo:
Para filtrar a Tabela, podamos definir como critrio:
Todos os indivduos do Sexo F ou Trabalho em Banco teramos que definir o critrio do seguinte modo

13
14

Sexo

Trabalho

15

Banco

Ou
Todos os indivduos do Sexo F e Trabalho em Banco teramos que definir o critrio do seguinte modo

16
17

Sexo

Trabalho
Banco

49

Universidade Catlica Portuguesa


Centro Regional das Beiras - Plo de Viseu

Na zona referente ao Intervalo de Critrios teramos que definir a rea ou o nome do critrio pretendido, ou seja,
no primeiro caso $A$13:$B$15 e, no segundo caso, $A$16:$B$17.
Filtrando a Tabela no Local teramos como resultado, no primeiro caso:

e, no segundo caso, o resultado seria:

50

Universidade Catlica Portuguesa


Centro Regional das Beiras - Plo de Viseu

5. FUNES FINANCEIRAS E DE ENGENHARIA

Objectivos:
Funes financeiras
Funes de engenharia

Resumo:
Funes financeiras:
Na matemtica financeira o dinheiro tem um preo. E para ver como assim basta pensar no seguinte exemplo:
melhor 1000$ hoje ou 1200$ daqui a um ano?

6.1. FUNES FINANCEIRAS


Existem uma srie de conceitos na matemtica financeira e que se traduzem nos argumentos das funes financeiras
que importa ter bem presente.
Conceito / Argumento

Descrio

Valor futuro / Vf

Valor do investimento no fim do perodo

Valor presente / Vp ou Va

Valor do investimento hoje

Nmero de perodos / Nper

Nmero de perodos do investimento

Taxa / Taxa

Taxa de juro ou desconto

Fluxos monetrios / Valor1, Valor2...

Fluxos peridicos quando diferentes

Pagamento / Pgto

Fluxos peridicos quando constantes

Tipo / Tipo

0 se o pagamento realizado no fim do perodo


1 se o pagamento realizado no incio do perodo

Perodo / Perodo

Nmero de um fluxo peridico

VA(taxa; nper; pgto; vf; tipo) ou PV devolve o valor actual de um investimento onde:
Taxa a taxa de juro por perodo;
Nper o nmero total de perodos de pagamento;
Pgto o pagamento feito em cada perodo (capital + juros) e no pode mudar durante a vigncia do investimento;

51

Universidade Catlica Portuguesa


Centro Regional das Beiras - Plo de Viseu
Vf o valor futuro ou um saldo de caixa, que deseja obter depois do ltimo pagamento. Se vf for omitido, ser
considerado 0 (o valor futuro de determinado emprstimo, por exemplo, 0);
Tipo o nmero 0 se o vencimento dos pagamentos for no fim do perodo ou 1 se for no incio do perodo.

VF(taxa; nper; pgto; vp; tipo) ou FV devolve o valor futuro de um investimento de acordo com os pagamentos
peridicos e constantes e com uma taxa de juros constante onde:
Vp o valor presente ou a soma total correspondente ao valor presente de uma srie de pagamentos futuros. Se vp
for omitido, ser considerado 0.

Exemplos:
melhor 1000$ hoje ou 1200$ daqui a um ano?
Temos que ver quanto que valem os 1200$ hoje: =VA(2%;1;;1200;0) -> -1,176$47 o que significa que eu estou
disposto a pagar hoje 1,176$47 para obter daqui a um ano 1,200$, por isso melhor ter 1,200$ daqui a um ano;
ou
Temos que ver quanto valem os 1000$ daqui a um ano: =VF(2%;1;;1000;0) -> -1,020$00 o que significa que se eu
investir hoje 1000$ estou disposto a receber 1020$ daqui a um ano, por isso melhor ter 1,200$ daqui a um ano.

PGTO(taxa; nper; pv; fv; tipo) ou PMT devolve o pagamento peridico de uma anuidade de acordo com
pagamentos constantes e com uma taxa de juro constante.
PPGTO(taxa; perodo; nper; va; vf; tipo) ou PPMT devolve o pagamento de capital para determinado perodo de
investimento, de acordo com pagamentos constantes e peridicos e uma taxa de juro constante.
IPGTO(taxa; perodo; nper; va; vf; tipo) ou IPMT devolve o pagamento de juros para um determinado perodo
de investimento, de acordo com pagamentos peridicos e constantes e com uma taxa de juros constante.
TAXA(nper; pgto; va; vf; tipo;estimativa) ou RATE devolve a taxa de juro por perodo de uma anuidade.
NPER(taxa; pgto; va; vf; tipo) ou NPER devolve o nmero de perodos para investimento de acordo com
pagamentos constantes e peridicos e uma taxa de juros constante.

52

Universidade Catlica Portuguesa


Centro Regional das Beiras - Plo de Viseu

Exemplo:

VAL(taxa; valor1; valor2; ...) ou NPV devolve o valor lquido actual de um investimento, baseado numa srie de
fluxos monetrios peridicos e numa taxa de desconto, onde:
Valor1; valor2;... so entre 1 e 29 argumentos que representam os pagamentos e a receitas do investimento. Valor1;
valor2;...tm de ter o mesmo intervalo de tempo entre eles e ocorrer no final de cada perodo;
A taxa pode representar a taxa de inflao ou a taxa de juros de um investimento concorrente, deve representar o que
queremos ganhar com o investimento..

TIR(valores; estimativa) ou IRR devolve a taxa de retorno interna de uma srie de fluxos monetrios representada
pelos nmeros em valores, onde:
Valores uma matriz ou uma referncia a clulas que contm nmeros cuja taxa de retorno interna se deseja
calcular, deve conter, pelo menos, um valor positivo e um valor negativo para calcular a taxa de retorno interna;
Estimativa um nmero que se estima estar prximo do resultado de TIR

53

Universidade Catlica Portuguesa


Centro Regional das Beiras - Plo de Viseu

Exemplo:

Funes para calcular depreciaes:


AMORT(custo; val_residual; vida_til) ou devolve a amortizao em linha recta de um activo durante um
perodo, onde:
Custo o custo inicial do activo;
Val_residual o valor no final da amortizao ou valor residual;
Vida_til o nmero de perodos nos quais o activo se amortiza.

Exemplo:
Uma empresa adquiriu um veculo por 3000 contos com uma vida til de 4 anos e pratica amortizaes pelo mtodo
das quotas constantes.
Calcular o valor da amortizao anual:
=AMORT(3000000;0;4) d 750,000.00 Esc

Funes para converter taxas:


EFECTIVA(taxa_nominal; nm_por_ano) ou EFFECT devolve a taxa anual de juros efectiva, dada a taxa
nominal de juros anuais e o nmero de perodos compostos por ano.
NOMINAL(taxa_efectiva; nm_por_ano) ou NOMINAL devolve a taxa de juro nominal anual dada a taxa
efectiva e o nmero de perodos compostos por ano.

54

Universidade Catlica Portuguesa


Centro Regional das Beiras - Plo de Viseu

55

Exemplos:
Pretendendo efectuar um depsito a prazo por seis meses (vencendo juros semestralmente) o Sr. Manifesto
consultou dois bancos, tendo-lhe sido fornecidas as seguintes taxas de juro anuais:
Banco X 16.5% efectiva
Banco Y 16.0% nominal
Em que banco dever fazer o depsito?

6.2. FUNES DE ENGENHARIA


As funes de engenharia possibilitam anlises de engenharia. A maior parte destas funes pertencem a trs tipos:

Funes para trabalhar com nmeros complexos;

Funes para converter valores entre vrios sistemas de numerao, tais como decimal, hexadecimal,
octal e sistemas binrios;

Funes para converter valores entre vrios sistemas de medidas.

CONVERTER (nm; de_unidade; para_unidade) converte um nmero de um sistema de medida para outro,
onde:
Nm o valor em de_unidade a converter.
De_unidade a unidade do nmero.
Para_unidade a unidade do resultado.
A funo aceita os seguintes valores de texto para de_unidade e para_unidade:

Peso e massa

Grama
Libra massa
Massa em libras (peso)
U (unid. de massa atmica)
Massa em onas (peso)

De_unidade
ou
para_unidade
"g"
"sg"
"lbm"
"u"
"ozm"

Distncia

Metro
Milha inglesa
Milha martima
Polegada
P
Jarda
ngstrom
Pica (1/72 pol.)

De_unidade
ou
para_unidade
"m"
"mi"
"Nmi"
"in"
"ft"
"yd"
"ang"
"Pica"

Universidade Catlica Portuguesa


Centro Regional das Beiras - Plo de Viseu

TEMPO

ANO
DIA
HORA
MINUTO
SEGUNDO
Presso

Pascal
Atmosfera
mm de Mercrio
Fora

Newton
Dyna
Libra-fora

De_unidade
ou
para_unidade
"yr"
"day"
"hr"
"mn"
"sec"
De_unidade
ou
para_unidade
"Pa"
"atm"
"mmHg"
De_unidade
ou
para_unidade
"N"
"dyn"
"lbf"

Energia

Joule
Erg
Caloria termodinmica
Caloria IT
Eletro-volt
Cavalo-potncia-hora
Watt-hora
P-libra
BTU

De_unidade
ou
para_unidade
"J"
"e"
"c"
"cal"
"eV"
"HPh"
"Wh"
"flb"
"BTU"

POTNCIA

Cavalo-potncia
Watt
Magnetismo

Tesla
Gauss
Temperatura

Graus Celsius
Graus Fahrenheit
Graus Kelvin
Medida lquida

Colher de ch
Colher de sopa
Ona fluida
Chvena
Pinto U.S.
Pinto U.K.
Quarto
Galo
Litro

56

De_unidade
ou
para_unidade
"HP"
"W"
De_unidade
ou
para_unidade
"T"
"ga"
De_unidade
ou
para_unidade
"C"
"F"
"K"
De_unidade
ou
para_unidade
"tsp"
"tbs"
"oz"
"cup"
"pt"
"uk_pt"
"qt"
"gal"
"l"

Universidade Catlica Portuguesa


Centro Regional das Beiras - Plo de Viseu

Os seguintes prefixos de unidades abreviados podem ser anexados a qualquer valor mtrico de_unidade ou
para_unidade.
Prefixo
hexa
peta
tera
giga
mega
quilo
hecto
deca
deci
centi
mili
micro
nano
pico
fento
ato

Multiplicador
1E+18
1E+15
1E+12
1E+09
1E+06
1E+03
1E+02
1E+01
1E-01
1E-02
1E-03
1E-06
1E-09
1E-12
1E-15
1E-18

Abreviatura
"E"
"P"
"T"
"G"
"M"
"k"
"h"
"e"
"d"
"c"
"m"
"u"
"n"
"p"
"f"
"a"

Exemplos:
CONVERTER(68; "F"; "C") 20
Uma das provas mais carismticas do atletismo a milha. Calcule quantas voltas pista que os atletas tm que dar.

Quantos centmetros tem um monitor de 15 polegadas


=CONVERTER(15;"in";"cm") 38.1
Quantos centmetros tem um monitor de 14 polegadas
=CONVERTER(14;"in";"cm") 35.56
A unidade origem a polegada e a unidade destino o metro com o prefixo centi
DECAHEX(nm; casas) converte um nmero decimal em hexadecimal, onde:
nm o inteiro decimal que deseja converter. Se nm for negativo, casas ser ignorado;
casas o nmero de caracteres a serem utilizados. Se casas for omitido, aa funo utiliza o nmero mnimo de
caracteres necessrio.
=DECAHEX(1;2) 01
=DECAHEX(15) F
HEXADEC(nm) converte um nmero hexadecimal em decimal.
=HEXADEC("1E") 30

57

Universidade Catlica Portuguesa


Centro Regional das Beiras - Plo de Viseu

6. ARRAYS / ANLISE DE TENDNCIA, CRESCIMENTO E PREVISO, TABELAS,


GOALSEEK E SOLVER, CONSTRUO DE CENRIOS

Objectivos:


Frmulas array ou matriz

Funes: Frequncia

Tendncia, Crescimento e Previso

Anlise de Sensibilidade: Tabela de Dados

Atingir Objectivo

Solver

Resumo
7.1. ARRAYS
7.1.1. Frmulas matriz (array)
Uma frmula de matriz pode efectuar clculos mltiplos e, em seguida, devolver um resultado nico ou mltiplos
resultados. As frmulas de matriz actuam de acordo com dois ou mais conjuntos de valores conhecidos como
argumentos de matriz. Cada argumento de matriz tem de ter o mesmo nmero de linhas e de colunas. As frmulas
de matriz so criadas do mesmo modo que se criam frmulas base, de valor nico. Seleccione a clula ou as clulas
que contm a frmula, crie a frmula e, em seguida, prima CTRL+SHIFT+ENTER para introduzir a frmula.
Ao introduzir uma frmula de matriz, o Excel insere automaticamente a frmula entre { }. Se a frmula de matriz
devolver apenas um resultado, faa clique sobre a clula na qual deseja introduzir a frmula, se devolver mltiplos
resultados, seleccione o intervalo de clulas no qual deseja introduzir a frmula. Depois introduzimos a frmula e
para terminar CTRL+SHIFT+ENTER.
Para apagar uma frmula matriz temos que seleccionar o grupo de clulas onde est a frmula e carregar na tecla
Delete.

7.1.2. Frmula combinao


{=MDIA(SE(A2:A10="Lisboa";D2:D10))}
A funo SE localiza as clulas que, no intervalo A2:A10, tm "Lisboa" e, em seguida, devolve o valor da clula
correspondente do intervalo D2:D10 para a funo MDIA.

58

Universidade Catlica Portuguesa


Centro Regional das Beiras - Plo de Viseu

7.1.3. Frmula cpia

Em vez de inserir a frmula =D20*2 na clula E20 e depois copiar para as duas clulas imediatamente abaixo,
podemos seleccionar as clulas onde queremos a frmula (E20:E22) e depois inserir a frmula matriz =D20:D22*2
e terminar com CTRL+SHIFT+ENTER.

Funo FREQUNCIA
FREQUNCIA(matriz_dados; matriz_bin) ou FREQUENCY devolve uma distribuio da frequncia como uma
matriz vertical. Para um dado conjunto de valores e um dado conjunto de binrios (ou intervalos), uma distribuio
de frequncia conta quantos desses valores ocorrem em cada intervalo, onde:
Matriz_dados uma matriz ou uma referncia a um conjunto de valores cujas frequncias deseja contar. Se
matriz_dados no contiver valores, a funo produz uma matriz de zeros.
Matriz_bin uma matriz ou referncia a intervalos nos quais deseja agrupar os valores contidos em matriz_dados.
Se matriz_bin no contiver valores, FREQUNCIA fornecer o nmero de elementos em matriz_dados.
A funo tem que ser introduzida como uma frmula de matriz depois de seleccionado um intervalo de clulas
adjacentes (nmero de elementos em matriz_bin mais um) em que se deseja que a distribuio fornecida aparea. A
funo ignora clulas em branco e texto.

Exemplos:

59

Universidade Catlica Portuguesa


Centro Regional das Beiras - Plo de Viseu

7.2. FUNES TENDNCIA, CRESCIMENTO E PREVISO


Estas funes procuram encontrar a equao da recta que melhor representa os nossos dados, permitindo assim
encontrar (prever) dados ainda no disponveis.
TENDNCIA(val_conhecidos_y; val_conhecidos_x; novos_valores_x; constante) ou TREND devolve valores ao
longo de uma tendncia linear. Ajusta uma linha recta (utilizando o mtodo dos mnimos quadrados) s matrizes
val_conhecidos_y e val_conhecidos_x. Devolve os valores y ao longo desta linha para a matriz de novos_valores_x
que especificar, onde:
Val_conhecidos_y o conjunto de valores que j conhece na relao y = mx + b. Se a matriz val_conhecidos_y
estiver numa nica coluna, cada coluna de val_conhecidos_x ser interpretada como uma varivel separada. Se a
matriz val_conhecidos_y for uma nica linha, cada linha de val_conhecidos_x ser interpretada como uma varivel
separada.
Val_conhecidos_x um conjunto opcional de valores de x que j deve conhecer na relao y = mx + b. A matriz
val_conhecidos_x pode incluir um ou mais conjuntos de variveis. Se for utilizada apenas uma varivel,
val_conhecidos_y e val_conhecidos_x podem ser intervalos de qualquer formato, desde que tenham dimenses
iguais. Se for utilizada mais de uma varivel, val_conhecidos_y tem de ser um vector (ou seja, um intervalo com
altura de uma linha ou largura de uma coluna). Se val_conhecidos_x for omitido, ser considerada a matriz
{1.2.3....} que do mesmo tamanho que val_conhecidos_y.
Novos_valores_x so novos valores de x para os quais deseja que TENDNCIA fornea valores de y
correspondentes. Novos_valores_x deve incluir uma coluna (ou linha) para cada varivel independente, da mesma
forma que val_conhecidos_x. Portanto, se val_conhecidos_y estiver numa nica coluna, val_conhecidos_x e
novos_valores_x tm de ter o mesmo nmero de colunas. Se val_conhecidos_y estiver numa nica coluna,
val_conhecidos_x e novos_valores_x devem ter o mesmo nmero de linhas. Se omitir novos_valores_x, ser
considerado igual a val_conhecidos_x. Se omitir val_conhecidos_x e novos_valores_x, sero considerados como a
matriz {1.2.3....} que do mesmo tamanho que val_conhecidos_y.
Constante um valor lgico que fora ou no a constante b a igualar-se a 0. Se constante for VERDADEIRO ou
omitida, b ser calculado normalmente. Se constante for FALSO, b ser definido para 0 e os valores m sero
ajustados de forma que y = mx.

CRESCIMENTO(val_conhecidos_y; val_conhecidos_x; novos_valores_x; constante) ou GROWTH Ajusta uma


curva exponencial aos dados val_conhecidos_y e val_conhecidos_x e fornece os valores de y ao longo da curva para
a matriz de novos_valores_x que especificar, onde:
Val_conhecidos_y o conjunto de valores y j conhecidos na relao y = b*m^x.

PREVISO(x; val_conhecidos_y; val_conhecidos_x) ou FORECAST devolve um valor previsto para x, baseado


numa regresso linear de matrizes x e y conhecidas ou de intervalos de datas, onde:
X o ponto de dados cujo valor deseja prever;
Val_conhecidos_y o intervalo de dados ou matriz dependente;

60

Universidade Catlica Portuguesa


Centro Regional das Beiras - Plo de Viseu
Val_conhecidos_x o intervalo de dados ou matriz independente.
A funo previso semelhante funo tendncia com a diferena que serve para calcular um s valor, embora se
possa usar tambm esta funo como frmula matriz. Neste caso produz o mesmo resultado que a funo tendncia.

Exemplos:

7.3. TABELA DE DADOS OU DATA TABLE


Uma tabela de dados consiste num intervalo de dados que permite mostrar como que determinadas alteraes em
certos valores iro afectar o resultado das frmulas. As tabelas de dados permitem calcular rapidamente vrias
verses numa s operao e, visualizar e comparar os resultados de todas as variantes calculadas na mesma folha de
clculo, ou seja, pretende analisar o impacte de uma ou mais variveis nas frmulas que recorrem a essas variveis.
Para apagar uma tabela de dados temos que seleccionar toda a tabela de dados, incluindo todas as frmulas, valores
de entrada, valores resultantes, formatos e comentrios e depois Editar Limpar Tudo.
{=TABELA(clula de entrada da linha; clula de entrada da coluna)} ou TABLE
Se os dados tiverem em linha utiliza-se o primeiro argumento, se tiverem em coluna utiliza-se o segundo.

7.3.1. Tabela de dados baseada numa varivel


Analisa o impacte de uma varivel em uma ou mais frmulas que recorrem a essa varivel.
Pretende-se conhecer qual o efeito no nmero de vendedores e de carros que uma empresa de gelados necessita
perante um aumento do nmero de clientes. Sabe-se que a empresa dever ter um vendedor para cada 50 clientes e
que dever ter um carro para cada 75 clientes.

61

Universidade Catlica Portuguesa


Centro Regional das Beiras - Plo de Viseu

62

7.3.2. Tabela de dados baseada em duas variveis


Analisa o impacte das duas variveis numa s frmula que recorre a essas variveis.
Pretende-se calcular o valor do juros (em regime de juro composto) para vrias taxas de juro e para vrios anos.

7.4. ATINGIR OBJECTIVO OU GOAL SEEK


O comando Atingir objectivo utilizado quando sabemos antecipadamente qual o resultado desejado para uma dada
frmula, mas no sabemos qual o valor de que a frmula necessita para atingir esse resultado, ou seja resolve
equaes de uma incgnita.
Por defeito o comando Atingir objectivo pra ao fim de 100 tentativas (100 iteraes) ou quando encontra um valor
a uma distncia de 0.001 do valor a atingir. Estes valores defeito podem ser alterados no menu Ferramentas
Opes Clculo e depois N mximo de iteraes e Alterao mxima.

Universidade Catlica Portuguesa


Centro Regional das Beiras - Plo de Viseu

Exemplo:
Resolver a equao: 2y2 + 2y + 5 = 20

Pretende-se saber, em regime de juro composto, ao fim de quantos anos que um dado capital, aplicado a uma dada
taxa anual, com capitalizaes anuais, duplica.

7.5. SOLVER
O comando Solver utilizado para maximizar ou minimizar o valor de uma clula que est dependente da variao
dos valores em vrias outras clulas, dentro de restries previamente definidas. Quando utilizar o Solver, as clulas
com que estiver a trabalhar tero que estar relacionadas atravs de frmulas na folha de clculo.

Exemplo:
Imagine que pretende comprar 100 animais com 100 escudos. Os preos unitrios dos diferentes animais so aqueles
que se apresentam, de seguida:

Preo Unit.
Ovelhas

10$00

Patos

2$00

Galinhas

0$50

63

Universidade Catlica Portuguesa


Centro Regional das Beiras - Plo de Viseu

64

Vamos formular o problema da forma que se apresenta no quadro seguinte, atribuindo quantidades a cada animal,
relacionando as quantidades com o preo unitrio e calculando os respectivos totais (em quantidade e dinheiro).

C
3

Preo Unit.

Quantidade

Total

Ovelhas

Patos

2$00

2$00

Galinhas

0$50

0$50

Total

3 12$50

10$00

1 10$00

Os valores da coluna F resultam todos de frmulas bem como os Totais. Daqui resulta que em F4 se encontra a
frmula =D4*E4 e que em E7 se encontra a frmula =Soma(E4:C6).
Se o solver no se encontrar disponvel em Ferramentas Solver ento deve fazer Ferramentas Suplementos e
seleccionar Suplemento Solver.
Utilizando o Solver vamos definir:

Uma ltima restrio que no se encontra visvel refere-se a F7 que tambm tem que ser igual a 100.
Quando pedimos para solucionar, o Solver apresenta-nos a seguinte soluo:

C
3

Preo Unit.

Ovelhas

5
6
7

Quantidade

Total

10$00

10$00

Patos

2$00

27

54$00

Galinhas

0$50

72

36$00

Total

Perguntando-nos o que pretendemos fazer com o resultado.

100 100$00

Universidade Catlica Portuguesa


Centro Regional das Beiras - Plo de Viseu

65

7.6. CONSTRUO DE CENRIOS


Uma das possibilidades do exemplo anterior seria arrecadar a soluo do problema como um cenrio. Todavia, uma
vez que o problema poderia admitir vrios tipos de soluo, cada uma delas, poderia constituir um cenrio diferente.
Para tal bastaria optar pelo boto Guardar Cenrio.
Assim sendo, verificamos que a constituio de cenrios pode emergir da utilizao do Solver, do Goal Seek ou,
podemos criar cenrios directamente atravs da formulao de um problema, de forma conveniente, na folha de
clculo. Observemos o seguinte exemplo:
A avaliao final de um conjunto de alunos depende das classificaes obtidas em trs provas e tem uma quarta
componente correspondente a avaliao contnua (assiduidade, interesse manifestado, etc). Admitindo que a
ponderao de cada uma das quatro componentes da avaliao era igual, a nota final de cada aluno resultaria da
mdia aritmtica simples das notas obtidas s diferentes componentes. Todavia, se alterarmos as ponderaes das
provas o resultado final ser diferente para cada um dos alunos ficando com melhor nota final (em termos relativos)
aqueles alunos que obtiveram melhor classificao s componentes de avaliao com maior ponderao. Assim,
pretendemos constituir cenrios alternativos que conduziro a resultados finais diferentes em funo da ponderao
atribuda a cada um dos quatro momentos de avaliao.
No primeiro caso, admitindo igual ponderao, temos:

Ana

Lus

Joo

Ponder.

1 Prova

14

15

14

1 Prova

25%

2 Prova

12

10

12

2 Prova

25%

3 Prova

10

14

17

3 Prova

25%

Av. Cont.

12

14

15

Av. Cont.

25%

Final

12,00 13,25 14,50

Total

100%

Universidade Catlica Portuguesa


Centro Regional das Beiras - Plo de Viseu

A constituio de cenrios passa pela utilizao das opes: Ferramentas Cenrios que nos conduz seguinte
janela de dilogo:

Nesta janela, para comearmos a adicionar cenrios, devemos pressionar o boto Adicionar que nos conduz a:

66

Universidade Catlica Portuguesa


Centro Regional das Beiras - Plo de Viseu
Neste quadro devemos definir o nome do cenrio inicial (p. ex. Igual Ponderao) e especificar as clulas variveis,
ou seja, neste exemplo as clulas que contm as ponderaes das provas $G$4:$G$7.
Quando pressionamos OK surge-nos a possibilidade de especificarmos os valores para cada uma das clulas
variveis atravs do quadro seguinte:

Se pretendermos adicionar mais cenrios, aps a introduo de todos os valores para as clulas variveis do cenrio
actual devemos pressionar Adicionar que nos conduz definio de um novo cenrio e assim por diante. Por ltimo
terminamos a definio de cenrios com Ok que nos conduz a:

Agora podemos seleccionar qualquer um dos 5 cenrios constitudos para vermos o seu resultado, alterar os valores
das variveis independentes (ponderaes) ou eliminar esse cenrio.

67

Universidade Catlica Portuguesa


Centro Regional das Beiras - Plo de Viseu

Podemos, ainda, utilizando a opo Sumrio aceder ao quadro seguinte:

que nos permitir constituir um Sumrio do cenrio como se apresenta de seguida

ou uma Tabela dinmica do cenrio que produziria

68

Universidade Catlica Portuguesa


Centro Regional das Beiras - Plo de Viseu

7. RELATRIOS DE TABELAS E GRFICOS DINMICOS


Objectivos:


Resumir dados utilizando Tabelas dinmicas

Alterao de Tabelas dinmicas em funo das necessidades de informao

Resumo:
As tabelas dinmicas so um instrumento que serve para resumir dados de uma Tabela ou Base de Dados
dando-lhes a orientao mais adequada em funo dos objectivos pretendidos. Trata-se, em rigor, duma
forma verdadeiramente objectiva de transformar dados em informao.

8.1. CRIAO DE TABELAS / GRFICOS DINMICOS


As opes que temos de utilizar so Dados Relatrio de Tabelas ...
Ao acedermos a esta opo surge um auxiliar de criao (Wizard) como aquele que se apresenta, de
seguida:

Optando por criar uma Tabela Dinmica partindo dos dados constantes na nossa Tabela em Excel
faramos Seguinte.

69

Universidade Catlica Portuguesa


Centro Regional das Beiras - Plo de Viseu

No segundo passo seramos confrontados com a necessidade de definir a Tabela de Dados.

Por ltimo, o Excel pergunta-nos se pretendemos embutir a Tabela Dinmica na Folha actual ou se
queremos criar uma nova folha. O dilogo o seguinte:

Se optarmos por embutir na mesma folha, apenas temos que definir o endereo do canto superior
esquerdo da Tabela Dinmica.

70

Universidade Catlica Portuguesa


Centro Regional das Beiras - Plo de Viseu

Nesta fase, podemos optar por concluir e, nesse caso, somos confrontados com o seguinte quadro e barra
de construo de Tabela Dinmica:

Ou podemos optar por definir o esquema da Tabela Dinmica antes de terminar e, neste caso,
pressionando o boto Esquema surge-nos o seguinte dilogo:

71

Universidade Catlica Portuguesa


Centro Regional das Beiras - Plo de Viseu

Atravs deste quadro podemos definir a nossa Tabela Dinmica em funo das necessidades de
informao subjacentes mesma.

8.2. ALTERAO DE UMA TABELA / GRFICO DINMICO

Para procedermos alterao de uma Tabela Dinmica basta-nos aceder Tabela Dinmica
seleccionando-a e de seguida, actuar sobre as opes da barra de ferramentas correspondente.
Caso esta barra no se encontre imediatamente visvel sempre possvel evoc-la atravs das
opes Ver Barras de Ferramentas Tabelas Dinmicas.

72

Universidade Catlica Portuguesa


Centro Regional das Beiras - Plo de Viseu

8. VBA
9.1.

O QUE UMA FUNO

Funes so rotinas que tm como objectivo executar um conjunto de instrues e produzir um


valor final. So definidas por:

um nome elucidativo da sua funo,

parmetros - valores enviados entre parntesis e que constituem o input ( a matriaprima) da funo, i.e.,
sobre eles que sero executados os respectivos clculos. Existem funes que no necessitam de
parmetros Rand(), Today(), Pi()),

resultado ou output valor produzido pela aplicao da funo aos parmetros.

Recorde-se como exemplo a funo SUM , esta recebe por parmetro um conjunto de valores
que se pretendem somar, sabe-se que o resultado da aplicao dessa funo ao conjunto de
valores ser o respectivo somatrio.

9.2. FUNES DO EXCEL


O Excel dispe de um conjunto variado de funes (de estatstica, de data e hora, de matemtica
e trigonometria, de finanas, de pesquisa e referncia, de bases de dados, de texto, de lgica, e de
informao) pr-programadas que se podem utilizar nas clulas da worksheet para executar os
mais diversos clculos.
Contudo, existem funes que o Excel no contempla e que por vezes os utilizadores gostariam
de aplicar para a realizao dos seus clculos usuais. Neste contexto, est previsto o
desenvolvimento de funes personalizadas recorrendo a uma codificao das mesmas numa
linguagem que o computador possa entender e executar - Visual Basic for Applications (VBA).

9.3. COMO CRIAR FUNES


1. Defina o objectivo da funo, os parmetros e resultado
2.

Escreva (em linguagem normal) os passos que essa funo deve executar para, com base nos parmetros
produzir o valor final. Nesta etapa est a definir o algoritmo.

3.

Traduza o seu algoritmo em VBA. Para escrever uma funo em VBA deve obedecer seguinte sintaxe:

73

Universidade Catlica Portuguesa


Centro Regional das Beiras - Plo de Viseu

Function <Nome da Funo> ( <parametro1>, <parametro2>,)

<Nome da Funo> = <Valor ou Expresso>

End Function
A definio comea com a palavra-chave Function e termina com as palavras End
Function. Para definir o valor produzido pela uma funo basta no seu interior,
atribuir ao nome da funo um determinado valor ou expresso.
Aplicaes Prticas
Problema: Fazer uma funo que calcule o valor com IVA.
1. Parmetros / Input: Valor Ilquido e Taxa de IVA
2.

Passos a executar:

1. Multiplicar o Valor Ilquido pela Taxa de IVA


2. Somar ao Valor Ilquido o valor calculado no passo anterior. Assim o valor do
IVA deve ser atribudo a uma varivel, no passo 2.1, para utilizao posterior.
3. Em VBA:

Problema: Fazer uma funo que gere valores aleatrios num intervalo real definido por dois
limites
1. Parmetros / Input: Limite Inferior e Limite Superior
2.

Passos a executar:

1. Utilizar a funo Rnd para produzir nmeros aleatrios (entre 0 e 1)


2.

Somar o Limite Inferior com o resultado da alnea anterior multiplicado pela diferena entre o
Limite Superior e o Limite Inferior

74

Universidade Catlica Portuguesa


Centro Regional das Beiras - Plo de Viseu

3.

Em VBA:

9.4. ONDE DEFINIR A FUNO


A funo tem de ser definida (escrita) em linguagem VBA num sitio apropriado -Editor de
Visual Basic for Applications. Para aceder ao editor escolha a seguinte sequncia de opes do
menu: Tools / Macro / Visual Basic Editor

Project Explorer

Se a janela no estiver visvel active-a atravs do View / Project Explorer ou utilizando o boto ou
combinaes de letras associadas a esta tarefa.
Nesta janela poder visualizar a hierarquia dos projectos de Visual Basic for Applications activos
nesse momento.

75

Universidade Catlica Portuguesa


Centro Regional das Beiras - Plo de Viseu

Entre eles dever encontrar um cujo nome corresponde ao nome do WorkBook do Excel com
que est a trabalhar e.g. VBAProject (Book1). dentro deste projecto que dever trabalhar para
que todas as funcionalidades que implemente estejam nele activas sempre que necessrio.
Assim se fizer o desdobramento do seu VBAProject, encontrar um folder cuja designao
Microsoft Excel Objects, e um outro designado Modules (se este no aparecer significa que o seu
projecto ainda no possui qualquer funo implementada. Para criar este folder dever fazer:
Insert / Module).

Certifique-se, antes de comear a criar a funo, que o est a fazer dentro dos modules, caso
contrrio elas no funcionaro como pretende.

9.5.

TRABALHAR NO EDITOR DE VBA CRIAR UMA FUNO

Aplicao Prtica
Problema: Criar uma funo que calcule o IVA
1. Parmetros / Input: Valor Ilquido e Taxa de IVA
2.

Passos a executar:

1. Multiplicar o Valor Ilquido pela Taxa de IVA


3.

Para criar a funo no Editor de VBA:

Uma vez seleccionado o mdulo onde pretende construir a funo poder:

Escrever a funo integralmente, ou

Recorrer ao Insert / Procedure para que o VBA lhe crie a estrutura

76

Universidade Catlica Portuguesa


Centro Regional das Beiras - Plo de Viseu

Nesta caixa de dilogo dever indicar o tipo de rotina a criar Function e o nome que
pretende dar funo. Automaticamente o Visual Basic for Applications criar a
estrutura da rotina, que neste caso ficaria:
Function IVA( )
End Function

Depois bastar escrever a expresso que produzir o valor final, entre estas duas linhas de
cdigo, como mostra a figura seguinte

9.6. EXECUO DE UMA FUNO DENTRO DE UMA CLULA


Uma vez que uma funo produz um valor ela poder ser executada dentro de uma clula numa
WorkSheet, semelhana de qualquer uma outra funo do Excel

1.

Posicione-se na clula onde pretende inserir a funo

2.

Insert / Function

3.

Seleccione a categoria User Defined repare que aparece listada a funo que acabou de criar IVA

4.

Clique em OK e de imediato uma janela de ajuda vir auxiliar a utilizao da sua funo

77

Universidade Catlica Portuguesa


Centro Regional das Beiras - Plo de Viseu

5.

Introduza os parmetros e clique em OK

Em suma:
Qualquer funo poder ser utilizada numa WorkSheet do Excel, sendo a sua utilizao
semelhante a qualquer outra funo: numa clula
= <nome da funo> (<Param_1> , <Param_2>)

9.7. UTILIZAO DE VARIVEIS


As variveis constituem repositrios temporrios de valores, podendo ser utilizadas para diversos
fins.Quando se pretende atribuir valores a variveis dever-se- indicar o nome da varivel, o
operador "=" e o valor que se pretende que a varivel armazene.
<Nome_Varivel> = <Valor>
O nome da varivel representa o contedo da mesma, i.e., sempre que mencionar o nome da
varivel o seu contedo que ser considerado.

9.7.1. Tipos de variveis

O tipo de varivel est associado ao gnero de informao que esta tem hiptese de armazenar:
Boolean 2 bytes Permite armazenar valores Boolenaos True ou False
Byte 1 Byte permite armazenar nmeros sem sinal entre 0 e 255
Currency - 8 bytes permite armazenar moeda
Date 8 Bytes permite armazenar datas

78

Universidade Catlica Portuguesa


Centro Regional das Beiras - Plo de Viseu

Double 8 bytes permite armazenar um real desde 1.79769313486232E308 at 4.94065645841247E-324 para valores negativos, e desde 1.79769313486232E308 at
4.94065645841247E-324 para valores positivos.
Single 4 bytes permite armazenar um real desde -3.402823E38 at -1.4011298E-45, para
valores negativos e desde 3.402823E38 at 1.4011298E-45, para valores positivos
Integer 2 bytes - permite armazenar nmeros inteiros entre -32.768 e 32767
Long 4 bytes permite armazenar nmeros inteiros entre -2 147 483 648 e 2 147 483 648
Object 4 bytes utilizado para fazer referncia a um objecto do Excel
String 1 byte por caractere permite armazenar conjuntos de caracteres
Variant 16 bytes - permite armazenar qualquer tipo de dados
User-Defined permite armazenar valores de tipos diferentes

9.7.2. Declarao de Variveis

As variveis que utilizar dentro de uma funo devero por norma ser declaradas i.e. definidas,
sempre que uma varivel for utilizada sem ser definida o VBA considera-a do tipo Variant. A
definio feita da seguinte forma:
Dim Numero As Integer
Onde:
Dim Palavra chave que indica uma declarao de variveis (abreviatura de dimenso)
Numero - nome da varivel a utilizar
As palavra chave utilizada para separar o nome da varivel do tipo de dados
Integer tipo de dados atribudo varivel

79

Universidade Catlica Portuguesa


Centro Regional das Beiras - Plo de Viseu

9.8. ESTRUTURAS DE CONTROLO


O VBA disponibiliza algumas estruturas que pode utilizar para controlar o decurso da execuo
da rotina. Estas estruturas do ao programador um poder enorme para construir funes bastante
complexas e flexveis.

VBA Control

Objectivo

If -Then - Else

Testa uma condio e executa um determinado conjunto de


instrues consoante o resultado dessa avaliao
Executa uma determinada tarefa um determinado nmero de

For Next

vezes.
Executa uma determinada tarefa enquanto que uma determinada

While-Wend

condio permanea verdadeira, i.e., com o valor True.


Executa uma determinada tarefa enquanto que a avaliao de

Do Loop

uma condio permanea True ou ento at que seja True.


Selecciona um dos segmentos de cdigo a processar mediante a

Select - Case

avaliao consecutiva de condies.


For Each Next

Realiza uma determinada tarefa repetitiva em cada objecto de


uma coleco ou em cada item de um array.

9.8.1. If-Then-Else

Recorrendo funo IF do Excel, recorde:


=IF( <condio>, <se condio verdadeira>, <se condio falsa> )
A funo IF tinha o seguinte comportamento:
1. Avalia a condio, que dever ser uma expresso booleana colocada como
primeiro parmetro;
2.

Se a condio for verdadeira, ento (then) realiza as operaes colocadas no segundo parmetro;

3.

Caso contrrio (else), realiza as operaes que formam o terceiro parmetro

80

Universidade Catlica Portuguesa


Centro Regional das Beiras - Plo de Viseu

A estrutura IF do VBA tem o mesmo tipo de funcionamento, o que difere a sintaxe.


Assim:
If <Condio> Then
<se condio verdadeira>
[ Else
<se condio falsa> ]
End If
A palavra Else opcional sendo que no caso de ser omitida, a avaliao negativa da condio
implica uma sada automtica da Instruo If.

Aplicao Prtica
Problema: Determinar se um nmero par
1. Elementos de anlise
1. Nome: _Par

2.

2.

Parmetros: nmero que vai ser avaliado

3.

Output: True se for par, e False caso contrrio

Passos a executar:

1. Dividir o nmero por dois e apurar o resto da diviso


2.

Avaliar o resto da diviso:

1. Se for igual a zero, ento o nmero par e a funo assume o valor True
2.

Seno, o valor impar e a funo assume o valor False

3.

Em VBA:

81

Universidade Catlica Portuguesa


Centro Regional das Beiras - Plo de Viseu

Interpretao
Dim resto As Double

Declarao da varivel resto, onde guardado o resto da diviso do nmero por dois

Resto = Numero Mod 2

Mod uma funo que calcula o resto da diviso do Numero por 2 (neste caso). O
valor calculado atribudo varivel resto.

If

Palavra chave que indica o inicio de uma instruo If-Then-Else

Resto = 0

A condio a testar. Serve para determinar a sequncia a dar execuo da rotina. Da


avaliao desta condio pode-se obter um de dois valores True ou False, sendo que
depende deste resultado o caminho a prosseguir. Se for True executar as instrues
que seguirem a palavra-chave Then at encontrar a palavra chave Else, no
executando mais nada dentro do IF, caso contrrio executar o cdigo que se seguir
palavra chave Else at ao End If.
Palavra chave que determina o fim da condio teste. Todas as instrues que tm

Then

inicio nesta palavra-chave at palavra-chave Else sero executadas se a condio for


verdadeira.
_Par = True

Instruo a executar se a condio for verdadeira.

Else

Palavra-chave que determina o terminus de execuo das instrues quando o


resultado da avaliao for True, e que determina o inicio das instrues a executar se o
resultado da condio for False.

_Par = False

Instruo a executar se a condio for falsa.

End If

Palavra-chave que indica o fim do controlo de If-Then-Else e como tal onde se deve
retomar as instrues para prosseguir a execuo do procedimento.

Aplicao Prtica
Problema: Crie a funo Mod para usar nas clulas do Excel.
1. Elementos de anlise
1. Nome: Resto_Diviso

2.

2.

Parmetros: Dividendo e Divisor

3.

Output: resto da diviso do Dividendo pelo Divisor

Passos a executar:

1. Calcular o quociente da diviso (Dividendo / Divisor) na forma inteira


2.

Subtrair ao dividendo a multiplicao do quociente pelo Divisor, obtendo assim o resto

82

Universidade Catlica Portuguesa


Centro Regional das Beiras - Plo de Viseu

3.

Em VBA:

A instruo adicional ElseIf


Esta instruo prope uma condio alternativa se o teste da condio anterior tiver tido
um resultado negativo.

Aplicao Prtica
Problema: Pretende-se criar uma funo que classifique etariamente um indivduo em
funo da sua idade. A classificao pretendida a seguinte:

3.

Idade

Classe Etria

Menos de 3 anos

Beb

Dos 3 aos 12

Criana

Dos 13 aos 19

Adolescente

Dos 20 aos 25

Jovem

Dos 26 aos 65

Adulto

Mais de 65

Idoso

Elementos de anlise

1. Nome: Classe_Etria

4.

2.

Parmetros: Idade

3.

Output: "Beb", "Criana", "Adolescente", "Jovem", "Adulto" ou "Idoso"

Passos a executar:

1. Avaliar a idade

83

Universidade Catlica Portuguesa


Centro Regional das Beiras - Plo de Viseu

1. Se tiver menos de trs, ento "Beb"


2.

Seno, se tiver menos de treze, ento "Criana"

3.

Seno, se tiver menos de vinte, ento "Adolescente"

4.

Seno, se tiver menos de vinte e seis, ento "Jovem"

5.

Seno, se tiver menos de sessenta e seis, ento "Adulto"

6.

Seno "Idoso"

7.

Em VBA:

Este tipo de codificao pode tornar-se confuso e difcil de controlar, como tal o VBA
proporciona uma estrutura mais simples para este tipo de situaes: Select Case.
9.8.2. Select Case

Permite a escolha de um percurso mediante a avaliao de n condies. de extrema utilidade


para evitar os Ifs encadeados, dando um maior grau de legibilidade e simplicidade ao cdigo
construdo.
Select Case <Expresso a ser avaliada>
[Case <Valor da Expresso> [Instrues a realizar]]
...[Case Else [Instrues a realizar na situao residual]]
End Select

84

Universidade Catlica Portuguesa


Centro Regional das Beiras - Plo de Viseu

Aplicao Prtica
Problema: Alterar a estrutura da funo Classe_Etria mediante a aplicao do Select Case.

Construo da Estrutura
Select Case

Palavras-Chave que indicam o inicio de um controlo Select Case

Idade

Expresso sujeita a teste, i.e., varivel cujo contedo est a ser avaliado. Esta varivel vai ser
comparada sucessivamente pelos valores alternativos apresentados nas instrues Case <Valor>,
se encontrar o valor nalguma dessas opes Case executar as linhas de cdigo que a tero inicio
at opo de Case seguinte. Caso o valor da varivel a ser comparada no corresponda a
nenhum valor apresentado nas opes Case, existe uma opo Case especial - Case Select - para
os restantes valores, neste caso sero executadas todas as instrues que se localizem entre o
Case Else e o Case Select.

Case Is<3 ou
Case Is<13 ou

Expresses Case. Se o valor da varivel for igual a qualquer um dos valores apresentados em
cada uma destas expresses, o fluxo de execuo ter continuidade na linha abaixo da expresso
case que faz o matching, at que uma nova expresso case seja encontrada. Sendo que nessa

Case Is<20 ou
Case Is<26 ou

altura termina o controlo Select Case dando continuidade ao programa nas instrues que se
seguirem ao End Select.

Case Is<66
Case Else

Ser a instruo Case residual, seleccionada somente se nenhuma das outras o tiver sido. Neste
caso sero realizadas todas as instrues de cdigo que se lhe seguirem at expresso End
Select. Findo o qual seguir todas as instrues aps o controlo Select case.

End Select

Palavra-Chave que indica o fim do controlo Select Case.

85

Universidade Catlica Portuguesa


Centro Regional das Beiras - Plo de Viseu

9.8.3. For Next

Permite a execuo repetida de uma tarefa durante um determinado nmero de vezes.


For <Inicializao do Contador> To <Valor > [ Step <Valor a Incrementar>]
<Instrues a realizar em cada iterao>
Next

Aplicao Prtica
Problema: Pretende-se criar uma funo que recebendo a base e a potncia calcule o valor
respectivo.
1. Elementos de anlise
1. Nome: Calc_Potncia

2.

2.

Parmetros: Base, Potncia

3.

Output: Base elevada potncia

Passos a executar:

1. Multiplicar sucessivas vezes (nmero indicado pela potncia) a base pelo


resultado acumulado das sucessivas operaes.
2. Em VBA:

86

Universidade Catlica Portuguesa


Centro Regional das Beiras - Plo de Viseu

Funo das Variveis:


Varivel

Funo

Conta o nmero de vezes que a base j foi multiplicada, uma varivel que ser automaticamente
incrementada em cada looping do ciclo.

acumulado Varivel que armazena o resultado sucessivo por cada vez que se multiplica. Inicializado a 1 (elemento
neutro da multiplicao) antes do ciclo.

Construo do Ciclo:
For

Palavra-chave que indica o inicio do ciclo For-Next

i = 1 To Potncia

Expresso que contm a inicializao do contador, indicando o valor de inicio e de fim.


Assim, o nmero de vezes que o ciclo executado ser: Valor_Fim Valor_Inicio +1.
A palavra To utilizada para separar o valor do contador no momento inicial do valor no
momento final. (Traduo: O contador iniciar-se- a um e atingir o valor mximo
traduzido pela varivel Potncia)

Step 1

Palavra chave utilizada para especificar o valor a incrementar ou decrementar ao


contador do ciclo por cada vez que o loop concretizado. Normalmente o valor a
incrementar um, contudo qualquer outro valor pode ser utilizado, desde nmeros
decimais, a nmeros negativos (Provocando assim a decrementao). A palavra-chave
Step opcional, sempre que for omitida assumido 1 como o valor a incrementar por
defeito.

acumulado = acumulado Instruo a realizar de cada vez que o ciclo for executado. Neste caso a instruo nica,
* Base

contudo poder-se-o adicionar outras instrues.

Next

Palavra Chave que indica o fim de um ciclo For-Next . Sempre que a execuo do ciclo
chega instruo Next incrementa a varivel contador e volta ao inicio do ciclo.

Traduo Integral:
For i = 1 To Potncia Step 1
acumulado =acumulado * Base
Next
Para o nmero de vezes, a iniciar em 1 at que atinja, o valor Potncia, pela incrementao de 1
na execuo de cada ciclo, dever multiplicar sucessivamente o resultado acumulado, pela base.

87

Universidade Catlica Portuguesa


Centro Regional das Beiras - Plo de Viseu

Funcionamento do Ciclo:
A primeira execuo do ciclo distingue-se das restantes por a ela estar associada a inicializao do
contador, sendo o restante procedimento semelhante a qualquer outra execuo.
No inicio de cada execuo do ciclo, a varivel contador comparada com o valor final de
execuo. Se o Step for um valor positivo (incrementar) e o valor do contador for superior ao valor
final significa que o ciclo j foi realizado o nmero de vezes pretendido, e ento o cdigo
acabar a execuo da instruo For-Next e seguir na linha de cdigo que esteja situada
imediatamente a seguir, caso contrrio executa uma vez mais o ciclo e incrementa a varivel
contador. Por outro lado, se o Step contiver valor negativo (decrementar) e o valor do contador for
inferior ao valor final significa que o ciclo j foi realizado o nmero de vezes pretendido, e ento
o cdigo acabar a execuo da instruo For-Next e seguir na linha de cdigo que esteja
situada imediatamente a seguir, caso contrrio executa uma vez mais o ciclo e decrementa a
varivel contador.

Perigos associados utilizao do ciclo For-Next:

No definir o limite de execuo (no atribuir valor varivel que o define)

Definir erroneamente o Step, por forma a que nunca seja obtido o valor que determina o fim da execuo

estas condies implicaro que o ciclo no tenha fim Ciclos Infinitos

Aplicao Prtica
Problema: Pretende-se criar uma funo para calcular um factorial.
1. Elementos de anlise
1. Nome: Factorial

2.

2.

Parmetros: Nmero

3.

Output: Factorial do Nmero introduzido

Passos a executar:

1. Verificar se o nmero positivo


2.

Se for, multiplicar sucessivas vezes um nmero pelo resultado acumulado das sucessivas
multiplicaes dos nmeros inteiros que o antecedem

3.

Seno indicar "ERRO"

88

Universidade Catlica Portuguesa


Centro Regional das Beiras - Plo de Viseu

4.

Em VBA:

9.8.4. While Wend

A estrutura While-Wend tem um funcionamento similar ao For-Next. Realiza um looping um


determinado nmero de vezes, enquanto que uma determinada condio permanea verdadeira.
A diferena entre este ciclo e o ciclo For-Next basicamente o facto deste saber apriori o
nmero de vezes que vai ser realizado, enquanto que um ciclo While-Wend poder ou no sablo pois terminar quando a condio for Falsa.
While <Condio>
<Instrues a realizar em cada iterao>
Wend

Aplicaes Prticas
Problema: Modificar a estrutura da funo Factorial, criada com o ciclo For-Next
(Neste caso o ciclo sabe apriori o nmero de vezes que ir ser realizado)
1. Elementos de anlise
1. Nome: Factor

2.

2.

Parmetros: Nmero

3.

Output: Factorial do Nmero introduzido

Passos a executar:

89

Universidade Catlica Portuguesa


Centro Regional das Beiras - Plo de Viseu

1. Verificar se o nmero positivo


2.

Se for, multiplicar sucessivas vezes um nmero pelo resultado acumulado das sucessivas
multiplicaes dos nmeros inteiros que o antecedem

3.

Seno indicar "ERRO"

4.

Em VBA:

Problema: Apostar um nmero entre 1 e 10 e saber ao fim de quantos lanamentos (geraes


aleatrias) que foi seleccionado.
(Neste caso o ciclo no sabe o nmero de vezes que ir ser realizado)
1. Elementos de anlise
1. Nome: Aposta_1a10

2.

2.

Parmetros: Nmero

3.

Output: Nmero de lanamentos

Passos a executar:

1. Verificar se o nmero est no intervalo definido


2.

Se estiver, gerar continuamente nmeros aleatrios entre 1 e 10 e comparar com o Nmero da


aposta, quando for igual pra e indica o nmero de lanamentos

3.

Seno estiver no intervalo indicar "ERRO DE INSERO"

90

Universidade Catlica Portuguesa


Centro Regional das Beiras - Plo de Viseu

4.

Em VBA:

A instruo While-Wend tem como funo gerar nmeros aleatrios entre 1 e 10 por forma a
encontrar o nmero da aposta, e saber qual o nmero de lanamentos necessrios para que aquele
valor fosse obtido.

A Funo das Variveis


Varivel

Funo

Lanamento Guarda o valor obtido em cada um dos lanamentos.


i

Nmero de lanamentos realizados at obter o resultado da aposta. Este valor tem de ser incrementado
cada vez que realizado um sorteio.

Construo do Ciclo
While

Palavra-chave que indica o inicio do ciclo While-Wend

Nmero<>Lanamento

Condio teste utilizada para determinar o terminus da realizao do


ciclo. Se esta condio for Verdadeira executa as instrues que
esto dentro do While-Wend, se for Falsa a execuo do ciclo
terminada tendo o programa sequncia nas instrues que seguem a
palavra chave Wend.

Lanamento = Int(1 + Rnd() * (10 - 1 + 1))

Instruo a realizar de cada vez que o ciclo executado. Tem como

91

Universidade Catlica Portuguesa


Centro Regional das Beiras - Plo de Viseu

funo gerar nmeros aleatrios inteiros entre 1 e 10. Repare que


este valor inicializado antes do inicio do ciclo por forma a garantir
uma comparao correcta na condio.
Em vez de realizar esta expresso poderia utilizar a funo
Gera_Entre.
i=i+1

Instruo a realizar de cada vez que o ciclo executado. Tem como


funo fazer a contagem de quantos lanamentos foram realizados
at se obter o valor da aposta. Repare que este valor quando entra
para o ciclo j tem o valor 1 correspondente ao sorteio realizado
inicialmente.

Wend

Palavra Chave que indica o fim de um ciclo While-Wend.

Traduo Integral
While Nmero <> Lanamento
Lanamento = Int(1 + Rnd() * (10 - 1 + 1))
i=i+1
Wend
Enquanto o nmero do lanamento no for igual ao nmero da aposta, o sorteio continua, o que
implica sortear um nmero e contabilizar o nmero de sorteios realizados.

Se utilizasse a funo Gera_Entre para a gerao de nmeros aleatrios, a funo seria:

92

Universidade Catlica Portuguesa


Centro Regional das Beiras - Plo de Viseu

Funcionamento do Ciclo
Existe uma fase de inicializao das variveis envolvidas na condio teste para garantir o
correcto funcionamento do ciclo.
Avalia a condio teste e se for verdadeira executa todas as instrues at palavra-chave Wend
voltando de novo avaliao da condio, se for falsa prossegue a execuo da rotina nas
instrues que se localizam depois da palavra-chave Wend.

Perigos associados utilizao do ciclo While-Wend

M ou inexistncia de inicializao das variveis envolvidas na condio-teste.

Garantir que as variveis envolvidas na condio teste podero ter valores diferentes por cada vez que o
ciclo seja executado.

Garantir que em algum momento a condio teste falsa e o ciclo termina a sua execuo.

A no verificao destas condies implicar que o ciclo no tenha fim Ciclos Infinitos

9.8.5. Do Loop

Esta estrutura similar estrutura do While-Wend. Contudo fornece duas possibilidades que
esto limitadas quela estrutura:

Do Loop permite posicionar a condio teste no inicio ou fim do loop, a condio no fim do
Loop evita uma inicializao prvia do valor das variveis envolvidas na condio teste,
dado que essa inicializao pode ser feita no decurso do ciclo com valores reais.

Do Loop permite ainda especificar se o loop se vai realizar enquanto (while) uma
expresso for verdadeira ou at que (until) a condio ser verdadeira (facilidade
conseguida atravs do operador Not)

93

Universidade Catlica Portuguesa


Centro Regional das Beiras - Plo de Viseu

Poder ser:
Do [{While Until} <condio>]
<Instrues a realizar por iterao>
Loop
Ou ento:
Do
<Instrues a realizar por iterao>
Loop[{While Until} <condio>]

Aplicaes Prticas

Problema: Apostar um nmero num intervalo definido e saber ao fim de quantos lanamentos
(geraes aleatrias dentro do intervalo considerado) que foi seleccionado.

1. Elementos de anlise
1. Nome: Aposta
2.

Parmetros: Nmero, Limite Inferior e Limite Superior

3.

Output: Nmero de lanamentos necessrio realizar para que o nmero apostado fosse
seleccionado no intervalo de nmeros definido pelo Limite Inferior e Superior

2.

Passos a executar:

1. Verificar se o nmero est no intervalo definido (Limite Inferior a Limite


Superior) e se o intervalo est bem definido (Limite Inferior < Limite Superior)
2.

Se estiver, gerar continuamente nmeros aleatrios nesse intervalo e comparar com o Nmero da
aposta, quando for igual pra e indica o nmero de lanamentos

3.

Seno estiver no intervalo indicar "ERRO DE INSERO"

94

Universidade Catlica Portuguesa


Centro Regional das Beiras - Plo de Viseu

3.

Em VBA:

Aplicaes Prticas

1.

Utilizando a condio teste no inicio do Loop e com a palavra While

95

Universidade Catlica Portuguesa


Centro Regional das Beiras - Plo de Viseu
2.

Utilizando a condio teste no inicio do Loop e com a palavra Until

3.

Utilizando a condio teste no fim do Loop e com a palavra Until

4.

Utilizando a condio teste no fim do Loop e com a palavra While

96