Manual Excel
Manual Excel
Manual Excel
Por:
Paulo Castro Ribeiro
Viseu, 2000
Índice
Objectivos:
! Conceito de folha de cálculo
! Formatação simples
! Nomes de células
Resumo:
Folha de cálculo:
• é um conjunto de células onde se pode colocar informação e que podem relacionar-se umas com as outras
através de expressões lógicas e matemáticas;
• é uma ferramenta informática que permite fazer todos os cálculos que se pretendem, de forma simples,
iterativa ou repetitiva, relacionando os próprios dados que possui nos cálculos que faz.
Pelo que ficou dito, uma folha de cálculo é uma excelente ferramenta de simulação.
Noções:
b) barra de menu - mostra o nome dos diferentes menus relativos à aplicação corrente. Cada menu contém
vários comandos;
c) barra de ferramentas - contém vários ícones onde se faz um "click" para executar uma tarefa;
g) célula - quadro onde os dados são digitados. É delimitada pela intersecção de uma linha com uma coluna;
i) colunas - são secções verticais ao longo da folha estendida, ordenadas de A a Z e depois de AA a IV,
compreendendo 256 colunas;
Universidade Católica Portuguesa
Centro Regional das Beiras - Pólo de Viseu 5
Layout do Excel
• folhas de cálculo (worksheets) - é um mapa composto por células que podem conter dados e fórmulas. Uma
folha pode ainda incorporar outros objectos (gráficos, botões,...);
• gráficos (charts);
• módulos de código - contêm programas escritos em VBA (Visual Basic for Applications);
• caixas de diálogo;
Quando o excel acaba de ser carregado, o estado do mesmo é o de Pronto. Este modo corresponde ao estado de não
edição, ou seja, quando o cursor de edição não se encontra activo. Neste modo, a folha de cálculo apresenta, em
todas as células o resultado dos cálculos efectuados. O conteúdo da célula na qual se encontra o cursor de folha
apresenta o resultado do cálculo da formula que esta tem subjacente.
Este modo de trabalho permite activar os diferentes modos de selecção que passamos a descrever:
Com o Rato:
o Colocar o cursor num dos cantos do rectângulo de células a seleccionar, pressionar a tecla
esquerda do rato e arrastar, sem largar a tecla esquerda, até ao canto oposto;
o Colocar o cursor num dos cantos do rectângulo de células a seleccionar, pressionar a tecla Shift
sem largar e fazer click com o ponteiro do rato na célula do canto oposto (Selecção de...até)
Com o Teclado:
o Colocar o cursor num dos cantos do rectângulo de células a seleccionar, pressionar a tecla Shift e
deslocar o cursor com as teclas de cursor
o Apontar para o cabeçalho de coluna/linha e fazer click na tecla esquerda do rato. Se pretender
seleccionar mais do que uma coluna/linha então deve repetir o procedimento anterior arrastando o
rato em coluna/linha enquanto pressiona a tecla esquerda.
o Fazer click com o rato no quadrado de intersecção entre os cabeçalhos de coluna e linha.
Universidade Católica Portuguesa
Centro Regional das Beiras - Pólo de Viseu 7
! Selecção Múltipla
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.
Neste modo o cursor de edição ( | )encontra-se a piscar ou na linha de edição ou dentro da célula que está a ser
editada. Editar significa alterar o conteúdo de uma célula ou seja, apagar, acrescentar ou alterar.
! Caixa de nome (Contém o endereço da célula onde se encontra o cursor de folha ou o nome da mesma ou
do bloco seleccionado)
Em Modo Edição
! Caixa de nome (Contém o endereço da célula onde se encontra o cursor de folha ou o nome da mesma ou
de um bloco seleccionado)
! Cancelar (Estando em modo edição cancela as alterações feitas e que ainda não foram validadas com enter)
INSERÇÃO DE DADOS
Colocar o cursor na célula onde será feita a inserção de dados e escrever. O excel passa automaticamente do modo
Pronto ao modo Edição.
Fórmulas ⇒ começam pelo sinal de igual (= ou sinais de + ou -) e executam operações sobre os valores da folha de
cálculo
FORMATAÇÃO
OPERADORES ARITMÉTICOS:
+ adição
- subtracção / negação
* multiplicação
/ divisão
% percentagem
^ exponenciação
OPERADORES DE COMPARAÇÃO (comparam dois valores e dão como resultado o valor lógico Verdadeiro ou Falso)
= igual
> maior
< menor
<> diferente
OPERADORES DE TEXTO:
& concatenação
: intervalo (de...a)
; união (Soma)
(espaço)
- (negação)
*e/
+e-
&
operadores de comparação
Universidade Católica Portuguesa
Centro Regional das Beiras - Pólo de Viseu 10
OPERANDOS:
Um rótulo (texto);
Exemplos:
=2+3*5 resulta 17
=(2+3)*5 resulta 25
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 Península Ibérica em 1996.
z representa o resultado , que naturalmente depende e obtém-se a partir dos outros dois; vamos chamar-lhe variável
dependente ou variável de resultado;
z = f(x,y) = x + y
A partir deste momento, vamos passar a considerar uma folha de cálculo como reflexo de um modelo de cálculo.
as variáveis independentes,
as variáveis dependentes, e
as expressões que permitam obter o valor das variáveis dependentes em função das variáveis independentes.
- a uma variável dependente associar uma célula de saída (ou seja, com uma fórmula);
x " célula A1
y " célula A2
z " célula A3
A B
1 9 # variável x (entrada)
2 7 # variável y (entrada)
3 16 # variável z ( célula de Saída ; fórmula = A1+A2)
Exemplo:
Você vai à loja comprar um computador. O vendedor diz-lhe que o computador custa 200c mais IVA. Quanto é que
paga ?
Variáveis independentes
Variáveis Dependentes
Expressões
UMA REFERÊNCIA identifica uma célula ou um intervalo de células numa folha de cálculo.
Se copiar a fórmula de B3 para C4 passa a apresentar o valor da célula B3, ou seja, actualiza o endereço da fórmula
original (A2) em função do número 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)
REFERÊNCIA MISTA - quando copia fórmulas apenas se altera uma parte da referência, ou a coluna ou a linha
Se copiar a fórmula de B3 para C4 passa a apresentar o valor da célula B2, ou seja, a parte da referência à coluna
altera-se (avança uma coluna para a direita em relação ao endereço original – de A passa a B) e a parte da referência
à linha não se altera apesar de ter sido copiada a fórmula (continua a referir-se à linha 2).
Se copiar a fórmula de B3 para C4 continua a apresentar o valor da célula A2, ou seja, a referência não se altera
apesar de ter sido copiada a fórmula.
PRATICANDO:
Resolva o exercício seguinte imaginando que copia as fórmulas no sentido indicado pelas setas. Identifique a
fórmula e o valor resultante do processo de cópia.
REFERÊNCIA CIRCULAR - quando uma fórmula se refere, directa ou indirectamente, à sua célula (provoca erro)
$ apresenta o valor uma célula acima e uma célula para a esquerda de B3 na folha Sheet2
Pode ser utilizado com as seguintes funções: soma, média, média, contar, contar.val, máximo, mínimo, produto,
desvpad,, desvpadp, var e varp.
$ apresenta o valor da célula A2 da folha Sheet2 do livro Teorica que está localizado na pasta \excel do disco C
Nomes no topo de colunas e à esquerda de linhas identificam as células internas da tabela quando usamos nomes
em fórmulas. 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 fórmulas.
Todos os nomes têm que começar por uma letra, \ ou _. Não se pode usar símbolos, espaços, o nome R ou L (Linha)
ou C (Coluna) e nomes que se confundem com células (B5)
Com este procedimento criámos, na folha, os seguintes nomes: Produtos, Qtd, Punit, Valor, A, B e C.
=B Qtd (note que o operador espaço corresponde à intersecção exclusiva) o resultado será:
$ 36 (célula C5)
Universidade Católica Portuguesa
Centro Regional das Beiras - Pólo de Viseu 15
Suponhamos que a célula A1 tem a idade do José e que a célula A2 tem a idade da Maria, respectivamente 30 e 29.
Se atribuirmos o nome José à célula A1 e o nome Maria à célula A2, a fórmula na célula A3 =José+Maria dá 59. Se
copiarmos a fórmula para a célula A4 continua a dar 59.
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 célula.
Objectivos:
! Introdução às funções
! Criação de funções
! Funções matemáticas/trigonométricas
! Funções estatísticas
! Tipos de erros
Resumo:
FUNÇÃO:
As funções são fórmulas predefinidas que executam cálculos utilizando valores específicos, denominados
argumentos, numa ordem específica, denominada sintaxe. Por exemplo, a função SOMA adiciona valores ou
intervalos de células.
Os argumentos podem ser números, texto, valores lógicos do tipo VERDADEIRO ou FALSO, matrizes, valores de
erro do tipo #N/D ou referências de célula. O argumento dado deve produzir um valor válido para esse argumento.
Os argumentos podem também ser constantes, fórmulas ou outras funções.
A sintaxe de uma função começa com o nome da função, seguida de um parêntese inicial, dos argumentos para a
função separados por pontos e vírgula e de um parêntese final. Se a função começar com uma fórmula, escreva um
sinal de igual (=) antes do nome da função.
Se alguma função não estiver disponível, execute o programa de configuração para instalar o Analysis ToolPak.
Depois da instalação do Analysis ToolPak, deve seleccioná-lo e activá-lo no gestor de suplementos.
Exemplo:
=SOMA(A1:A5;C1:C5;10)
O comando Inserir ⇒ Função permite introduzir funções de um modo assistido. Selecciona-se a função que
queremos e de seguida introduzimos os vários argumentos. Em todos os passos surgem mensagens de ajuda.
A função SOMA(Num1;Num2;...) soma uma série de números (até 30 argumentos). Ignora argumentos que se
referem a textos, valores lógicos e células em branco. O botão Soma automática (AutoSum) da barra de ferramentas
acelera a utilização desta função.
SINAL(Num) ou SIGN devolve o sinal de um número: 1 se o número for positivo, zero se for zero e -1 se for
negativo
Universidade Católica Portuguesa
Centro Regional das Beiras - Pólo de Viseu 17
=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 número por excesso até ao número ímpar inteiro mais próximo. Os números
negativos são ajustado em valor absoluto.
=ÍMPAR(2) ⇒ 3
=ÍMPAR(-2) ⇒-3
=ÍMPAR(3) ⇒ 3
=ÍMPAR(3.1) ⇒ 5
PAR(Num) ou EVEN
=ARRED.DEFEITO(8.3;3) ⇒ 6
=ARRED.DEFEITO(8.3;5) ⇒ 5
ARRED.EXCESSO(Num;Significância) ou CEILING
INT(Num) arredonda um número por defeito para o número inteiro mais próximo
=INT(8.3) ⇒ 8
=INT(-8.3) ⇒ -9
=INT(-8.9) ⇒ -9
=TRUNCAR(55.987) ⇒ 55
=TRUNCAR(55.987;2) ⇒ 55.98
=FACTORIAL(3) ⇒ 6
Universidade Católica Portuguesa
Centro Regional das Beiras - Pólo de Viseu 18
=QUOCIENTE(9;3) ⇒ 3
=QUOCIENTE(9;2.5) ⇒ 3
RESTO(Num;Divisor) ou MOD devolve o resto da divisão 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(2;3;4) ⇒ 12
=MDC(2;3;4) ⇒ 1
=COMBIN(2;2) ⇒ 1
=COMBIN(3;2) ⇒ 3
=COMBIN(4;2) ⇒ 6
LN(Num)
LOG(Num;Base)
LOG10(Num)
PI()
RADIANOS(Angulo) ou RADIANS
GRAUS(Angulo) ou DEGREES
⇒ 3,1415926...
=PI()⇒
⇒ 180
=GRAUS(PI())⇒
=RADIANOS(180) ⇒ 3.1415926
SEN(Num) ou SIN
COS(Num)
TAN(Num)
...
MATRIZ.INVERSA(Matriz)
MATRIZ.MULT(Matriz1;Matriz2),
TRANSPOR(Matriz)
MATRIZ.DETERM(Matriz)
MÉDIA(Num1;Num2,...) ou AVERAGE devolve a média aritmética dos argumentos (até 30). Ignora as células não
numéricas.
=MED(1; 2; 3; 4; 5) ⇒ 3
=MODA(2;5;2;6;7;7;2) ⇒ 2
ORDEM(Num;Ref;Ordem) ou RANK devolve a posição de um número numa lista de números. Num é o número
cuja posição se deseja conhecer. Ref é a matriz (intervalo) onde se vai localizar o número e Ordem especifica como
posicionar um número numa ordem: se 0 ou omitido dá por ordem decrescente, se diferente de 0 dá por ordem
crescente.
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 posição (do maior) na matriz ou intervalo
de célula de dados a ser fornecida.
=2+3<=8*2 VERDADEIRO
=A1="João" depende do conteúdo de A1, se for João dá VERDADEIRO senão for dá FALSO
2.6.2. Função SE ou IF
=SE(FALSO;"A";"B") ⇒ B
ENCADEAMENTO DE SE'S
Podem ser imbricadas até sete funções 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(MÁXIMO(B4:B9)>MÁXIMO(C4:C9);"Teste";SE(MÁXIMO(B4:B9)=MÁXIMO(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:
Se o aluno tiver nota inferior a 9.5 o resultado da fórmula é uma string (cadeia de caracteres) vazia.
E(lógico1; lógico2; ...) 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 lógicos, matrizes ou
referências que contenham valores lógicos.
=E(2=2;3<>2) ⇒ VERDADEIRO
=E(2=2;"João"="João";"Maria"="Joana") ⇒ FALSO
Universidade Católica Portuguesa
Centro Regional das Beiras - Pólo de Viseu 22
OU(lógico1; lógico2; ...) devolve VERDADEIRO se qualquer argumento for VERDADEIRO, devolve FALSO se
todos os argumentos forem FALSO.
=OU(2>2;3<2) ⇒ FALSO
=OU(2=2;"João"="João";"Maria"="Joana") ⇒ VERDADEIRO
=NÃO(2=2) ⇒ FALSO
PRATICANDO:
Suponha que um aluno só fica aprovado se tiver média 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 média 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")
FALSO( ) ou FALSE devolve o valor lógico FALSO. Também se pode introduzir directamente na célula ou na
fórmula a palavra FALSO que o Excel interpreta-a como o valor lógico FALSO.
Inserir ⇒ Módulo
Corpo da função
End funcion
O corpo da função é uma expressão que vai ter um valor quando os parâmetros formais forem substituídos por
valores (parâmetros reais)
Exemplo: Criar uma função para calcular o quadrado da soma de dois números.
Universidade Católica Portuguesa
Centro Regional das Beiras - Pólo de Viseu 24
As funções criadas pelo utilizador ficam disponíveis no comando Inserir ⇒ Função na categoria Definidas pelo
utilizador.
As funções de informação servem para determinar o tipo de dados guardados numa célula. As funções de
informação incluem um grupo de funções de folha de cálculo conhecidas por funções É e devolvem VERDADEIRO
se as células satisfizerem uma condição.
Número 1
Texto 2
Valor lógico 4
Fórmula 8
Valor de erro 16
Matriz 64
=TIPO("Maria") ⇒ 2
=TIPO(2+"Maria") ⇒ 16
É.CÉL.VAZIA(valor) ou ISBLANK VERDADEIRO se valor se referir a uma célula em branco, senão FALSO
É.NÃO.TEXTO(valor) ou ISNONTEXT VERDADEIRO se valor se referir a qualquer item que não seja texto
Exemplos:
=É.TEXTO("Maria") ⇒ VERDADEIRO
=É.NÃO.TEXTO("Maria") ⇒ FALSO
=É.ERRO(2/0) ⇒ VERDADEIRO
=É.NÚM("22") ⇒ FALSO
INFORMAÇÃO(texto_tipo) ou INFO devolve informações sobre o ambiente de trabalho actual. Ver Ajuda/Help
para ver as várias possibilidades para texto_tipo
=ÉPAR(2) ⇒ VERDADEIRO
=ÉPAR(3.3) ⇒ FALSO
=ÉPAR(2.6) ⇒ VERDADEIRO
=ÉÍMPAR(2) ⇒ FALSO
Exemplo:
• ##### O valor numérico introduzido numa célula ou o resultado de uma fórmula é demasiado extenso que
não cabe na célula, ou está a subtrair datas ou horas e o resultado deu um número negativo.
• #NOME? ou #NAME? Está a inserir um nome que não está definido, ou está a introduzir um texto sem
estar entre aspas, ou não escreveu os dois pontos (:) ao definir um intervalo de células
• #VALOR! ou VALUE! Introduziu uma fórmula matemática e está a utilizar um operando que é texto, ou
está a indicar um intervalo de células quando é esperado um valor único
• #N/D ou #N/A Não está disponível a informação para o cálculo que quer executar
• #NÚM! ou #NUM! Está a utilizar um argumento que não é valido para a função, ou a função que está a
utilizar não encontrou resultado nenhum, ou introduziu uma fórmula cujo o resultado e demasiado pequeno
ou demasiado grande para ser representado na folha de cálculo
Objectivos:
! Funções de data e hora
! Modelo de simulação
Resumo:
Introdução:
A unidade de tempo no Excel para o Windows é o dia. Cada dia é representado por um número de série 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 cálculo, essa data é guardada como um número de série. Número esse
que corresponde ao número de dias que passaram desde 1 de Janeiro de 1900 até à data introduzida.
Os números à direita do ponto decimal no número de série representam as horas a contar da meia-noite. Por exemplo
0.5 representa o meio-dia porque a diferença do meio-dia para a meia-noite é exactamente igual a meio dia.
O número de série 367.5 representa, então, a combinação de data-hora: 12:00 de 1 de Janeiro de 1901.
Assim, porque as datas e horas são números podemos criar fórmulas para trabalhar com as datas e horas.
Para introduzirmos datas não necessitamos, felizmente, de saber os números de série correspondentes. Podemos
introduzir datas nos seguintes formatos:
d-m-yy
d-mmm-yy
yy - corresponde ao ano
h:mm:ss AM/PM
h:mm
h:mm:ss
com: h - corresponde à hora - se não for indicado AM/PM o Excel assume as horas de 1..24
Universidade Católica Portuguesa
Centro Regional das Beiras - Pólo de Viseu 28
O Excel assume logo uma formatação de data, pelo que não visualizamos o número de série correspondente. Para
sabermos qual o número podemos formatar as células com datas para número.
Como as datas são números podemos testar se introduzimos correctamente uma data pelo modo como fica alinhada
na célula: se á direita introduzimos bem, se á esquerda introduzimos de uma forma incorrecta.
Podemos inserir uma série de datas recorrendo ao comando Editar ⇒ Preencher ⇒ Série... (Edit ⇒ Fill ⇒ Series...)
ou ao AutoFill com o rato.
Com as funções de data e hora, podemos analisar e trabalhar com valores de data e hora nas fórmulas.
AGORA() ou NOW devolve o número de série da data e hora actuais. O resultado da função vai-se alterando à
medida que o tempo vai passando, desde que a folha seja calculada.
DIA(núm_série) ou DAY devolve o dia do mês que corresponde a núm_série. O dia é dado como um número inteiro
que varia entre 1 e 31. O núm_série pode ser dado como texto, "15-04-1993" ou "15-05-93", em vez de um número
=DIA("15-Abr-1993") ⇒ 15
MÊS(núm_série) ou MONTH devolve o mês correspondente a núm_série. O mês é fornecido como um número
inteiro, variando entre 1 (Janeiro) e 12 (Dezembro)
=MÊS(367) ⇒ 1
Universidade Católica Portuguesa
Centro Regional das Beiras - Pólo de Viseu 29
ANO(núm_série) ou YEAR devolve o ano correspondente a núm_série. O ano é fornecido como um número inteiro
no intervalo 1900-2078 (?)
DATA(ano; mês; dia) ou DATE devolve o número de série de uma determinada data. Se mês for maior que 12,
então mês somará este número de meses ao primeiro mês do ano especificado ou mesmo acontecendo para dia.
FIMMÊS(data_inicial; meses) ou EOMONTH devolve o número de série da data para o último dia do mês, que é o
número indicado de meses antes ou depois de data_inicial. Meses é o número de meses antes (se for negativo) ou
depois (se for positivo) da data_inicial.
=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("7-12-98";"10-12-98") ⇒ 4
=DIATRABALHOTOTAL("7-12-98";"10-12-98";{"1-12-98";"8-12-98"}) ⇒ 3
HORA(núm_série) ou HOUR devolve a hora correspondente a núm_série. A hora é devolvida como um número
inteiro, que pode variar entre 0 (12:00 A.M.) e 23 (11:00 P.M.). O núm_série pode ser dado como texto, "16:48:00"
ou "4:48:00 PM", em vez de um número.
TEMPO(hora; minutos; segundos) ou TIME devolve o número de série de uma hora particular. O número de série
devolvido é uma fracção decimal que varia de 0 a 0,99999999. Hora é um número de 0 a 23 que representa a horas,
minutos é um número de 0 a 59 que representa os minutos e segundos é um número de 0 a 59 que representa os
segundos. Se minutos for maior que 59, então minutos aumentará o número de horas o mesmo acontecendo aos
minutos quando os segundos forem superiores a 59.
Exemplos:
Calcular o número de horas, minutos e segundos que uma máquina trabalhou num dia.
ALEATÓRIO( ) ou RAND devolve um número aleatório (real) no intervalo [0;1[, distribuído uniformemente. Um
novo número aleatório é devolvido cada vez que a folha de cálculo for calculada.
Para evitar que os números aleatórios gerados se alterem cada vez que a folha é calculada pode, através do copiar,
passar das fórmula para valores (resultado das fórmulas).
CONTAR.SE(intervalo; critérios) ou COUNTIF devolve o número de células do intervalo que não estejam em
branco satisfazendo um determinado critério (critérios)
Exemplos:
Objectivos:
! Funções de texto
Resumo:
Funções de texto:
TEXTO(valor; formato_texto) ou TEXT converte um valor para texto num formato numérico específico. O
formato_texto é um formato em texto do comando Formatar ⇒ Células... ⇒ Número
TEXTO(HOJE();"dd-mmm-aa") ⇒ 18-Nov-98
=NÚM.CARACT("Informática de Empresa") ⇒ 22
=N ÚM.CARACT("")⇒ 0
=NÚM.CARACT(245) ⇒ 3
=NÚM.CARACT(245.7) ⇒ 5
COMPACTAR(texto) ou TRIM remove todos os espaços do texto excepto os espaços únicos entre palavras.
INICIAL.MAIÚSCULA(texto) ou PROPER coloca a primeira letra do texto em maiúscula e todas as outras letras
do texto depois de qualquer carácter diferente de uma letra. Converte todas as outras letras para minúsculas.
Universidade Católica Portuguesa
Centro Regional das Beiras - Pólo de Viseu 34
Exemplos:
Considere que a célula A12 tem o seguinte texto: Inf. empresa A1 sala 1SE1
EXACTO(texto1; texto2) ou EXACT compara duas cadeias de texto e devolve VERDADEIRO se forem
exactamente iguais, caso contrário, devolve FALSO. A função distingue entre letras maiúsculas e minúsculas, mas
ignora as diferenças de formatação.
=EXACTO(22;22) ⇒ VERDADEIRO
=EXACTO("Informática";"informática") ⇒ FALSO
ESQUERDA(texto; núm_caract) ou LEFT devolve núm-caract mais à esquerda numa cadeia de texto. Se
núm_caract for omitido é considerado 1.
DIREITA(texto; núm_caract) ou RIGHT devolve núm-caract mais à direita numa cadeia de texto. Se núm_caract for
omitido é considerado 1.
Exemplos:
=ESQUERDA(A14) ⇒ I
=ESQUERDA(A14;3) ⇒ Inf
=DIREITA(A14;3) ⇒ esa
=SEG.TEXTO(A14;8;7) ⇒ tica de
=DIREITA(1998;2) ⇒ 98
=LOCALIZAR("e";"Informática de Empresa") ⇒ 14
Universidade Católica Portuguesa
Centro Regional das Beiras - Pólo de Viseu 35
=LOCALIZAR("E";"Informática de Empresa") ⇒ 16
=LOCALIZAR("e";"Informática de Empresa";15) ⇒ 20
=LOCALIZAR(1;258111;1) ⇒ 4
=PROCURAR("e?";"Informática de Empresa") ⇒ 14
=PROCURAR("e*";"Informática de Empresa") ⇒ 14
=PROCURAR("e?a";"Informática de Empresa") ⇒ 20
=PROCURAR(11;1258111;1) ⇒ 5
=SUBSTITUIR("A7";1;1;"G") ⇒ G7
=SUBSTITUIR("A7";1;0;"G") ⇒ GA7
REPETIR(texto; núm_vezes) ou REPT repete um texto (texto) um determinado número de vezes (núm_vezes).
Núm_vezes é um número positivo, se for 0 dá texto vazio, se não for um inteiro, será truncado. O resultado da
função não pode ser superior a 255 caracteres.
=REPETIR("Hi!";4) dá Hi!Hi!Hi!Hi!
Universidade Católica Portuguesa
Centro Regional das Beiras - Pólo de Viseu 36
VALOR(texto) ou VALUE converte texto num número. Texto pode estar em qualquer um dos formatos numérico
constante, data ou horas. Normalmente não é preciso utilizar a função VALOR numa fórmula pois o Excel converte
automaticamente texto em números.
Os computadores utilizam números para representar caracteres. A tabela mais utilizada é a ASCII (American
Standard Code for Information Interchange) que recorre a um número entre 1 e 255 para representar cada letra,
número e símbolo.
=CARÁCT(55) ⇒ 7 =CARÁCT(75) ⇒ K
=CARÁCT(107) ⇒ k
CÓDIGO(texto) ou CODE devolve um código numérico para o primeiro carácter de uma série de texto
=CÓDIGO(77) ⇒ 55 =CÓDIGO("K") ⇒ 75
=CÓDIGO(CARÁCT(107)) ⇒ 107
Estas funções permitem localizar valores em listas ou tabelas ou localizar a referência de uma célula.
SELECCIONAR(núm_índice; valor1; valor2; ...) ou CHOOSE devolve um valor de uma lista armazenada como
argumentos da função. Núm_índice especifica qual o argumento de valor seleccionado. Núm_índice tem de ser um
número entre 1 e 29 ou uma fórmula ou referência a uma célula que contenha um número entre 1 e 29. Se
núm_índice for 1, a função devolve valor1, se for 2 devolve valor2 e... Se núm_índice for uma fracção, será
truncada para o menor inteiro. Valor1, valor2,... são 1 a 29 argumentos de valor a partir dos quais a função
selecciona um valor ou uma acção a ser realizada com base no núm_índice. Os argumentos podem ser números,
referências de célula, nomes definidos, fórmulas, funções de macro ou texto.
=SELECCIONAR(2;"Domingo";"Segunda";"Terça";"Quarta";"Quinta";"Sexta","Sábado") Segunda
=SELECCIONAR(DIA.SEMANA(HOJE());"Domingo";"Segunda";"Terça";"Quarta";"Quinta";"Sexta","Sábado")
Quarta
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 (número, texto ou valor lógico) ou uma
referência de célula de um número, texto, ou valor lógico.
Matriz_procurada é um intervalo que contém valores possíveis de procura e pode ser uma matriz ou uma referência
matricial.
Se tipo_correspondência for 1 ou omitido, a função 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_correspondência 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_correspondência 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.
=CORRESP("Joana";A4:A9;0) #N/D
=CORRESP("Joana";A4:A9;-1) #N/D
Localiza um valor específico na primeira coluna esquerda de matriz_tabela e devolve o valor na célula indicada por
núm_índice_coluna.
Valor_procurado é o valor a ser encontrado na primeira coluna da matriz. Valor_procurado pode ser um valor, uma
referência ou uma cadeia de texto.
Matriz_tabela é o intervalo em que os dados são procurados. Se procurar_intervalo for VERDADEIRO, os valores
na primeira coluna de matriz_tabela deverão estar em ordem ascendente: ..., -2, -1, 0, 1, 2, ... , A-Z, FALSO,
VERDADEIRO, se localizar_intervalo for FALSO a matriz_tabela não precisa de estar ordenada.
Universidade Católica Portuguesa
Centro Regional das Beiras - Pólo de Viseu 38
Núm_índice_coluna é o número da coluna em matriz_tabela a partir do qual o valor correspondente deve ser
devolvido. Um núm_índice_coluna de 1 devolve o valor na primeira coluna em matriz_tabela.
Localizar_intervalo é um valor lógico que especifica se quer que a função realize uma procura exacta (FALSO) ou
por intervalos (VERDADEIRO ou omitida), Se uma correspondência exacta não for encontrada é devolvido o valor
maior mais próximo que seja menor que o valor_procurado.
=PROCV("João";A4:E9;5) ⇒ Reprovado
Localiza um valor específico na linha superior de uma matriz e devolve o valor na célula indicada.
Forma vectorial (um vector é uma matriz que contém apenas uma linha ou uma coluna)
=PROC("João";A4:A9;E4:E9) ⇒ Reprovado
PROC(valor_procurado; matriz) procura por intervalos o valor específico na primeira linha ou coluna de uma matriz
(tem que estar ordenada por ordem ascendente), desce ou cruza para a célula 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.
ÍNDICE ou INDEX
ÍNDICE(matriz; núm_linha; núm_coluna) devolve o valor de um elemento numa matriz, seleccionado pelos índices
do número de linha (núm_linha) e coluna (núm_coluna).
=ÍNDICE(A4:E9;3;2) ⇒ 9
Universidade Católica Portuguesa
Centro Regional das Beiras - Pólo de Viseu 39
ÍNDICE(ref; núm_linha; núm_coluna; núm_área) devolve a referência da célula na intersecção da linha (núm_linha)
e coluna (núm_coluna) especificadas. Se núm_linha ou núm_coluna for 0, a função 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
parêntesis (A4:B9;E4:E9) e, núm_área selecciona o intervalo em ref a partir do qual deve ser fornecida a intersecção
de núm_linha com núm_coluna. A primeira área seleccionada ou inserida recebe o número 1, a segunda recebe o
número 2 e assim por diante. Se núm_área for omitido, a função considera a área 1.
=SOMA(ÍNDICE(A4:E9;0;2)) ⇒ =SOMA(B4:B9) ⇒ 80
Exercício:
Considere uma loja de informática que vende Hardware (HW), Software (SW) e Livros (LI).
Pretende-se:
Objectivos:
! Tabelas
! Critérios
Resumo:
Tabelas:
Uma maneira de armazenar dados relacionados (facturas, clientes, ...) numa folha de cálculo é através de uma tabela
(ou lista ou base de dados). Numa base de dados as linhas são registos e as colunas são os campos. A primeira linha
da lista contém rótulos (nomes) para as colunas (campos).
6. Evitar colocar dados essenciais à esquerda ou à direita da Tabela. (Os dados poderão estar ocultos quando
filtrar a Tabela)
Exemplo:
Universidade Católica Portuguesa
Centro Regional das Beiras - Pólo de Viseu 42
As funções de base de dados estão especialmente vocacionadas para analisar dados em listas. Estas funções
devolvem informações sobre elementos de uma lista que satisfazem uma condição específica ou um critério. As
funções de base de dados são conhecidas por funções BD pois o seu nome começa por BD (D para o Excel em
inglês).
Com excepção da função BDOBTER todas as outras funções realizam a mesma operação que a função sem o
prefixo BD, ou seja, a função BDSOMA faz o equivalente à função SUM, só que agora apenas soma as linhas
(registos) que satisfazem um determinado critério.
Campo indica a coluna utilizada na função. Este argumento pode ser dado como o rótulo (nome do campo) da
coluna colocado entre aspas, ou como um número que representa a posição da coluna na lista: 1 para a primeira
coluna, 2 para a segunda coluna, etc., ou como a referência à célula que contém o rótulo.
Critérios é o intervalo de células que contém as condições especificadas. Pode utilizar qualquer intervalo para os
argumentos de critérios, desde que inclua pelo menos um rótulo de coluna (nos critérios comparados) e pelo menos
uma célula abaixo do rótulo da coluna para especificar uma condição para a coluna.
O Excel não faz distinção entre caracteres maiúsculos e caracteres minúsculos ao avaliar os dados.
Exemplo:
A fórmula em C24 vai contar o número de células 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 operação (função) os registos que obedecem
ao critério indicado em B23:B24.
Função BDOBTER:
Devolve um valor único de uma coluna de uma lista que corresponde ao critério indicado.
Universidade Católica Portuguesa
Centro Regional das Beiras - Pólo de Viseu 43
Se nenhum registo satisfizer os critérios, a função devolve o valor de erro #VALOR!, e se houver mais do que um
registo a satisfazer os critérios, a função devolve o valor de erro #NÚM!.
5.3.CONSTRUÇÃO DE CRITÉRIOS
Para localizar linhas numa lista que contenha um valor exacto, escreva o texto, número, data ou valor lógico na
célula existente abaixo do rótulo de critério. Quando utiliza texto como critério o Excel localiza todos os itens
começados por esse texto.
25 Curso
26 OGE
Para que só sejam localizados os itens que contenham apenas o texto especificado (OGE), o critério tem que ter a
fórmula seguinte, ="=OGE"
25 Curso
26 =OGE
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
carácter 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?
25 Curso
26 ?G*
Considera todos os registos cujo o campo Curso começa por um carácter qualquer seguido de um G
Universidade Católica Portuguesa
Centro Regional das Beiras - Pólo de Viseu 44
25 Data Nascimento
26 >=15-06-74
Considera todos os registos cujo o campo Data Nascimento é maior ou igual a 15-06-74.
Os critérios podem incluir múltiplas condições aplicadas numa só coluna ou múltiplos critérios aplicados a múltiplas
colunas.
Conjunção:
B C
25 Curso Média
26 OGE >=14
Considera todos os registos cujo o Curso começa por OGE e Média é maior ou igual a 14.
B C
25 Média Média
26 >=14 <19
Considera todos os registos com Média superior ou igual a 14 mas inferior a 19.
Disjunção:
25 Curso
26 OGE
27 FIN
28 GEI
Considera todos os registos cujo Curso começa por OGE ou por FIN ou por GEI.
Universidade Católica Portuguesa
Centro Regional das Beiras - Pólo de Viseu 45
B C
25 Curso Média
26 OGE
27 >=14
Considera todos os registos cujo Curso começa por OGE ou cuja Média é maior ou igual a 14.
B C
25 Curso Média
26 OGE
27 FIN
28 >=14
Considera todos os registos com Curso começado por OGE, ou Curso começado por FIN ou Média superior ou
igual a 14.
B C
25 Curso Média
26 OGE >=14
27 FIN
Para localizar linhas que correspondam a uma de duas condições numa coluna e a uma de duas condições noutra
coluna, escreva os critérios em linhas separadas. Por exemplo, o intervalo de critérios seguinte apresenta as linhas
que contêm "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.
Pode utilizar um valor calculado que resulte de uma fórmula como critério. Quando utilizar uma fórmula para criar
um critério, não utilize um rótulo de coluna como rótulo de critério. Deixe o rótulo de critério em branco ou utilize
um rótulo que não seja um rótulo de coluna na lista.
25 Superior média
26 =E4>Média(E$4:E$10)
Universidade Católica Portuguesa
Centro Regional das Beiras - Pólo de Viseu 46
Na célula B26 aparecia VERDADEIRO, o que não tem importância nenhuma na avaliação que o Excel faz ou
fazemos:
25 Superior média
26 =Média>Média(E$4:E$10)
Na célula B26 aparecia FALSO, o que não tem importância nenhuma na avaliação que o Excel faz.
Consideram todos os registos cujo campo Média tem um valor superior à média aritmética do campo Média.
Normalmente temos que inserir as funções utilizadas em critérios com referências absolutas. Isto porque o Excel ao
avaliar se um registo satisfaz um critério é como se copiasse o critério para as linhas (registos) em baixo.
A fórmula utilizada para uma condição tem de fazer referência ao rótulo de coluna (por exemplo, Média) ou à
referência ao campo correspondente no primeiro registo (por exemplo E4).
Pode utilizar um rótulo de coluna na fórmula em vez de uma referência relativa de célula ou de um nome de
intervalo.
Quando o Excel apresentar um valor de erro tal como, #NOME? ou #VALOR!, na célula que contém o critério,
poderá ignorá-lo porque não afecta o modo como a lista é analisada.
25 Curso e média
26 =E(D4="OGE";E4>=14)
Considera todos os registos cujo Curso é igual a OGE e Média é maior ou igual a 14.
Universidade Católica Portuguesa
Centro Regional das Beiras - Pólo de Viseu 47
Colocando o cursor de folha dentro da tabela e fazendo Dados ⇒ Filtro ⇒ Filtro Automático, a tabela fica com o
aspecto seguinte:
Esta opção colocou, em cada nome de campo, a possibilidade de abrir uma janela que contém váriasopções de
filtragem da tabela.
Agora, dentro de cada campo, é possível efectuar os seguintes filtros:
Universidade Católica Portuguesa
Centro Regional das Beiras - Pólo de Viseu 48
Este tipo de filtro apenas permite fazer a operação lógica E entre campos. Dentro do mesmo campo podemos,
através da opção Personalizar, fazer E ou Ou utilizando os seguintes operadores de comparação:
Na janela dos operadores de comparação existem ainda as opções: contém e não contém.
Exemplo:
Se pretendessemos filtrar a Tabela para visualizarmos apenas os alunos com trabalho realizado em Banco
obteríamos o seguinte resultado:
Note-se que, quando uma Tabela se encontra filtrada, os números das linhas e a seta do campo através do qual se
filtrou a Tabela encontram-se a azul.
A criação de filtros avançados permite maior flexibilidade nos modos de filtragem e, desde logo, permite dois tipos
de filtragem dos dados de uma Tabela, a saber: limitar o número de registos visíveis e limitar o número de registos
visíveis em função do critério definido.
Universidade Católica Portuguesa
Centro Regional das Beiras - Pólo de Viseu 49
Quando acedemos a esta opção através de Dados ⇒ Filtro ⇒ Filtro Avançado, somos confrontados com os
seguintes elementos:
A opção Filtrar Lista no local (in place) significa que a tabela será ela própria filtrada após a execução do
comando, ou seja, depois de executado o comando, o número de registos visíveis na tabela serão apenas aqueles que
satisfazem o(s) critério(s) definido(s).
A opção Copiar para outro local obrigaria a definir uma zona para a extracção dos registos em Copiar para (que
desta feita ficaria activo). A área de extracção pode ser criada definindo todos ou apenas alguns dos campos da
tabela para os quais será feita a extracção dos registos que “passem” pelo critério definido.
Enquanto as opções anteriores funcionam em alternativa, a opção 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
opções Dados ⇒ Filtro ⇒ Filtro Avançado com a colocação do cursor da folha dentro da Tabela, o Excel
automaticamente selecciona a Tabela de dados.
Na zona reservada ao Intervalo de Critérios devemos colocar a área dentro da qual se situam os critérios com os
quais pretendemos filtrar a Tabela.
Exemplo:
Todos os indivíduos do Sexo F ou Trabalho em Banco teríamos que definir o critério do seguinte modo
A B
13 Sexo Trabalho
14 F
15 Banco
Ou
Todos os indivíduos do Sexo F e Trabalho em Banco teríamos que definir o critério do seguinte modo
A B
16 Sexo Trabalho
17 F Banco
Universidade Católica Portuguesa
Centro Regional das Beiras - Pólo de Viseu 50
Na zona referente ao Intervalo de Critérios teríamos que definir a área ou o nome do critério pretendido, ou seja,
no primeiro caso $A$13:$B$15 e, no segundo caso, $A$16:$B$17.
Objectivos:
Funções financeiras
Funções de engenharia
Resumo:
Funções financeiras:
Na matemática financeira o dinheiro tem um preço. E para ver como assim é basta pensar no seguinte exemplo: É
melhor 1000$ hoje ou 1200$ daqui a um ano?
Existem uma série de conceitos na matemática financeira e que se traduzem nos argumentos das funções financeiras
que importa ter bem presente.
VA(taxa; nper; pgto; vf; tipo) ou PV devolve o valor actual de um investimento onde:
Pgto é o pagamento feito em cada período (capital + juros) e não pode mudar durante a vigência do investimento;
Universidade Católica Portuguesa
Centro Regional das Beiras - Pólo de Viseu 52
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 empréstimo, por exemplo, é 0);
Tipo é o número 0 se o vencimento dos pagamentos for no fim do período ou 1 se for no início do período.
VF(taxa; nper; pgto; vp; tipo) ou FV devolve o valor futuro de um investimento de acordo com os pagamentos
periódicos e constantes e com uma taxa de juros constante onde:
Vp é o valor presente ou a soma total correspondente ao valor presente de uma série de pagamentos futuros. Se vp
for omitido, será considerado 0.
Exemplos:
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 periódico de uma anuidade de acordo com
pagamentos constantes e com uma taxa de juro constante.
PPGTO(taxa; período; nper; va; vf; tipo) ou PPMT devolve o pagamento de capital para determinado período de
investimento, de acordo com pagamentos constantes e periódicos e uma taxa de juro constante.
IPGTO(taxa; período; nper; va; vf; tipo) ou IPMT devolve o pagamento de juros para um determinado período
de investimento, de acordo com pagamentos periódicos e constantes e com uma taxa de juros constante.
TAXA(nper; pgto; va; vf; tipo;estimativa) ou RATE devolve a taxa de juro por período de uma anuidade.
NPER(taxa; pgto; va; vf; tipo) ou NPER devolve o número de períodos para investimento de acordo com
pagamentos constantes e periódicos e uma taxa de juros constante.
Universidade Católica Portuguesa
Centro Regional das Beiras - Pólo de Viseu 53
Exemplo:
VAL(taxa; valor1; valor2; ...) ou NPV devolve o valor líquido actual de um investimento, baseado numa série de
fluxos monetários periódicos e numa taxa de desconto, onde:
Valor1; valor2;... são entre 1 e 29 argumentos que representam os pagamentos e a receitas do investimento. Valor1;
valor2;...têm de ter o mesmo intervalo de tempo entre eles e ocorrer no final de cada período;
A taxa pode representar a taxa de inflação 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 série de fluxos monetários representada
pelos números em valores, onde:
Valores é uma matriz ou uma referência a células que contêm números 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;
Exemplo:
Exemplo:
Uma empresa adquiriu um veículo por 3000 contos com uma vida útil de 4 anos e pratica amortizações pelo método
das quotas constantes.
EFECTIVA(taxa_nominal; núm_por_ano) ou EFFECT devolve a taxa anual de juros efectiva, dada a taxa
nominal de juros anuais e o número de períodos compostos por ano.
NOMINAL(taxa_efectiva; núm_por_ano) ou NOMINAL devolve a taxa de juro nominal anual dada a taxa
efectiva e o número de períodos compostos por ano.
Universidade Católica Portuguesa
Centro Regional das Beiras - Pólo de Viseu 55
Exemplos:
Pretendendo efectuar um depósito a prazo por seis meses (vencendo juros semestralmente) o Sr. Manifesto
consultou dois bancos, tendo-lhe sido fornecidas as seguintes taxas de juro anuais:
As funções de engenharia possibilitam análises de engenharia. A maior parte destas funções pertencem a três tipos:
• Funções para converter valores entre vários sistemas de numeração, tais como decimal, hexadecimal,
octal e sistemas binários;
CONVERTER (núm; de_unidade; para_unidade) converte um número de um sistema de medida para outro,
onde:
Os seguintes prefixos de unidades abreviados podem ser anexados a qualquer valor métrico de_unidade ou
para_unidade.
Exemplos:
Uma das provas mais carismáticas do atletismo é a milha. Calcule quantas voltas à pista é que os atletas têm que dar.
=CONVERTER(15;"in";"cm") ⇒ 38.1
=CONVERTER(14;"in";"cm") ⇒ 35.56
núm é o inteiro decimal que deseja converter. Se núm for negativo, casas será ignorado;
casas é o número de caracteres a serem utilizados. Se casas for omitido, aa função utiliza o número mínimo de
caracteres necessário.
=DECAHEX(1;2) ⇒ 01
=DECAHEX(15) ⇒ F
=HEXADEC("1E") ⇒ 30
Universidade Católica Portuguesa
Centro Regional das Beiras - Pólo de Viseu 58
Objectivos:
! Fórmulas array ou matriz
! Funções: Frequência
! Atingir Objectivo
! Solver
Resumo
7.1. ARRAYS
Uma fórmula de matriz pode efectuar cálculos múltiplos e, em seguida, devolver um resultado único ou múltiplos
resultados. As fórmulas 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 número de linhas e de colunas. As fórmulas
de matriz são criadas do mesmo modo que se criam fórmulas base, de valor único. Seleccione a célula ou as células
que contêm a fórmula, crie a fórmula e, em seguida, prima CTRL+SHIFT+ENTER para introduzir a fórmula.
Ao introduzir uma fórmula de matriz, o Excel insere automaticamente a fórmula entre { }. Se a fórmula de matriz
devolver apenas um resultado, faça clique sobre a célula na qual deseja introduzir a fórmula, se devolver múltiplos
resultados, seleccione o intervalo de células no qual deseja introduzir a fórmula. Depois introduzimos a fórmula e
para terminar CTRL+SHIFT+ENTER.
Para apagar uma fórmula matriz temos que seleccionar o grupo de células onde está a fórmula e carregar na tecla
Delete.
{=MÉDIA(SE(A2:A10="Lisboa";D2:D10))}
A função SE localiza as células que, no intervalo A2:A10, têm "Lisboa" e, em seguida, devolve o valor da célula
correspondente do intervalo D2:D10 para a função MÉDIA.
Universidade Católica Portuguesa
Centro Regional das Beiras - Pólo de Viseu 59
Em vez de inserir a fórmula =D20*2 na célula E20 e depois copiar para as duas células imediatamente abaixo,
podemos seleccionar as células onde queremos a fórmula (E20:E22) e depois inserir a fórmula matriz =D20:D22*2
e terminar com CTRL+SHIFT+ENTER.
Função FREQUÊNCIA
Matriz_dados é uma matriz ou uma referência a um conjunto de valores cujas frequências deseja contar. Se
matriz_dados não contiver valores, a função produz uma matriz de zeros.
Matriz_bin é uma matriz ou referência a intervalos nos quais deseja agrupar os valores contidos em matriz_dados.
Se matriz_bin não contiver valores, FREQUÊNCIA fornecerá o número de elementos em matriz_dados.
A função tem que ser introduzida como uma fórmula de matriz depois de seleccionado um intervalo de células
adjacentes (número de elementos em matriz_bin mais um) em que se deseja que a distribuição fornecida apareça. A
função ignora células em branco e texto.
Exemplos:
Universidade Católica Portuguesa
Centro Regional das Beiras - Pólo de Viseu 60
Estas funções procuram encontrar a equação da recta que melhor representa os nossos dados, permitindo assim
encontrar (prever) dados ainda não disponíveis.
Novos_valores_x são novos valores de x para os quais deseja que TENDÊNCIA forneça valores de y
correspondentes. Novos_valores_x deve incluir uma coluna (ou linha) para cada variável independente, da mesma
forma que val_conhecidos_x. Portanto, se val_conhecidos_y estiver numa única coluna, val_conhecidos_x e
novos_valores_x têm de ter o mesmo número de colunas. Se val_conhecidos_y estiver numa única coluna,
val_conhecidos_x e novos_valores_x devem ter o mesmo número de linhas. Se omitir novos_valores_x, será
considerado igual a val_conhecidos_x. Se omitir val_conhecidos_x e novos_valores_x, serão considerados como a
matriz {1.2.3....} que é do mesmo tamanho que val_conhecidos_y.
Constante é um valor lógico que força ou não 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 serão
ajustados de forma que y = mx.
A função previsão é semelhante à função tendência com a diferença que serve para calcular um só valor, embora se
possa usar também esta função como fórmula matriz. Neste caso produz o mesmo resultado que a função tendência.
Exemplos:
Uma tabela de dados consiste num intervalo de dados que permite mostrar como é que determinadas alterações em
certos valores irão afectar o resultado das fórmulas. As tabelas de dados permitem calcular rapidamente várias
versões numa só operação e, visualizar e comparar os resultados de todas as variantes calculadas na mesma folha de
cálculo, ou seja, pretende analisar o impacte de uma ou mais variáveis nas fórmulas que recorrem a essas variáveis.
Para apagar uma tabela de dados temos que seleccionar toda a tabela de dados, incluindo todas as fórmulas, valores
de entrada, valores resultantes, formatos e comentários e depois Editar ⇒ Limpar ⇒ Tudo.
Se os dados tiverem em linha utiliza-se o primeiro argumento, se tiverem em coluna utiliza-se o segundo.
Analisa o impacte de uma variável em uma ou mais fórmulas que recorrem a essa variável.
Pretende-se conhecer qual o efeito no número de vendedores e de carros que uma empresa de gelados necessita
perante um aumento do número 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.
Universidade Católica Portuguesa
Centro Regional das Beiras - Pólo de Viseu 62
Analisa o impacte das duas variáveis numa só fórmula que recorre a essas variáveis.
Pretende-se calcular o valor do juros (em regime de juro composto) para várias taxas de juro e para vários anos.
O comando Atingir objectivo é utilizado quando sabemos antecipadamente qual o resultado desejado para uma dada
fórmula, mas não sabemos qual é o valor de que a fórmula necessita para atingir esse resultado, ou seja resolve
equações de uma incógnita.
Por defeito o comando Atingir objectivo pára ao fim de 100 tentativas (100 iterações) ou quando encontra um valor
a uma distância de 0.001 do valor a atingir. Estes valores defeito podem ser alterados no menu Ferramentas ⇒
Opções ⇒ Cálculo e depois Nº máximo de iterações e Alteração máxima.
Universidade Católica Portuguesa
Centro Regional das Beiras - Pólo de Viseu 63
Exemplo:
Pretende-se saber, em regime de juro composto, ao fim de quantos anos é que um dado capital, aplicado a uma dada
taxa anual, com capitalizações anuais, duplica.
7.5. SOLVER
O comando Solver é utilizado para maximizar ou minimizar o valor de uma célula que está dependente da variação
dos valores em várias outras células, dentro de restrições previamente definidas. Quando utilizar o Solver, as células
com que estiver a trabalhar terão que estar relacionadas através de fórmulas na folha de cálculo.
Exemplo:
Imagine que pretende comprar 100 animais com 100 escudos. Os preços unitários dos diferentes animais são aqueles
que se apresentam, de seguida:
Preço Unit.
Ovelhas 10$00
Patos 2$00
Galinhas 0$50
Universidade Católica Portuguesa
Centro Regional das Beiras - Pólo 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 preço unitário e calculando os respectivos totais (em quantidade e dinheiro).
C D E F
3 Preço Unit. Quantidade Total
4 Ovelhas 10$00 1 10$00
5 Patos 2$00 1 2$00
6 Galinhas 0$50 1 0$50
7 Total 3 12$50
Os valores da coluna F resultam todos de fórmulas bem como os Totais. Daqui resulta que em F4 se encontra a
fórmula =D4*E4 e que em E7 se encontra a fórmula =Soma(E4:C6).
Se o solver não se encontrar disponível em Ferramentas ⇒ Solver então deve fazer Ferramentas ⇒ Suplementos e
seleccionar Suplemento Solver.
Uma última restrição que não se encontra visível refere-se a F7 que também tem que ser igual a 100.
C D E F
3 Preço Unit. Quantidade Total
4 Ovelhas 10$00 1 10$00
5 Patos 2$00 27 54$00
6 Galinhas 0$50 72 36$00
7 Total 100 100$00
Uma das possibilidades do exemplo anterior seria arrecadar a solução do problema como um cenário. Todavia, uma
vez que o problema poderia admitir vários tipos de solução, cada uma delas, poderia constituir um cenário diferente.
Para tal bastaria optar pelo botão Guardar Cenário.
Assim sendo, verificamos que a constituição de cenários pode emergir da utilização do Solver, do Goal Seek ou,
podemos criar cenários directamente através da formulação de um problema, de forma conveniente, na folha de
cálculo. Observemos o seguinte exemplo:
A avaliação final de um conjunto de alunos depende das classificações obtidas em três provas e tem uma quarta
componente correspondente a avaliação contínua (assiduidade, interesse manifestado, etc). Admitindo que a
ponderação de cada uma das quatro componentes da avaliação era igual, a nota final de cada aluno resultaria da
média aritmética simples das notas obtidas às diferentes componentes. Todavia, se alterarmos as ponderações 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 classificação às componentes de avaliação com maior ponderação. Assim,
pretendemos constituir cenários alternativos que conduzirão a resultados finais diferentes em função da ponderação
atribuída a cada um dos quatro momentos de avaliação.
A constituição de cenários passa pela utilização das opções: Ferramentas ⇒ Cenários que nos conduz à seguinte
janela de diálogo:
Nesta janela, para começarmos a adicionar cenários, devemos pressionar o botão Adicionar que nos conduz a:
Universidade Católica Portuguesa
Centro Regional das Beiras - Pólo de Viseu 67
Neste quadro devemos definir o nome do cenário inicial (p. ex. Igual Ponderação) e especificar as células variáveis,
ou seja, neste exemplo as células que contêm as ponderações das provas $G$4:$G$7.
Quando pressionamos OK surge-nos a possibilidade de especificarmos os valores para cada uma das células
variáveis através do quadro seguinte:
Se pretendermos adicionar mais cenários, após a introdução de todos os valores para as células variáveis do cenário
actual devemos pressionar Adicionar que nos conduz à definição de um novo cenário e assim por diante. Por último
terminamos a definição de cenários com Ok que nos conduz a:
Agora podemos seleccionar qualquer um dos 5 cenários constituídos para vermos o seu resultado, alterar os valores
das variáveis independentes (ponderações) ou eliminar esse cenário.
Universidade Católica Portuguesa
Centro Regional das Beiras - Pólo de Viseu 68
Objectivos:
! Resumir dados utilizando Tabelas dinâmicas
Resumo:
As tabelas dinâmicas são um instrumento que serve para resumir dados de uma Tabela ou Base de Dados
dando-lhes a orientação mais adequada em função dos objectivos pretendidos. Trata-se, em rigor, duma
forma verdadeiramente objectiva de transformar dados em informação.
Ao acedermos a esta opção surge um auxiliar de criação (Wizard) como aquele que se apresenta, de
seguida:
Optando por criar uma Tabela Dinâmica partindo dos dados constantes na nossa Tabela em Excel
faríamos Seguinte.
Universidade Católica Portuguesa
Centro Regional das Beiras - Pólo de Viseu 70
Por último, o Excel pergunta-nos se pretendemos embutir a Tabela Dinâmica na Folha actual ou se
queremos criar uma nova folha. O diálogo é o seguinte:
Se optarmos por embutir na mesma folha, apenas temos que definir o endereço do canto superior
esquerdo da Tabela Dinâmica.
Universidade Católica Portuguesa
Centro Regional das Beiras - Pólo de Viseu 71
Nesta fase, podemos optar por concluir e, nesse caso, somos confrontados com o seguinte quadro e barra
de construção de Tabela Dinâmica:
Ou podemos optar por definir o esquema da Tabela Dinâmica antes de terminar e, neste caso,
pressionando o botão Esquema surge-nos o seguinte diálogo:
Universidade Católica Portuguesa
Centro Regional das Beiras - Pólo de Viseu 72
Através deste quadro podemos definir a nossa Tabela Dinâmica em função das necessidades de
informação subjacentes à mesma.
Para procedermos à alteração de uma Tabela Dinâmica basta-nos aceder à Tabela Dinâmica
seleccionando-a e de seguida, actuar sobre as opções da barra de ferramentas correspondente.
Caso esta barra não se encontre imediatamente visível é sempre possível evocá-la através das
opções Ver ⇒ Barras de Ferramentas ⇒ Tabelas Dinâmicas.
Universidade Católica Portuguesa
Centro Regional das Beiras - Pólo de Viseu 73
8. VBA
9.1. O QUE É UMA FUNÇÃO
Funções são rotinas que têm como objectivo executar um conjunto de instruções e produzir um
valor final. São definidas por:
• parâmetros - valores enviados entre parêntesis e que constituem o input ( a matéria–prima) da função, i.e., é
sobre eles que serão executados os respectivos cálculos. Existem funções que não necessitam de
parâmetros – Rand(), Today(), Pi()),
Recorde-se como exemplo a função SUM , esta recebe por parâmetro um conjunto de valores
que se pretendem somar, sabe-se que o resultado da aplicação dessa função ao conjunto de
valores será o respectivo somatório.
O Excel dispõe de um conjunto variado de funções (de estatística, de data e hora, de matemática
e trigonometria, de finanças, de pesquisa e referência, de bases de dados, de texto, de lógica, e de
informação) pré-programadas que se podem utilizar nas células da worksheet para executar os
mais diversos cálculos.
Contudo, existem funções que o Excel não contempla e que por vezes os utilizadores gostariam
de aplicar para a realização dos seus cálculos usuais. Neste contexto, está previsto o
desenvolvimento de funções personalizadas recorrendo a uma codificação das mesmas numa
linguagem que o computador possa entender e executar - Visual Basic for Applications (VBA).
3. Traduza o seu algoritmo em VBA. Para escrever uma função em VBA deve obedecer à seguinte sintaxe:
Universidade Católica Portuguesa
Centro Regional das Beiras - Pólo de Viseu 74
End Function
Aplicações Práticas
3. Em VBA:
Problema: Fazer uma função que gere valores aleatórios num intervalo real definido por dois
limites
3. Em VBA:
A função tem de ser definida (escrita) em linguagem VBA num sitio apropriado -Editor de
Visual Basic for Applications. Para aceder ao editor escolha a seguinte sequência de opções do
menu: Tools / Macro / Visual Basic Editor
Project Explorer
Se a janela não estiver visível active-a através do View / Project Explorer ou utilizando o botão ou
combinações de letras associadas a esta tarefa.
Nesta janela poderá visualizar a hierarquia dos projectos de Visual Basic for Applications activos
nesse momento.
Universidade Católica Portuguesa
Centro Regional das Beiras - Pólo de Viseu 76
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 necessário.
Certifique-se, antes de começar a criar a função, que o está a fazer dentro dos modules, caso
contrário elas não funcionarão como pretende.
Aplicação Prática
Nesta caixa de diálogo deverá indicar o tipo de rotina a criar – Function e o nome que
pretende dar à função. Automaticamente o Visual Basic for Applications criará a
estrutura da rotina, que neste caso ficaria:
Function IVA( )
End Function
Depois bastará escrever a expressão que produzirá o valor final, entre estas duas linhas de
código, como mostra a figura seguinte
Uma vez que uma função produz um valor ela poderá ser executada dentro de uma célula numa
WorkSheet, à semelhança de qualquer uma outra função do Excel
2. Insert / Function
3. Seleccione a categoria User Defined – repare que aparece listada a função que acabou de criar IVA
4. Clique em OK e de imediato uma janela de ajuda virá auxiliar a utilização da sua função
Universidade Católica Portuguesa
Centro Regional das Beiras - Pólo de Viseu 78
Em suma:
Qualquer função poderá ser utilizada numa WorkSheet do Excel, sendo a sua utilização
semelhante a qualquer outra função: numa célula
As variáveis constituem repositórios temporários de valores, podendo ser utilizadas para diversos
fins.Quando se pretende atribuir valores a variáveis dever-se-á indicar o nome da variável, o
operador "=" e o valor que se pretende que a variável armazene.
<Nome_Variável> = <Valor>
O nome da variável representa o conteúdo da mesma, i.e., sempre que mencionar o nome da
variável é o seu conteúdo que será considerado.
O tipo de variável está associado ao género de informação que esta tem hipótese de armazenar:
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
Long – 4 bytes – permite armazenar números inteiros entre -2 147 483 648 e 2 147 483 648
As variáveis que utilizar dentro de uma função deverão por norma ser declaradas i.e. definidas,
sempre que uma variável for utilizada sem ser definida o VBA considera-a do tipo Variant. A
definição é feita da seguinte forma:
Onde:
Dim – Palavra chave que indica uma declaração de variáveis (abreviatura de dimensão)
O VBA disponibiliza algumas estruturas que pode utilizar para controlar o decurso da execução
da rotina. Estas estruturas dão ao programador um poder enorme para construir funções bastante
complexas e flexíveis.
For – Each – Next Realiza uma determinada tarefa repetitiva em cada objecto de
uma colecção ou em cada item de um array.
9.8.1. If-Then-Else
1. Avalia a condição, que deverá ser uma expressão booleana colocada como
primeiro parâmetro;
2. Se a condição for verdadeira, então (then) realiza as operações colocadas no segundo parâmetro;
Assim:
If <Condição> Then
[ Else
End If
A palavra Else é opcional sendo que no caso de ser omitida, a avaliação negativa da condição
implica uma saída automática da Instrução If.
Aplicação Prática
1. Elementos de análise
1. Nome: É_Par
2. Parâmetros: número que vai ser avaliado
2. Passos a executar:
1. Se for igual a zero, então o número é par e a função assume o valor True
2. Senão, o valor é impar e a função assume o valor False
3. Em VBA:
Universidade Católica Portuguesa
Centro Regional das Beiras - Pólo de Viseu 82
Interpretação
Dim resto As Double Declaração da variável resto, onde é guardado o resto da divisão do número por dois
Resto = Numero Mod 2 Mod é uma função que calcula o resto da divisão do Numero por 2 (neste caso). O
valor calculado é atribuído à variável resto.
Resto = 0 A condição a testar. Serve para determinar a sequência a dar à execução da rotina. Da
avaliação desta condição pode-se obter um de dois valores True ou False, sendo que
depende deste resultado o caminho a prosseguir. Se for True executará as instruções
que seguirem a palavra-chave Then até encontrar a palavra chave Else, não
executando mais nada dentro do IF, caso contrário executará o código que se seguir à
palavra chave Else até ao End If.
Then Palavra chave que determina o fim da condição teste. Todas as instruções que têm
inicio nesta palavra-chave até à palavra-chave Else serão executadas se a condição for
verdadeira.
End If Palavra-chave que indica o fim do controlo de If-Then-Else e como tal onde se deve
retomar as instruções para prosseguir a execução do procedimento.
Aplicação Prática
1. Elementos de análise
1. Nome: Resto_Divisão
2. Parâmetros: Dividendo e Divisor
2. Passos a executar:
3. Em VBA:
Esta instrução propõe uma condição alternativa se o teste da condição anterior tiver tido
um resultado negativo.
Aplicação Prática
Mais de 65 Idoso
3. Elementos de análise
1. Nome: Classe_Etária
2. Parâmetros: Idade
4. Passos a executar:
1. Avaliar a idade
Universidade Católica Portuguesa
Centro Regional das Beiras - Pólo de Viseu 84
6. Senão é "Idoso"
7. Em VBA:
Este tipo de codificação pode tornar-se confuso e difícil de controlar, como tal o VBA
proporciona uma estrutura mais simples para este tipo de situações: Select Case.
End Select
Universidade Católica Portuguesa
Centro Regional das Beiras - Pólo de Viseu 85
Aplicação Prática
Construção da Estrutura
Idade Expressão sujeita a teste, i.e., variável cujo conteúdo está a ser avaliado. Esta variável vai ser
comparada sucessivamente pelos valores alternativos apresentados nas instruções Case <Valor>,
se encontrar o valor nalguma dessas opções Case executará as linhas de código que aí terão inicio
até à opção de Case seguinte. Caso o valor da variável a ser comparada não corresponda a
nenhum valor apresentado nas opções Case, existe uma opção Case especial - Case Select - para
os restantes valores, neste caso serão executadas todas as instruções que se localizem entre o
Case Else e o Case Select.
Case Is<3 ou Expressões Case. Se o valor da variável for igual a qualquer um dos valores apresentados em
cada uma destas expressões, o fluxo de execução terá continuidade na linha abaixo da expressão
Case Is<13 ou
case que faz o matching, até que uma nova expressão case seja encontrada. Sendo que nessa
Case Is<20 ou
altura termina o controlo Select Case dando continuidade ao programa nas instruções que se
Case Is<26 ou seguirem ao End Select.
Case Is<66
Case Else Será a instrução Case residual, seleccionada somente se nenhuma das outras o tiver sido. Neste
caso serão realizadas todas as instruções de código que se lhe seguirem até à expressão End
Select. Findo o qual seguirá todas as instruções após o controlo Select case.
Next
Aplicação Prática
Problema: Pretende-se criar uma função que recebendo a base e a potência calcule o valor
respectivo.
1. Elementos de análise
1. Nome: Calc_Potência
2. Parâmetros: Base, Potência
2. Passos a executar:
2. Em VBA:
Universidade Católica Portuguesa
Centro Regional das Beiras - Pólo de Viseu 87
Variável Função
i Conta o número de vezes que a base já foi multiplicada, é uma variável que será automaticamente
incrementada em cada looping do ciclo.
acumulado Variável que armazena o resultado sucessivo por cada vez que se multiplica. Inicializado a 1 (elemento
neutro da multiplicação) antes do ciclo.
Construção do Ciclo:
i = 1 To Potência Expressão que contém a inicialização do contador, indicando o valor de inicio e de fim.
Assim, o número de vezes que o ciclo é executado será: Valor_Fim – Valor_Inicio +1.
acumulado = acumulado Instrução a realizar de cada vez que o ciclo for executado. Neste caso a instrução é única,
* Base contudo poder-se-ão adicionar outras instruções.
Next Palavra Chave que indica o fim de um ciclo For-Next . Sempre que a execução do ciclo
chega à instrução Next incrementa a variável contador e volta ao inicio do ciclo.
Tradução Integral:
Next
Para o número de vezes, a iniciar em 1 até que atinja, o valor Potência, pela incrementação de 1
na execução de cada ciclo, deverá multiplicar sucessivamente o resultado acumulado, pela base.
Universidade Católica Portuguesa
Centro Regional das Beiras - Pólo de Viseu 88
Funcionamento do Ciclo:
A primeira execução do ciclo distingue-se das restantes por a ela estar associada a inicialização do
contador, sendo o restante procedimento semelhante a qualquer outra execução.
No inicio de cada execução do ciclo, a variável contador é comparada com o valor final de
execução. 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 número de vezes pretendido, e então o código
acabará a execução da instrução For-Next e seguirá na linha de código que esteja situada
imediatamente a seguir, caso contrário executa uma vez mais o ciclo e incrementa a variável
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 número de vezes pretendido, e então
o código acabará a execução da instrução For-Next e seguirá na linha de código que esteja
situada imediatamente a seguir, caso contrário executa uma vez mais o ciclo e decrementa a
variável contador.
• Não definir o limite de execução (não atribuir valor à variável que o define)
• Definir erroneamente o Step, por forma a que nunca seja obtido o valor que determina o fim da execução
• estas condições implicarão que o ciclo não tenha fim – Ciclos Infinitos
Aplicação Prática
1. Elementos de análise
1. Nome: Factorial
2. Parâmetros: Número
2. Passos a executar:
4. Em VBA:
While <Condição>
Wend
Aplicações Práticas
(Neste caso o ciclo sabe apriori o número de vezes que irá ser realizado)
1. Elementos de análise
1. Nome: Factor
2. Parâmetros: Número
2. Passos a executar:
Universidade Católica Portuguesa
Centro Regional das Beiras - Pólo de Viseu 90
4. Em VBA:
(Neste caso o ciclo não sabe o número de vezes que irá ser realizado)
1. Elementos de análise
1. Nome: Aposta_1a10
2. Parâmetros: Número
2. Passos a executar:
4. Em VBA:
A instrução While-Wend tem como função gerar números aleatórios entre 1 e 10 por forma a
encontrar o número da aposta, e saber qual o número de lançamentos necessários para que aquele
valor fosse obtido.
Variável Função
i Número de lançamentos realizados até obter o resultado da aposta. Este valor tem de ser incrementado
cada vez que é realizado um sorteio.
Construção do Ciclo
Lançamento = Int(1 + Rnd() * (10 - 1 + 1)) Instrução a realizar de cada vez que o ciclo é executado. Tem como
Universidade Católica Portuguesa
Centro Regional das Beiras - Pólo de Viseu 92
i=i+1 Instrução a realizar de cada vez que o ciclo é executado. Tem como
função fazer a contagem de quantos lançamentos 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.
Tradução Integral
i=i+1
Wend
Enquanto o número do lançamento não for igual ao número da aposta, o sorteio continua, o que
implica sortear um número e contabilizar o número de sorteios realizados.
Funcionamento do Ciclo
Existe uma fase de inicialização das variáveis envolvidas na condição – teste para garantir o
correcto funcionamento do ciclo.
Avalia a condição teste e se for verdadeira executa todas as instruções até à palavra-chave Wend
voltando de novo à avaliação da condição, se for falsa prossegue a execução da rotina nas
instruções que se localizam depois da palavra-chave Wend.
• Garantir que as variáveis envolvidas na condição teste poderão ter valores diferentes por cada vez que o
ciclo seja executado.
• Garantir que em algum momento a condição teste é falsa e o ciclo termina a sua execução.
• A não verificação destas condições implicará que o ciclo não tenha fim – Ciclos Infinitos
9.8.5. Do – Loop
Esta estrutura é similar à estrutura do While-Wend. Contudo fornece duas possibilidades que
estão limitadas àquela estrutura:
• Do Loop permite posicionar a condição teste no inicio ou fim do loop, a condição no fim do
Loop evita uma inicialização prévia do valor das variáveis envolvidas na condição teste,
dado que essa inicialização pode ser feita no decurso do ciclo com valores reais.
• Do Loop permite ainda especificar se o loop se vai realizar enquanto (while) uma
expressão for verdadeira ou até que (until) a condição ser verdadeira (facilidade
conseguida através do operador Not)
Universidade Católica Portuguesa
Centro Regional das Beiras - Pólo de Viseu 94
Poderá ser:
Loop
Ou então:
Do
Aplicações Práticas
Problema: Apostar um número num intervalo definido e saber ao fim de quantos lançamentos
(gerações aleatórias dentro do intervalo considerado) é que foi seleccionado.
1. Elementos de análise
1. Nome: Aposta
2. Parâmetros: Número, Limite Inferior e Limite Superior
3. Output: Número de lançamentos necessário realizar para que o número apostado fosse
seleccionado no intervalo de números definido pelo Limite Inferior e Superior
2. Passos a executar:
3. Em VBA:
Aplicações Práticas