manual excel

96
Manual de Excel Por: Paulo Castro Ribeiro Viseu, 2000

Upload: memorialdavida

Post on 25-Jul-2015

346 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: Manual Excel

Manual de Excel

Por: Paulo Castro Ribeiro

Viseu, 2000

Page 2: Manual Excel

Índice 1. FORMATAÇÃO, FÓRMULAS, NOMES, REFERÊNCIAS RELATIVAS E ABSOLUTAS ---------------4

1.1. MODOS DE TRABALHO / INSERÇÃO DE DADOS: -----------------------------------------------------------------------------6 1.1.1. Modo Pronto -----------------------------------------------------------------------------------------------------------6 1.1.2. Modo Edição -----------------------------------------------------------------------------------------------------------7

1.2. COMPONENTES DA BARRA DE EDIÇÃO ---------------------------------------------------------------------------------------7 1.3. FÓRMULAS (OPERADORES E OPERANDOS) -----------------------------------------------------------------------------------9 1.4. MODELO DE CÁLCULO SIMPLIFICADO -------------------------------------------------------------------------------------- 10 1.5. REFERÊNCIAS RELATIVAS, ABSOLUTAS E MISTAS------------------------------------------------------------------------- 12 1.6. NOMES DE CÉLULAS ----------------------------------------------------------------------------------------------------------- 14

2. FUNÇÕES: UTILIZAÇÃO / CRIAÇÃO DE FUNÇÕES. TIPOS DE ERROS ------------------------------- 16

2.1. FUNÇÕES MATEMÁTICAS: ---------------------------------------------------------------------------------------------------- 16 2.2. FUNÇÕES LOGARÍTMICAS----------------------------------------------------------------------------------------------------- 18 2.3. FUNÇÕES TRIGONOMÉTRICAS------------------------------------------------------------------------------------------------ 19 2.4. FUNÇÕES PARA MATRIZES ---------------------------------------------------------------------------------------------------- 19 2.5. FUNÇÕES ESTATÍSTICAS ------------------------------------------------------------------------------------------------------ 19 2.6. FUNÇÕES LÓGICAS E DE INFORMAÇÃO ------------------------------------------------------------------------------------- 20

2.6.1 Funções lógicas:------------------------------------------------------------------------------------------------------ 20 2.6.2. Função SE ou IF----------------------------------------------------------------------------------------------------- 20 2.6.3. Funções E, OU e NÃO ---------------------------------------------------------------------------------------------- 21 2.6.4. Funções VERDADEIRO e FALSO -------------------------------------------------------------------------------- 22

2.7. FUNÇÕES PERSONALIZADAS ------------------------------------------------------------------------------------------------- 23 2.8. FUNÇÕES DE INFORMAÇÃO: -------------------------------------------------------------------------------------------------- 24 2.9. TIPOS DE ERROS: --------------------------------------------------------------------------------------------------------------- 26

3. DATAS E HORAS, NÚMEROS ALEATÓRIOS (RAND), SUMIF, COUNTIF------------------------------ 27

3.1. INTRODUÇÃO DE UMA SÉRIE DE DATAS------------------------------------------------------------------------------------- 28 3.2. FUNÇÕES DE DATA E HORA --------------------------------------------------------------------------------------------------- 28 3.3. FUNÇÕES MATEMÁTICAS / ALEATÓRIO E ALEATÓRIOENTRE ----------------------------------------------------------- 31 3.4. FUNÇÃO MATEMÁTICA SOMA.SE: ------------------------------------------------------------------------------------------- 31 3.5. FUNÇÃO ESTATÍSTICA CONTAR.SE: ----------------------------------------------------------------------------------------- 31

4. FUNÇÕES DE TEXTO: LOWER, UPPER, LEFT, RIGHT, FIND, SUBST E FUNÇÕES DE

CONSULTA EM TABELAS: VLOOKUP, HLOOKUP ---------------------------------------------------------- 33

4.1. FUNÇÕES DE TEXTO ----------------------------------------------------------------------------------------------------------- 33 4.2. FUNÇÕES DE CONSULTA E REFERÊNCIA ------------------------------------------------------------------------------------ 36

5. FUNÇÕES DE BASE DE DADOS: DGET, DCOUNTA, DSUM, ... CRITÉRIOS --------------------------- 41

5.1. CUIDADOS A TER AO CRIAR TABELAS -------------------------------------------------------------------------------------- 41 5.2. FUNÇÕES DE BASE DE DADOS ------------------------------------------------------------------------------------------------ 42 5.3.CONSTRUÇÃO DE CRITÉRIOS-------------------------------------------------------------------------------------------------- 43

5.3.1. Critérios comparados simples ------------------------------------------------------------------------------------- 43 5.3.2 Critérios compostos -------------------------------------------------------------------------------------------------- 44 5.3.3 Critérios calculados-------------------------------------------------------------------------------------------------- 45

5.4. FILTROS AUTOMÁTICOS E FILTROS AVANÇADOS--------------------------------------------------------------------- 47 5.4.1. Filtros Automáticos-------------------------------------------------------------------------------------------------- 47 5.4.2. Filtros Avançados --------------------------------------------------------------------------------------------------- 48

Page 3: Manual Excel

6. FUNÇÕES FINANCEIRAS E DE ENGENHARIA ---------------------------------------------------------------- 51

6.1. FUNÇÕES FINANCEIRAS------------------------------------------------------------------------------------------------------- 51 6.2. FUNÇÕES DE ENGENHARIA --------------------------------------------------------------------------------------------------- 55

7. ARRAYS / ANÁLISE DE TENDÊNCIA, CRESCIMENTO E PREVISÃO, TABELAS, “GOALSEEK”

E “SOLVER”, CONSTRUÇÃO DE CENÁRIOS ------------------------------------------------------------------ 58

7.1. ARRAYS ------------------------------------------------------------------------------------------------------------------------- 58 7.1.1. Fórmulas matriz (array) -------------------------------------------------------------------------------------------- 58 7.1.2. Fórmula combinação------------------------------------------------------------------------------------------------ 58 7.1.3. Fórmula cópia-------------------------------------------------------------------------------------------------------- 59

7.2. FUNÇÕES TENDÊNCIA, CRESCIMENTO E PREVISÃO------------------------------------------------------------- 60 7.3. TABELA DE DADOS OU DATA TABLE --------------------------------------------------------------------------------------- 61

7.3.1. Tabela de dados baseada numa variável ------------------------------------------------------------------------- 61 7.3.2. Tabela de dados baseada em duas variáveis--------------------------------------------------------------------- 62

7.4. ATINGIR OBJECTIVO OU GOAL SEEK --------------------------------------------------------------------------------------- 62 7.5. SOLVER-------------------------------------------------------------------------------------------------------------------------- 63 7.6. CONSTRUÇÃO DE CENÁRIOS ------------------------------------------------------------------------------------------------- 65

8. RELATÓRIOS DE TABELAS E GRÁFICOS DINÂMICOS---------------------------------------------------- 69

8.1. CRIAÇÃO DE TABELAS / GRÁFICOS DINÂMICOS -------------------------------------------------------------------------- 69 8.2. ALTERAÇÃO DE UMA TABELA / GRÁFICO DINÂMICO -------------------------------------------------------------------- 72

9. VBA -------------------------------------------------------------------------------------------------------------------------- 73

9.1. O QUE É UMA FUNÇÃO -------------------------------------------------------------------------------------------------------- 73 9.2. FUNÇÕES DO EXCEL----------------------------------------------------------------------------------------------------------- 73 9.3. COMO CRIAR FUNÇÕES ------------------------------------------------------------------------------------------------------- 73 9.4. ONDE DEFINIR A FUNÇÃO ---------------------------------------------------------------------------------------------------- 75 9.5. TRABALHAR NO EDITOR DE VBA – CRIAR UMA FUNÇÃO--------------------------------------------------------------- 76 9.6. EXECUÇÃO DE UMA FUNÇÃO DENTRO DE UMA CÉLULA ----------------------------------------------------------------- 77 9.7. UTILIZAÇÃO DE VARIÁVEIS -------------------------------------------------------------------------------------------------- 78

9.7.1. Tipos de variáveis --------------------------------------------------------------------------------------------------- 78 9.7.2. Declaração de Variáveis-------------------------------------------------------------------------------------------- 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

Page 4: Manual Excel

Universidade Católica Portuguesa Centro Regional das Beiras - Pólo de Viseu

4

1. FORMATAÇÃO, FÓRMULAS, NOMES, REFERÊNCIAS RELATIVAS E ABSOLUTAS

Objectivos:

! Conceito de folha de cálculo

! Inserção de dados (tipos)

! Formatação simples

! Fórmulas - operações aritméticas

! Modelo de cálculo simplificado

! Referências relativas, absolutas e mistas

! 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:

a) barra de título - é o espaço onde é exibido o título da janela;

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;

d) barra de edição - é o espaço onde se escrevem as fórmulas ou os dados;

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

f) barra de informação - apresenta informação e controlos relativos ao ficheiro da folha activa.

g) célula - quadro onde os dados são digitados. É delimitada pela intersecção de uma linha com uma coluna;

h) linhas - são secções horizontais ao longo da folha estendida, marcadas de 1 a 65536;

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;

Page 5: Manual Excel

Universidade Católica Portuguesa Centro Regional das Beiras - Pólo de Viseu

5

Layout do Excel

Livro (workbook) - é um conjunto de documentos:

• 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;

• macros do Excel – Conjunto de comandos “empacotados” dentro da entidade Macro.

Page 6: Manual Excel

Universidade Católica Portuguesa Centro Regional das Beiras - Pólo de Viseu

6

1.1. MODOS DE TRABALHO / INSERÇÃO 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 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:

! Selecção Simples de células

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

! Selecção de Coluna(s) / Linha(s)

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.

! Selecção de toda a folha

o Fazer click com o rato no quadrado de intersecção entre os cabeçalhos de coluna e linha.

Page 7: Manual Excel

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.

1.1.2. Modo Edição

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.

1.2. COMPONENTES DA BARRA DE EDIÇÃO Em Modo Pronto

! 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)

! Editar Fórmula (Chama Wizard da fórmula em edição)

! Fórmula subjacente ao valor apresentado na célula onde se encontra o cursor

Page 8: Manual Excel

Universidade Católica Portuguesa Centro Regional das Beiras - Pólo de Viseu

8

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)

! Inserir / Enter (Valida alterações feitas)

! Editar Fórmula (Chama Wizard da fórmula em edição)

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.

Números ⇒ alinhados à direita

Texto ⇒ alinhado à esquerda

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

Em modo Pronto, seleccionar célula(s) a formatar e fazer FORMATAR⇒ CÉLULAS

Page 9: Manual Excel

Universidade Católica Portuguesa Centro Regional das Beiras - Pólo de Viseu

9

1.3. FÓRMULAS (OPERADORES E OPERANDOS)

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

>= maior ou igual

<= menor ou igual

<> diferente

OPERADORES DE TEXTO:

& concatenação

OPERADORES DE REFERÊNCIA (combinam intervalos de células para cálculos):

: intervalo (de...a)

; união (Soma)

(espaço) intersecção explícita

ORDEM DE EXECUÇÃO DOS OPERADORES (PRIORIDADES)

:

;

(espaço)

- (negação)

%

^

* e /

+ e -

&

operadores de comparação

Page 10: Manual Excel

Universidade Católica Portuguesa Centro Regional das Beiras - Pólo de Viseu

10

OPERANDOS:

Um valor que não se altere (valor constante);

Uma referência de célula ou de intervalo;

Um rótulo (texto);

Um nome ou uma função de folha de cálculo.

Exemplos:

=2+3*5 resulta 17

=(2+3)*5 resulta 25

= 2>3 resulta Falso

="Ana"&2 resulta Ana2

1.4. MODELO DE CÁLCULO 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 Península Ibérica em 1996.

Este difícil problema pode-se traduzir formalmente no seguinte modelo de cálculo:

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. Ibérica)

x e y são os "dados do problema"; vamos chamar-lhes variáveis independentes.

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;

O cálculo a fazer traduz-se na seguinte expressão:

z = f(x,y) = x + y

i.e. : z depende (é função de) x e y e especificamente obtém-se somando x com y;

A partir deste momento, vamos passar a considerar uma folha de cálculo como reflexo de um modelo de cálculo.

O modelo de cálculo designa:

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 folha de cálculo obtém-se do modelo de cálculo fazendo a seguinte correspondência:

Page 11: Manual Excel

Universidade Católica Portuguesa Centro Regional das Beiras - Pólo de Viseu

11

- associar a cada variável do modelo de cálculo uma célula da folha de cálculo

- a uma variável independente associar uma célula de entrada

- a uma variável dependente associar uma célula de saída (ou seja, com uma fórmula);

Neste caso podemos, por exemplo, fazer a seguinte correspondência:

x " célula A1

y " célula A2

z " célula A3

Na célula A3 pomos a fórmula correspondente ao cálculo de z :

=A1 + A2 (ou seja a soma das células que representam as variáveis x e y)

E reencontramos a já nossa conhecida folha de cálculo:

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 ?

Vamos considerar a resolução do problema em duas etapas:

1º) Definir o modelo de cálculo

O modelo de cálculo pode formular-se assim:

Variáveis independentes

Preço : preço, indicado pelo vendedor

Taxa : taxa de IVA

Variáveis Dependentes

IVA : valor do IVA

Valor : valor a pagar

Expressões

IVA = Preço * Taxa

Valor = Preço + IVA

Page 12: Manual Excel

Universidade Católica Portuguesa Centro Regional das Beiras - Pólo de Viseu

12

2º) Fazer a folha de cálculo correspondente (a partir do modelo de cálculo).

1.5. REFERÊNCIAS RELATIVAS, ABSOLUTAS E MISTAS

UMA REFERÊNCIA identifica uma célula ou um intervalo de células numa folha de cálculo.

A1 célula na intersecção da coluna A com a linha 1

B5:B10 intervalo de células na coluna B da linha 5 à 10

B5:D5 intervalo de células na linha 5 da coluna B à D

5:7 todas as células da linha 5 à linha 7

A:C todas as células da coluna A à coluna C

REFERÊNCIA RELATIVA - referência a células relativamente à posição da fórmula

A célula B3 contém a fórmula =A2

$ apresenta o valor dessa célula em B3

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

A célula B3 contém a fórmula =A$2

$ apresenta o valor dessa célula em B3

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).

REFERÊNCIA ABSOLUTA - referência a células numa posição específica

A célula B3 contém a fórmula =$A$2

$ apresenta o valor dessa célula em B3

Page 13: Manual Excel

Universidade Católica Portuguesa Centro Regional das Beiras - Pólo de Viseu

13

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)

A célula C6 contém a fórmula =C5+C6

REFERÊNCIA A CÉLULAS NOUTRAS FOLHAS do mesmo livro

A célula B3 contém a fórmula =Sheet2!A2

$ apresenta o valor uma célula acima e uma célula para a esquerda de B3 na folha Sheet2

REFERÊNCIAS 3D - referência a células em várias folhas

Page 14: Manual Excel

Universidade Católica Portuguesa Centro Regional das Beiras - Pólo de Viseu

14

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.

REFERÊNCIAS EXTERNAS - referência a células de outros livros

A célula B3 contém a fórmula =[Livro2]Sheet2!$A$2

$ apresenta o valor da célula A2 da folha Sheet2 do livro Livro2

A célula C3 contém a fórmula ='c:\excel\[Teorica.xls]Sheet2'!$A$2

$ apresenta o valor da célula A2 da folha Sheet2 do livro Teorica que está localizado na pasta \excel do disco C

1.6. NOMES DE CÉLULAS

Podemos usar nomes (rótulos) em vez de referências quando criamos fórmulas

FÓRMULA COM LINGUAGEM NATURAL (Natural language formula):

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)

Um nome dá origem a uma referência absoluta

Só podem ser utilizados em fórmulas na mesma folha.

Seleccionamos a tabela de A3 a D6 e fazemos:

Inserir⇒ Nome⇒ Criar e atribuímos nome à selecção.

Com este procedimento criámos, na folha, os seguintes nomes: Produtos, Qtd, Punit, Valor, A, B e C.

Se em A10 colocarmos a fórmula

=B Qtd (note que o operador espaço corresponde à intersecção exclusiva) o resultado será:

$ 200 (célula B5)

Se em A10 colocássemos a fórmula

=B Punit, o resultado seria

$ 36 (célula C5)

Page 15: Manual Excel

Universidade Católica Portuguesa Centro Regional das Beiras - Pólo de Viseu

15

ATRIBUIR NOMES A CÉLULAS E INTERVALOS

Comando Inserir ⇒ Nome ⇒ Definir ou Caixa de nome da barra de edição

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.

Podemos usar nas fórmulas nomes de outras folhas e livros.

ATRIBUIR NOMES A CONSTANTES E FÓRMULAS

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.

Comando Inserir ⇒ Nome... ⇒ Definir...

Em Nome no livro escrever Taxa e em Refere-se a escrever 17%

A fórmula =1000*Taxa dá o valor 170

Page 16: Manual Excel

Universidade Católica Portuguesa Centro Regional das Beiras - Pólo de Viseu

16

2. FUNÇÕES: UTILIZAÇÃO / CRIAÇÃO DE FUNÇÕES. TIPOS DE ERROS

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)

2.1. FUNÇÕES MATEMÁTICAS:

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.

ABS(Num) devolve o valor absoluto de um número

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

Page 17: Manual Excel

Universidade Católica Portuguesa Centro Regional das Beiras - Pólo de Viseu

17

ARRED(Num;Num_dígitos) ou ROUND arredonda um valor para um número de algarismos especificados. Se

Num_dígitos for positivo significa que o Num será arredondado para o número especifico de casas decimais, se for

0 será arredondado para o inteiro mais próximo e se for negativo será arredondado para a esquerda da vírgula

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 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(Num;Significância) ou FLOOR Arredonda um número para baixo, aproximando-o de zero, até

ao múltiplo mais próximo de Significância. Num e Significância têm que ser ambos positivos ou ambos negativos.

=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(Num,Num_dígitos) ou TRUNC trunca um número para um inteiro removendo a parte fraccional do

número se Num_dígitos não for definido. Num_dígitos é um número que especifica a precisão da operação. O valor

predefinido para núm_digitos é zero.

=TRUNCAR(55.987) ⇒⇒⇒⇒ 55

=TRUNCAR(55.987;2) ⇒⇒⇒⇒ 55.98

FACTORIAL(Num) ou FACT devolve o factorial de um número

=FACTORIAL(3) ⇒⇒⇒⇒ 6

Page 18: Manual Excel

Universidade Católica Portuguesa Centro Regional das Beiras - Pólo de Viseu

18

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 têm de ter a mesma dimensão.

=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 divisão

=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(Num1;Num2;...) ou LCM devolve o menor múltiplo comum

=MMC(2;3;4) ⇒⇒⇒⇒ 12

MDC(Num1;Num2;...) ou GCD devolve o máximo divisor comum

=MDC(2;3;4) ⇒⇒⇒⇒ 1

RAIZQ(Num) ou SQRT devolve a raiz quadrada de um número

COMBIN(Num;Num_escolhido) devolve o número de combinações para um dado número de itens. Num é o

número de objectos e Num_escolhido é o número de objectos em cada combinação.

=COMBIN(2;2) ⇒⇒⇒⇒ 1

=COMBIN(3;2) ⇒⇒⇒⇒ 3

=COMBIN(4;2) ⇒⇒⇒⇒ 6

2.2. FUNÇÕES LOGARÍTMICAS

LN(Num)

LOG(Num;Base)

LOG10(Num)

EXP(Num) é a inversa de LN(Num)

Page 19: Manual Excel

Universidade Católica Portuguesa Centro Regional das Beiras - Pólo de Viseu

19

2.3. FUNÇÕES TRIGONOMÉTRICAS

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. FUNÇÕES PARA MATRIZES

MATRIZ.INVERSA(Matriz)

MATRIZ.MULT(Matriz1;Matriz2),

TRANSPOR(Matriz)

MATRIZ.DETERM(Matriz)

2.5. FUNÇÕES ESTATÍSTICAS

As funções estatísticas executam análises estatísticas em intervalos de dados.

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(Num1;Num2;...) ou MEDIAN devolve a mediana. A mediana é o número no centro de um conjunto

numérico; isto é, metade dos números possui valores que são 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 (média dos números do meio: 3 e 4)

MODA(Num1;Num2;...) ou MODE devolve o número que ocorre com maior frequência

=MODA(2;5;2;6;7;7;2) ⇒⇒⇒⇒ 2

=MODA(3;4;7;2;3;2;7) ⇒⇒⇒⇒ 3 (dá o que aparece primeiro)

MÁXIMO(Num1;Num2;...) ou MAX devolve o valor máximo de uma lista de argumentos

Page 20: Manual Excel

Universidade Católica Portuguesa Centro Regional das Beiras - Pólo de Viseu

20

MÍNIMO(Num1,Num2;...) ou MIN devolve o valor mínimo de uma lista de argumentos

CONTAR(Num1;Num2;...) ou COUNT calcula quantos números existem na lista de argumentos

CONTAR.VAL(Num1;Num2;...) ou COUNTA calcula quantos células estão preenchidas na lista de argumentos

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.

=ORDEM(3;B1:B6;1) ⇒⇒⇒⇒ 3 se B1:B6 tiver os seguintes números 3,2,6,2,9,5

=ORDEM(3;B1:B6) ⇒⇒⇒⇒ 4 se B1:B6 tiver os seguintes números 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 posição (do maior) na matriz ou intervalo

de célula de dados a ser fornecida.

=MAIOR({2;5;4;3;6};2) ⇒⇒⇒⇒ 5 (segundo maior número)

MENOR(Matriz;K) ou SMALL devolve o k-ésimo menor valor do conjunto de dados

2.6. FUNÇÕES LÓGICAS E DE INFORMAÇÃO

2.6.1 Funções lógicas:

A maior parte das funções lógicas usa testes condicionais para verificar se uma condição é verdadeira ou falsa. Um

teste condicional não é mais de que uma equação que compara dois números, fórmulas, rótulos ou valores lógicos.

Cada teste condicional tem que ter um operador lógico (ou de comparação) e tem como resultado um valor lógico

VERDADEIRO/TRUE (1) ou FALSO/FALSE (0).

=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(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 célula A2 for maior ou igual a 10 a função dá Aprovado!

senão (se o valor da célula A2 for menor que 10) a função dá Reprovado!.

Page 21: Manual Excel

Universidade Católica Portuguesa Centro Regional das Beiras - Pólo de Viseu

21

=SE(1;"A";"B") ⇒⇒⇒⇒ A - porque o Excel entende o 1 como o valor lógico Verdadeiro

=SE(FALSO;"A";"B") ⇒⇒⇒⇒ B

=SE(K2;"A";"B") ⇒⇒⇒⇒ B - se o valor da célula K2 for 0, A - se o valor de K2 não for 0

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:

Na célula F4 ficava a seguinte fórmula:

=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 fórmula é uma string (cadeia de caracteres) vazia.

2.6.3. Funções E, OU e NÃO

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

Page 22: Manual Excel

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(lógico) ou NOT inverte o valor do argumento

=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")

2.6.4. Funções VERDADEIRO e FALSO

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.

VERDADEIRO() ou TRUE devolve o valor lógico VERDADEIRO.

Page 23: Manual Excel

Universidade Católica Portuguesa Centro Regional das Beiras - Pólo de Viseu

23

2.7. FUNÇÕES PERSONALIZADAS

Ferramentas ⇒ Macro ⇒ Editor do Visual Basic

Botão Explorador do projecto da barra de ferramentas

Inserir ⇒ Módulo

É na folha Módulo, que escrevemos o código das nossa funções

Function Nome_da_função (argumentos separados por ,)

Corpo da função

End funcion

Os argumentos das função têm o nome de parâmetros formais

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.

Page 24: Manual Excel

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.

2.8. FUNÇÕES DE INFORMAÇÃO:

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.

TIPO(valor) ou TYPE devolve o tipo de valor de acordo com a seguinte tabela:

Número 1

Texto 2

Valor lógico 4

Fórmula 8

Valor de erro 16

Matriz 64

=TIPO("Maria") ⇒⇒⇒⇒ 2

=TIPO(E4) ⇒⇒⇒⇒ 2 - porque o resultado da fórmula da célula E4 é um texto (Aprovado)

=TIPO(2+"Maria") ⇒⇒⇒⇒ 16

CONTAR.VAZIO(intervalo) ou COUNTBLANK conta o número de células em branco no intervalo especificado.

As células com fórmulas que devolvem "" também são contadas. As células com valores nulos (zero) não são

contadas.

É.CÉL.VAZIA(valor) ou ISBLANK VERDADEIRO se valor se referir a uma célula em branco, senão 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

É.LÓGICO(valor) ou ISLOGICAL VERDADEIRO se valor se referir a um valor lógico

É.NÃO.DISP(valor) ou ISNA VERDADEIRO se valor se referir ao valor de erro #N/D

É.NÃO.TEXTO(valor) ou ISNONTEXT VERDADEIRO se valor se referir a qualquer item que não seja texto

É.NÚM(valor) ou ISNUMBER VERDADEIRO se valor se referir a um número

É.REF(valor) ou ISREF VERDADEIRO se valor se referir a uma referência

É.TEXTO(valor) ou ISTEXT VERDADEIRO se valor se referir a texto

Page 25: Manual Excel

Universidade Católica Portuguesa Centro Regional das Beiras - Pólo de Viseu

25

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

=INFORMAÇÃO("directório") devolve o caminho da pasta actual

=INFORMAÇÃO("release") devolve a versão do Excel

ÉÍMPAR(núm) ou ISODD devolve VERDADEIRO se núm truncado para for ímpar

ÉPAR(núm) ou ISEVEN devolve VERDADEIRO se núm 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:

Não apareça nada ("") se o Tipo e o Valor não estiverem preenchidos:

se o Saldo anterior tiver Erro!

se o Saldo anterior for uma String vazia

Apareça Erro! se o Tipo não for nem d (débito) ou c (crédito)

se o Valor não for um número ou uma fórmula

se o Valor estiver em branco (0)

Apareça o saldo da conta se tudo bem

Page 26: Manual Excel

Universidade Católica Portuguesa Centro Regional das Beiras - Pólo de Viseu

26

2.9. TIPOS DE ERROS:

• ##### 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.

• #DIV/0! Está a dividir um número por zero

• #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

• #REF! Apagou células que fazem parte de uma fórmula

• #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

• #NULO! ou #NULL! Utilização de um operador de intervalos ou de uma referência de célula incorrectos.

Por exemplo na intersecção de intervalos quando não há células comuns

Page 27: Manual Excel

Universidade Católica Portuguesa Centro Regional das Beiras - Pólo de Viseu

27

3. DATAS E HORAS, NÚMEROS ALEATÓRIOS (RAND), SUMIF, COUNTIF

Objectivos:

! Funções de data e hora

! Funções matemáticas Aleatório e Aleatórioentre

! 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

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 mês (1..31)

m - corresponde ao mês do ano em número (1..12)

mmm - corresponde ao mês 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 não for indicado AM/PM o Excel assume as horas de 1..24

Page 28: Manual Excel

Universidade Católica Portuguesa Centro Regional das Beiras - Pólo de Viseu

28

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 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.

3.1. INTRODUÇÃO DE UMA SÉRIE DE DATAS

Podemos inserir uma série de datas recorrendo ao comando Editar ⇒ Preencher ⇒ Série... (Edit ⇒ Fill ⇒ Series...)

ou ao AutoFill com o rato.

3.2. FUNÇÕES DE DATA E HORA

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.

HOJE() ou TODAY devolve o número de série da data actual (número inteiro)

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

Page 29: Manual Excel

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 (?)

DIA.SEMANA(núm_série; Tipo_devolvido) ou WEEKDAY devolve o dia da semana correspondente a núm_série.

O dia é devolvido como um número inteiro que varia entre 1 (Domingo) e 7 (Sábado) se Tipo_devolvido for 1 ou

omitido. Se o Tipo_devolvido for 2 então devolve de 1 (Segunda-feira) a 7 (Domingo), se o Tipo_devolvido for 3

então 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á Terça-feira (o que é incorrecto)

=DIA.SEMANA(HOJE();3) ⇒⇒⇒⇒ 2 se formatar para dddd dá Segunda-feira (o que é incorrecto)

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.

=DATA(1998;13;4) dá o número de série correspondente a 4 de Janeiro de 1999

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.

=FIMMÊS(DATA(1998;11;11);1) dá o número de série correspondente a 31/Dez/1998

DIATRABALHO(data_inicial; dias; feriados) ou WORKDAY devolve o número de série correspondente ao

número 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

números de série de data a serem eliminados do calendário 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 número 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(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.

MINUTO(núm_série) ou MINUTE devolve o minuto correspondente a núm_série. O minuto é fornecido como um

número inteiro, entre 0 e 59

SEGUNDO(núm_série) ou SECOND devolve o segundo correspondente a núm_série. O segundo é fornecido como

um número inteiro no intervalo de 0 a 59

Page 30: Manual Excel

Universidade Católica Portuguesa Centro Regional das Beiras - Pólo de Viseu

30

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.

=TEMPO(3;60;61) dá o número de serie correspondente a 4:01:01

Exemplos:

Calcular o número de horas, minutos e segundos que uma máquina trabalhou num dia.

Calcular a idade de uma pessoa em anos.

Ver Ajuda da função FRACÇÃOANO ou YEARFRAC

Page 31: Manual Excel

Universidade Católica Portuguesa Centro Regional das Beiras - Pólo de Viseu

31

3.3. FUNÇÕES MATEMÁTICAS / ALEATÓRIO E ALEATÓRIOENTRE

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 gerar um número real aleatório entre Limite_inferior e Limite_superior, utilize:

=ALEATÓRIO() * (Limite_Superior. - Limite_Inferior) + Limite_Inferior

ALEATÓRIOENTRE(inferior; superior) ou RANDBETWEEN devolve um número aleatório inteiro entre inferior

e superior inclusive

=ALEATÓRIOENTRE(1;6) permite simular o lançamento de um dado

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).

3.4. FUNÇÃO MATEMÁTICA SOMA.SE:

SOMA.SE(intervalo; critérios; intervalo_soma) ou SUMIF adiciona as células especificadas por um determinado

critério. Intervalo é o intervalo de células onde vai testar o critério, critérios são os critérios na forma de um número,

expressão ou texto, que definem quais as células a serem adicionadas e intervalo_soma é o intervalo de células a

serem realmente somadas. Se omitir intervalo_soma o Excel vai somar as célula do intervalo.

3.5. FUNÇÃO ESTATÍSTICA CONTAR.SE:

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:

Calcular o número de notas positivas em cada uma das provas:

Na célula B12 =CONTAR.SE(B4:B9;">=10") copiar para a célula C12

Calcular o número de notas 10 em cada uma das provas:

Na célula B14 =CONTAR.SE(B4:B9;10) copiar para a célula C14

Calcular a média dos alunos aprovados:

Na célula D13 =SOMA.SE(E4:E9;"Aprovado";D4:D9)/CONTAR.SE(E4:E9;"Aprovado")

Page 32: Manual Excel

Universidade Católica Portuguesa Centro Regional das Beiras - Pólo de Viseu

32

Page 33: Manual Excel

Universidade Católica Portuguesa Centro Regional das Beiras - Pólo de Viseu

33

4. FUNÇÕES DE TEXTO: LOWER, UPPER, LEFT, RIGHT, FIND, SUBST E

FUNÇÕES DE CONSULTA EM TABELAS: VLOOKUP, HLOOKUP

Objectivos:

! Funções de texto

! Funções de consulta e referência

Resumo:

Funções de texto:

Com as funções de texto, podemos manipular cadeias de texto em fórmulas.

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

4.1. FUNÇÕES DE TEXTO

TEXTO(HOJE();"dd-mmm-aa") ⇒ 18-Nov-98

=TEXTO(1500.7;"Esc. 0.00") ⇒ Esc .1500.70

NÚM.CARACT(texto) ou LEN devolve o número de caracteres numa cadeia de texto.

=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.

=COMPACTAR("Informática de Empresa ") ⇒ Informática de Empresa

MINÚSCULAS(texto) ou LOWER converte as letras maiúsculas para minúsculas

MAIÚSCULAS(texto) ou UPPER converte as letras minúsculas para maiúsculas

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.

Page 34: Manual Excel

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

=MAIÚSCULAS(A12) ⇒ INF. EMPRESA A1 SALA 1SE1

=MINÚSCULAS(A12) ⇒ inf. empresa a1 sala 1se1

=INICIAL.MAIÚSCULA(A12) ⇒ 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.

SEG.TEXTO(texto; núm_inicial; núm_caract) ou MID devolve um número específico de caracteres (núm_caract)

da cadeia de texto (texto), começando na posição núm_inicial.

Exemplos:

Considere que a célula A14 tem o seguinte texto: Informática 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; núm_inicial) ou FIND localiza uma cadeia de texto (texto_a_localizar)

dentro de outra cadeia de texto (no_texto) e devolve o número de carácter onde texto_a_localizar ocorre pela

primeira vez. Núm_inicial é o número do carácter a partir do qual será feita a pesquisa, se omitido é 1. Se

texto_a_localizar for um texto vazio a função devolve o primeiro carácter da cadeia de procura. A função distingue

maiúsculas e minúsculas e não aceita caracteres globais (? e *).

=LOCALIZAR("e";"Informática de Empresa") ⇒ 14

Page 35: Manual Excel

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(texto_procurado; no_texto; núm_inicial) ou SEARCH devolve o número de carácter onde

texto_procurado ocorre pela primeira vez. Pode utilizar-se os caracteres globais ? (um carácter) e * (série de

caracteres) no texto_procurado. Para procurar um ? ou um * temos que fazer ~? ou ~*. A função não distingue

maiúsculas e minúsculas.

=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(texto_antigo; núm_inicial; núm_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. Núm_inicial é a

posição do carácter em texto_antigo que deseja substituir por novo_texto. Núm_caract é o número 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; núm_da_ocorrência) ou SUBSTITUTE coloca novo_texto no lugar de

texto_antigo numa cadeia de texto (texto). Núm_da_ocorrência especifica que ocorrência de texto_antigo se deseja

substituir por novo_texto. Se indicar núm_da_ocorrência, apenas essa ocorrência de texto_antigo será substituída,

senão cada ocorrência 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; 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!

Page 36: Manual Excel

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(núm) ou CHAR devolve o carácter especificado pelo número de código

=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

4.2. FUNÇÕES DE CONSULTA E REFERÊNCIA

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

Se hoje for dia 18/Nov/98 então

=SELECCIONAR(DIA.SEMANA(HOJE());"Domingo";"Segunda";"Terça";"Quarta";"Quinta";"Sexta","Sábado")

Quarta

=SOMA(A1:SELECCIONAR(3;A10;A20;A30)) é igual a =SOMA(A1:A30)

CORRESP(valor_procurado; matriz_procurada; tipo_correspondência) ou MATCH Devolve a posição relativa de

um elemento numa matriz que coincide com um valor especificado na forma especificada.

Page 37: Manual Excel

Universidade Católica Portuguesa Centro Regional das Beiras - Pólo de Viseu

37

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.

Tipo_correspondência é o número -1, 0 ou 1 que especifica o tipo de correspondência.

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.

A função não faz distinção entre letras maiúsculas e minúsculas.

=CORRESP("Joana";A4:A9;1) ⇒ 2 (mas, atenção)

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

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

PROCV(valor_procurado; matriz_tabela; núm_índice_coluna; procurar_intervalo) ou VLOOKUP

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.

Page 38: Manual Excel

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

=PROCV("Joana";A4:E9;5) ⇒ Aprovado (atenção - dá o Carlos)

=PROCV("Joana";A4:E9;5;False) ⇒ #N/D (procura exacta)

PROCH(valor_procurado; matriz_tabela; núm_índice_lin; localizar_intervalo) ou HLOOKUP

Localiza um valor específico na linha superior de uma matriz e devolve o valor na célula indicada.

PROC ou LOOKUP tem duas formas:

Forma vectorial (um vector é uma matriz que contém 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 posição correspondente a vector_result (tem que ter o mesmo tamanho

de vector_proc) e devolve este valor

=PROC("João";A4:A9;E4:E9) ⇒ Reprovado

=PROC("Joana";A4:A9;E4:E9) ⇒ Aprovado (mas, atenção - procura por intervalos)

Forma matricial (forma a evitar, dar preferência ao PROCV e ao PROCH)

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.

=PROC("João";$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; 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

Page 39: Manual Excel

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

=ÍNDICE((A4:B9;E4:E9);2;1;2) ⇒ a referência E5 que tem Aprovado

Exercício:

Considere uma loja de informática que vende Hardware (HW), Software (SW) e Livros (LI).

Para cada transacção (venda)

O Código 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.

Códigos 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 códigos e taxas de IVA (C12:D15)

2. Na célula F5 -> =C5*D5*(1+PROCV(E5;C$12:D$15;2;FALSO))

3. Copiar para as células F6:F9

b) Calcular a quantidade vendida de jogos

1. Na célula G5 -> =DIREITA(B5;NÚM.CARACT(B5)-4)

2. Copiar para baixo

3. Numa célula qq. =SOMA.SE(G5:G9;"Games";C5:C9) ⇒ 10

c) Calcular o valor do fornecedor MS

1. Na célula H5 -> =SEG.TEXTO(B5;3;2)

2. Copiar para baixo

3. Numa célula qq. =SOMA.SE(H5:H9;"MS";F5:F9) ⇒ 187200

d) Calcular o valor da categoria HW

1. Na célula I5 -> =ESQUERDA(B5;2)

2. Copiar para baixo

Page 40: Manual Excel

Universidade Católica Portuguesa Centro Regional das Beiras - Pólo de Viseu

40

3. Numa célula qq. =SOMA.SE(I5:I9;"HW";F5:F9) ⇒ 468000

Page 41: Manual Excel

Universidade Católica Portuguesa Centro Regional das Beiras - Pólo de Viseu

41

FUNÇÕES DE BASE DE DADOS: DGET, DCOUNTA, DSUM, ... CRITÉRIOS

Objectivos:

! Tabelas

! Funções de base de dados

! 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).

5.1. CUIDADOS A TER AO CRIAR TABELAS

1. As colunas devem ter nome

2. Não utilizar linhas/colunas em branco entre os dados

3. Não inserir dados nas células abaixo da Tabela

4. Não inserir espaços em branco no inicio do conteúdo das células

5. Usar o mesmo formato para as células de uma coluna

6. Evitar colocar dados essenciais à esquerda ou à direita da Tabela. (Os dados poderão estar ocultos quando

filtrar a Tabela)

Exemplo:

Page 42: Manual Excel

Universidade Católica Portuguesa Centro Regional das Beiras - Pólo de Viseu

42

5.2. FUNÇÕES DE BASE DE DADOS

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).

As funções BD são as seguintes: BDMÉDIA (DAVERAGE), BDCONTAR (DCOUNT), BDCONTAR.VAL

(DCOUNTA), BDOBTER (DGET), BDMÁX (DMAX), BDMIN (DMIN), BDMULTIPL (DPRODUCT),

BDDESVPAD (DSTDEV), BDDESVPADP (DSTDEVP), BDSOMA (DSUM), BDVAR (DVAR) e BDVARP

(DVARP).

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.

A sintaxe destas funções é a seguinte:

=BDNOME(base de dados; campo; critérios) onde:

Base de dados é o intervalo de células que formam a lista ou base de dados.

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.

Page 43: Manual Excel

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

5.3.1. Critérios comparados simples

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.

B

25 Curso

26 OGE

Considera todos os registos cujo o campo Curso começa por 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"

B

25 Curso

26 =OGE

Critérios 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

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?

B

25 Curso

26 ?G*

Considera todos os registos cujo o campo Curso começa por um carácter qualquer seguido de um G

Page 44: Manual Excel

Universidade Católica Portuguesa Centro Regional das Beiras - Pólo de Viseu

44

Critérios com operadores de comparação

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 Critérios compostos

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:

B

25 Curso

26 OGE

27 FIN

28 GEI

Considera todos os registos cujo Curso começa por OGE ou por FIN ou por GEI.

Page 45: Manual Excel

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

(Curso=OGE e Média>=14) ou Curso=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.

5.3.3 Critérios calculados

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.

B

25 Superior média

26 =E4>Média(E$4:E$10)

Page 46: Manual Excel

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:

B

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.

Ambos os critérios conduzem ao mesmo resultado, ou seja:

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.

B

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.

Page 47: Manual Excel

Universidade Católica Portuguesa Centro Regional das Beiras - Pólo de Viseu

47

5.4. FILTROS AUTOMÁTICOS E FILTROS AVANÇADOS

5.4.1. Filtros Automáticos 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:

Page 48: Manual Excel

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.

5.4.2. Filtros Avançados 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.

Page 49: Manual Excel

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:

Para filtrar a Tabela, podíamos definir como critério:

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

Page 50: Manual Excel

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.

Filtrando a Tabela no Local teríamos como resultado, no primeiro caso:

e, no segundo caso, o resultado seria:

Page 51: Manual Excel

Universidade Católica Portuguesa Centro Regional das Beiras - Pólo de Viseu

51

5. FUNÇÕES FINANCEIRAS E DE ENGENHARIA

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?

6.1. FUNÇÕES FINANCEIRAS

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.

Conceito / Argumento Descrição

Valor futuro / Vf Valor do investimento no fim do período

Valor presente / Vp ou Va Valor do investimento hoje

Número de períodos / Nper Número de períodos do investimento

Taxa / Taxa Taxa de juro ou desconto

Fluxos monetários / Valor1, Valor2... Fluxos periódicos quando diferentes

Pagamento / Pgto Fluxos periódicos quando constantes

Tipo / Tipo 0 se o pagamento é realizado no fim do período

1 se o pagamento é realizado no início do período

Período / Período Número de um fluxo periódico

VA(taxa; nper; pgto; vf; tipo) ou PV devolve o valor actual de um investimento onde:

Taxa é a taxa de juro por período;

Nper é o número total de períodos de pagamento;

Pgto é o pagamento feito em cada período (capital + juros) e não pode mudar durante a vigência do investimento;

Page 52: Manual Excel

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:

É 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 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.

Page 53: Manual Excel

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;

Estimativa é um número que se estima estar próximo do resultado de TIR

Page 54: Manual Excel

Universidade Católica Portuguesa Centro Regional das Beiras - Pólo de Viseu

54

Exemplo:

Funções para calcular depreciações:

AMORT(custo; val_residual; vida_útil) ou devolve a amortização em linha recta de um activo durante um

período, onde:

Custo é o custo inicial do activo;

Val_residual é o valor no final da amortização ou valor residual;

Vida_útil é o número de períodos nos quais o activo se amortiza.

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.

Calcular o valor da amortização anual:

=AMORT(3000000;0;4) dá 750,000.00 Esc

Funções para converter taxas:

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.

Page 55: Manual Excel

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:

Banco X 16.5% efectiva

Banco Y 16.0% nominal

Em que banco deverá fazer o depósito?

6.2. FUNÇÕES DE ENGENHARIA

As funções de engenharia possibilitam análises de engenharia. A maior parte destas funções pertencem a três tipos:

• Funções para trabalhar com números complexos;

• Funções para converter valores entre vários sistemas de numeração, tais como decimal, hexadecimal,

octal e sistemas binários;

• Funções para converter valores entre vários sistemas de medidas.

CONVERTER (núm; de_unidade; para_unidade) converte um número de um sistema de medida para outro,

onde:

Núm é o valor em de_unidade a converter.

De_unidade é a unidade do número.

Para_unidade é a unidade do resultado.

A função aceita os seguintes valores de texto para de_unidade e para_unidade:

Peso e massa De_unidade

ou para_unidade

Grama "g" Libra massa "sg"

Massa em libras (peso) "lbm" U (unid. de massa atómica) "u"

Massa em onças (peso) "ozm"

Distância De_unidade

ou para_unidade

Metro "m" Milha inglesa "mi"

Milha marítima "Nmi" Polegada "in"

Pé "ft" Jarda "yd"

Ångstrom "ang" Pica (1/72 pol.) "Pica"

Page 56: Manual Excel

Universidade Católica Portuguesa Centro Regional das Beiras - Pólo de Viseu

56

TEMPO De_unidade

ou para_unidade

ANO "yr" DIA "day"

HORA "hr" MINUTO "mn"

SEGUNDO "sec"

Pressão De_unidade ou

para_unidade Pascal "Pa"

Atmosfera "atm" mm de Mercúrio "mmHg"

Força De_unidade

ou para_unidade

Newton "N" Dyna "dyn"

Libra-força "lbf"

Energia De_unidade ou

para_unidade Joule "J" Erg "e"

Caloria termodinâmica "c" Caloria IT "cal"

Eletrão-volt "eV" Cavalo-potência-hora "HPh"

Watt-hora "Wh" Pé-libra "flb"

BTU "BTU"

POTÊNCIA De_unidade

ou para_unidade

Cavalo-potência "HP" Watt "W"

Magnetismo De_unidade

ou para_unidade

Tesla "T" Gauss "ga"

Temperatura De_unidade

ou para_unidade

Graus Celsius "C" Graus Fahrenheit "F"

Graus Kelvin "K"

Medida líquida De_unidade ou

para_unidade Colher de chá "tsp" Colher de sopa "tbs"

Onça fluida "oz" Chávena "cup"

Pinto U.S. "pt" Pinto U.K. "uk_pt"

Quarto "qt" Galão "gal" Litro "l"

Page 57: Manual Excel

Universidade Católica Portuguesa Centro Regional das Beiras - Pólo de Viseu

57

Os seguintes prefixos de unidades abreviados podem ser anexados a qualquer valor métrico de_unidade ou

para_unidade.

Prefixo Multiplicador Abreviatura hexa 1E+18 "E" peta 1E+15 "P" tera 1E+12 "T" giga 1E+09 "G" mega 1E+06 "M" quilo 1E+03 "k" hecto 1E+02 "h" deca 1E+01 "e" deci 1E-01 "d" centi 1E-02 "c" mili 1E-03 "m"

micro 1E-06 "u" nano 1E-09 "n" pico 1E-12 "p" fento 1E-15 "f" ato 1E-18 "a"

Exemplos:

CONVERTER(68; "F"; "C") ⇒ 20

Uma das provas mais carismáticas do atletismo é a milha. Calcule quantas voltas à pista é que os atletas têm que dar.

Quantos centímetros tem um monitor de 15 polegadas

=CONVERTER(15;"in";"cm") ⇒ 38.1

Quantos centímetros 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(núm; casas) converte um número decimal em hexadecimal, onde:

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(núm) converte um número hexadecimal em decimal.

=HEXADEC("1E") ⇒ 30

Page 58: Manual Excel

Universidade Católica Portuguesa Centro Regional das Beiras - Pólo de Viseu

58

6. ARRAYS / ANÁLISE DE TENDÊNCIA, CRESCIMENTO E PREVISÃO, TABELAS,

“GOALSEEK” E “SOLVER”, CONSTRUÇÃO DE CENÁRIOS

Objectivos:

! Fórmulas array ou matriz

! Funções: Frequência

! Tendência, Crescimento e Previsão

! Análise de Sensibilidade: Tabela de Dados

! Atingir Objectivo

! Solver

Resumo

7.1. ARRAYS

7.1.1. Fórmulas matriz (array)

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.

7.1.2. Fórmula combinação

{=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.

Page 59: Manual Excel

Universidade Católica Portuguesa Centro Regional das Beiras - Pólo de Viseu

59

7.1.3. Fórmula cópia

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

FREQUÊNCIA(matriz_dados; matriz_bin) ou FREQUENCY devolve uma distribuição da frequência como uma

matriz vertical. Para um dado conjunto de valores e um dado conjunto de binários (ou intervalos), uma distribuição

de frequência conta quantos desses valores ocorrem em cada intervalo, onde:

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:

Page 60: Manual Excel

Universidade Católica Portuguesa Centro Regional das Beiras - Pólo de Viseu

60

7.2. FUNÇÕES TENDÊNCIA, CRESCIMENTO E PREVISÃO

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.

TENDÊNCIA(val_conhecidos_y; val_conhecidos_x; novos_valores_x; constante) ou TREND devolve valores ao

longo de uma tendência linear. Ajusta uma linha recta (utilizando o método dos mínimos 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 relação y = mx + b. Se a matriz val_conhecidos_y

estiver numa única coluna, cada coluna de val_conhecidos_x será interpretada como uma variável separada. Se a

matriz val_conhecidos_y for uma única linha, cada linha de val_conhecidos_x será interpretada como uma variável

separada.

Val_conhecidos_x é um conjunto opcional de valores de x que já deve conhecer na relação y = mx + b. A matriz

val_conhecidos_x pode incluir um ou mais conjuntos de variáveis. Se for utilizada apenas uma variável,

val_conhecidos_y e val_conhecidos_x podem ser intervalos de qualquer formato, desde que tenham dimensões

iguais. Se for utilizada mais de uma variável, 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 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.

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 relação y = b*m^x.

PREVISÃO(x; val_conhecidos_y; val_conhecidos_x) ou FORECAST devolve um valor previsto para x, baseado

numa regressão 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;

Page 61: Manual Excel

Universidade Católica Portuguesa Centro Regional das Beiras - Pólo de Viseu

61

Val_conhecidos_x é o intervalo de dados ou matriz independente.

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:

7.3. TABELA DE DADOS OU DATA TABLE

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.

{=TABELA(célula de entrada da linha; célula 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 variável

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.

Page 62: Manual Excel

Universidade Católica Portuguesa Centro Regional das Beiras - Pólo de Viseu

62

7.3.2. Tabela de dados baseada em duas variáveis

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.

7.4. ATINGIR OBJECTIVO OU GOAL SEEK

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.

Page 63: Manual Excel

Universidade Católica Portuguesa Centro Regional das Beiras - Pólo de Viseu

63

Exemplo:

Resolver a equação: 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 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

Page 64: Manual Excel

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.

Utilizando o Solver vamos definir:

Uma última restrição que não se encontra visível refere-se a F7 que também tem que ser igual a 100.

Quando pedimos para solucionar, o Solver apresenta-nos a seguinte solução:

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

Perguntando-nos o que pretendemos fazer com o resultado.

Page 65: Manual Excel

Universidade Católica Portuguesa Centro Regional das Beiras - Pólo de Viseu

65

7.6. CONSTRUÇÃO DE CENÁRIOS

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.

No primeiro caso, admitindo igual ponderação, temos:

Ana Luís João 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%

Page 66: Manual Excel

Universidade Católica Portuguesa Centro Regional das Beiras - Pólo de Viseu

66

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:

Page 67: Manual Excel

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.

Page 68: Manual Excel

Universidade Católica Portuguesa Centro Regional das Beiras - Pólo de Viseu

68

Podemos, ainda, utilizando a opção Sumário aceder ao quadro seguinte:

que nos permitirá constituir um Sumário do cenário como se apresenta de seguida

ou uma Tabela dinâmica do cenário que produziria

Page 69: Manual Excel

Universidade Católica Portuguesa Centro Regional das Beiras - Pólo de Viseu

69

7. RELATÓRIOS DE TABELAS E GRÁFICOS DINÂMICOS

Objectivos:

! Resumir dados utilizando Tabelas dinâmicas

! Alteração de Tabelas dinâmicas em função das necessidades de informação

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.

8.1. CRIAÇÃO DE TABELAS / GRÁFICOS DINÂMICOS

As opções que temos de utilizar são Dados ⇒⇒⇒⇒ Relatório de Tabelas ...

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.

Page 70: Manual Excel

Universidade Católica Portuguesa Centro Regional das Beiras - Pólo de Viseu

70

No segundo passo seríamos confrontados com a necessidade de definir a Tabela de Dados.

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.

Page 71: Manual Excel

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:

Page 72: Manual Excel

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.

8.2. ALTERAÇÃO DE UMA TABELA / GRÁFICO DINÂMICO

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.

Page 73: Manual Excel

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:

• um nome elucidativo da sua função,

• 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()),

• resultado ou output – valor produzido pela aplicação da função aos parâmetros.

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.

9.2. FUNÇÕES DO EXCEL

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).

9.3. COMO CRIAR FUNÇÕES

1. Defina o objectivo da função, os parâmetros e resultado

2. Escreva (em linguagem normal) os passos que essa função deve executar para, com base nos parâmetros

produzir o valor final. Nesta etapa está a definir o algoritmo.

3. Traduza o seu algoritmo em VBA. Para escrever uma função em VBA deve obedecer à seguinte sintaxe:

Page 74: Manual Excel

Universidade Católica Portuguesa Centro Regional das Beiras - Pólo de Viseu

74

Function <Nome da Função> ( <parametro1>, <parametro2>,…)

<Nome da Função> = <Valor ou Expressão>

End Function

A definição começa com a palavra-chave Function e termina com as palavras End

Function. Para definir o valor produzido pela uma função basta no seu interior,

atribuir ao nome da função um determinado valor ou expressão.

Aplicações Práticas

Problema: Fazer uma função que calcule o valor com IVA.

1. Parâmetros / Input: Valor Ilíquido e Taxa de IVA

2. Passos a executar:

1. Multiplicar o Valor Ilíquido pela Taxa de IVA

2. Somar ao Valor Ilíquido o valor calculado no passo anterior. Assim o valor do

IVA deve ser atribuído a uma variável, no passo 2.1, para utilização posterior.

3. Em VBA:

Problema: Fazer uma função que gere valores aleatórios num intervalo real definido por dois

limites

1. Parâmetros / Input: Limite Inferior e Limite Superior

2. Passos a executar:

1. Utilizar a função Rnd para produzir números aleatórios (entre 0 e 1)

2. Somar o Limite Inferior com o resultado da alínea anterior multiplicado pela diferença entre o

Limite Superior e o Limite Inferior

Page 75: Manual Excel

Universidade Católica Portuguesa Centro Regional das Beiras - Pólo de Viseu

75

3. Em VBA:

9.4. ONDE DEFINIR A FUNÇÃO

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.

Page 76: Manual Excel

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.

Assim se fizer o desdobramento do seu VBAProject, encontrará um folder cuja designação é

Microsoft Excel Objects, e um outro designado Modules (se este não aparecer significa que o seu

projecto ainda não possui qualquer função implementada. Para criar este folder deverá fazer:

Insert / Module).

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.

9.5. TRABALHAR NO EDITOR DE VBA – CRIAR UMA FUNÇÃO

Aplicação Prática

Problema: Criar uma função que calcule o IVA

1. Parâmetros / Input: Valor Ilíquido e Taxa de IVA

2. Passos a executar:

1. Multiplicar o Valor Ilíquido pela Taxa de IVA

3. Para criar a função no Editor de VBA:

Uma vez seleccionado o módulo onde pretende construir a função poderá:

• Escrever a função integralmente, ou

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

Page 77: Manual Excel

Universidade Católica Portuguesa Centro Regional das Beiras - Pólo de Viseu

77

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

9.6. EXECUÇÃO DE UMA FUNÇÃO DENTRO DE UMA CÉLULA

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

1. Posicione-se na célula onde pretende inserir a função

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

Page 78: Manual Excel

Universidade Católica Portuguesa Centro Regional das Beiras - Pólo de Viseu

78

5. Introduza os parâmetros e clique em OK

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

= <nome da função> (<Param_1> , <Param_2>)

9.7. UTILIZAÇÃO DE VARIÁVEIS

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.

9.7.1. Tipos de variáveis

O tipo de variável está associado ao género de informação que esta tem hipótese de armazenar:

Boolean – 2 bytes – Permite armazenar valores Boolenaos – True ou False

Byte – 1 Byte – permite armazenar números sem sinal entre 0 e 255

Currency - 8 bytes – permite armazenar moeda

Date – 8 Bytes – permite armazenar datas

Page 79: Manual Excel

Universidade Católica Portuguesa Centro Regional das Beiras - Pólo de Viseu

79

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 números inteiros entre -32.768 e 32767

Long – 4 bytes – permite armazenar números inteiros entre -2 147 483 648 e 2 147 483 648

Object – 4 bytes – utilizado para fazer referência 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. Declaração de Variáveis

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:

Dim Numero As Integer

Onde:

Dim – Palavra chave que indica uma declaração de variáveis (abreviatura de dimensão)

Numero - nome da variável a utilizar

As – palavra chave utilizada para separar o nome da variável do tipo de dados

Integer – tipo de dados atribuído à variável

Page 80: Manual Excel

Universidade Católica Portuguesa Centro Regional das Beiras - Pólo de Viseu

80

9.8. ESTRUTURAS DE CONTROLO

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.

VBA Control Objectivo

If -Then - Else Testa uma condição e executa um determinado conjunto de

instruções consoante o resultado dessa avaliação

For – Next Executa uma determinada tarefa um determinado número de

vezes.

While-Wend Executa uma determinada tarefa enquanto que uma determinada

condição permaneça verdadeira, i.e., com o valor True.

Do – Loop Executa uma determinada tarefa enquanto que a avaliação de

uma condição permaneça True ou então até que seja True.

Select - Case Selecciona um dos segmentos de código a processar mediante a

avaliação consecutiva de condições.

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

Recorrendo à função IF do Excel, recorde:

=IF( <condição>, <se condição verdadeira>, <se condição falsa> )

A função IF tinha o seguinte comportamento:

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;

3. Caso contrário (else), realiza as operações que formam o terceiro parâmetro

Page 81: Manual Excel

Universidade Católica Portuguesa Centro Regional das Beiras - Pólo de Viseu

81

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

Assim:

If <Condição> Then

<se condição verdadeira>

[ Else

<se condição falsa> ]

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

Problema: Determinar se um número é par

1. Elementos de análise

1. Nome: É_Par

2. Parâmetros: número que vai ser avaliado

3. Output: True se for par, e False caso contrário

2. Passos a executar:

1. Dividir o número por dois e apurar o resto da divisão

2. Avaliar o resto da divisão:

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:

Page 82: Manual Excel

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.

If Palavra chave que indica o inicio de uma instrução If-Then-Else

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.

É_Par = True Instrução a executar se a condição for verdadeira.

Else Palavra-chave que determina o terminus de execução das instruções quando o

resultado da avaliação for True, e que determina o inicio das instruções a executar se o

resultado da condição for False.

É_Par = False Instrução a executar se a condição for falsa.

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

Problema: Crie a função Mod para usar nas células do Excel.

1. Elementos de análise

1. Nome: Resto_Divisão

2. Parâmetros: Dividendo e Divisor

3. Output: resto da divisão do Dividendo pelo Divisor

2. Passos a executar:

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

2. Subtrair ao dividendo a multiplicação do quociente pelo Divisor, obtendo assim o resto

Page 83: Manual Excel

Universidade Católica Portuguesa Centro Regional das Beiras - Pólo de Viseu

83

3. Em VBA:

A instrução adicional ElseIf

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

Problema: Pretende-se criar uma função que classifique etariamente um indivíduo em

função da sua idade. A classificação pretendida é a seguinte:

Idade Classe Etária

Menos de 3 anos Bebé

Dos 3 aos 12 Criança

Dos 13 aos 19 Adolescente

Dos 20 aos 25 Jovem

Dos 26 aos 65 Adulto

Mais de 65 Idoso

3. Elementos de análise

1. Nome: Classe_Etária

2. Parâmetros: Idade

3. Output: "Bebé", "Criança", "Adolescente", "Jovem", "Adulto" ou "Idoso"

4. Passos a executar:

1. Avaliar a idade

Page 84: Manual Excel

Universidade Católica Portuguesa Centro Regional das Beiras - Pólo de Viseu

84

1. Se tiver menos de três, então é "Bebé"

2. Senão, se tiver menos de treze, então é "Criança"

3. Senão, se tiver menos de vinte, então é "Adolescente"

4. Senão, se tiver menos de vinte e seis, então é "Jovem"

5. Senão, se tiver menos de sessenta e seis, então é "Adulto"

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.

9.8.2. Select Case

Permite a escolha de um percurso mediante a avaliação de n condições. É de extrema utilidade

para evitar os If’s encadeados, dando um maior grau de legibilidade e simplicidade ao código

construído.

Select Case <Expressão a ser avaliada>

[Case <Valor da Expressão> [Instruções a realizar]]

...[Case Else [Instruções a realizar na situação residual]]

End Select

Page 85: Manual Excel

Universidade Católica Portuguesa Centro Regional das Beiras - Pólo de Viseu

85

Aplicação Prática

Problema: Alterar a estrutura da função Classe_Etária mediante a aplicação do Select Case.

Construção da Estrutura

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

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

Case Is<13 ou

Case Is<20 ou

Case Is<26 ou

Case Is<66

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 que faz o matching, até que uma nova expressão case seja encontrada. Sendo que nessa

altura termina o controlo Select Case dando continuidade ao programa nas instruções que se

seguirem ao End Select.

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.

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

Page 86: Manual Excel

Universidade Católica Portuguesa Centro Regional das Beiras - Pólo de Viseu

86

9.8.3. For – Next

Permite a execução repetida de uma tarefa durante um determinado número de vezes.

For <Inicialização do Contador> To <Valor > [ Step <Valor a Incrementar>]

<Instruções a realizar em cada iteração>

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

3. Output: Base elevada à potência

2. Passos a executar:

1. Multiplicar sucessivas vezes (número indicado pela potência) a base pelo

resultado acumulado das sucessivas operações.

2. Em VBA:

Page 87: Manual Excel

Universidade Católica Portuguesa Centro Regional das Beiras - Pólo de Viseu

87

Função das Variáveis:

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:

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

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.

A palavra To é utilizada para separar o valor do contador no momento inicial do valor no

momento final. (Tradução: O contador iniciar-se-á a um e atingirá o valor máximo

traduzido pela variável Potência)

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 números

decimais, a números negativos (Provocando assim a decrementação). A palavra-chave

Step é opcional, sempre que for omitida é assumido 1 como o valor a incrementar por

defeito.

acumulado = acumulado

* Base Instrução a realizar de cada vez que o ciclo for executado. Neste caso a instrução é única,

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:

For i = 1 To Potência Step 1

acumulado =acumulado * Base

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.

Page 88: Manual Excel

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.

Perigos associados à utilização do ciclo For-Next:

• 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

Problema: Pretende-se criar uma função para calcular um factorial.

1. Elementos de análise

1. Nome: Factorial

2. Parâmetros: Número

3. Output: Factorial do Número introduzido

2. Passos a executar:

1. Verificar se o número é positivo

2. Se for, multiplicar sucessivas vezes um número pelo resultado acumulado das sucessivas

multiplicações dos números inteiros que o antecedem

3. Senão indicar "ERRO"

Page 89: Manual Excel

Universidade Católica Portuguesa Centro Regional das Beiras - Pólo de Viseu

89

4. Em VBA:

9.8.4. While – Wend

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

determinado número de vezes, enquanto que uma determinada condição permaneça verdadeira.

A diferença entre este ciclo e o ciclo For-Next é basicamente o facto deste saber apriori o

número de vezes que vai ser realizado, enquanto que um ciclo While-Wend poderá ou não sabê-

lo pois terminará quando a condição for Falsa.

While <Condição>

<Instruções a realizar em cada iteração>

Wend

Aplicações Práticas

Problema: Modificar a estrutura da função Factorial, criada com o ciclo For-Next

(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

3. Output: Factorial do Número introduzido

2. Passos a executar:

Page 90: Manual Excel

Universidade Católica Portuguesa Centro Regional das Beiras - Pólo de Viseu

90

1. Verificar se o número é positivo

2. Se for, multiplicar sucessivas vezes um número pelo resultado acumulado das sucessivas

multiplicações dos números inteiros que o antecedem

3. Senão indicar "ERRO"

4. Em VBA:

Problema: Apostar um número entre 1 e 10 e saber ao fim de quantos lançamentos (gerações

aleatórias) é que foi seleccionado.

(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

3. Output: Número de lançamentos

2. Passos a executar:

1. Verificar se o número está no intervalo definido

2. Se estiver, gerar continuamente números aleatórios entre 1 e 10 e comparar com o Número da

aposta, quando for igual pára e indica o número de lançamentos

3. Senão estiver no intervalo indicar "ERRO DE INSERÇÃO"

Page 91: Manual Excel

Universidade Católica Portuguesa Centro Regional das Beiras - Pólo de Viseu

91

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.

A Função das Variáveis

Variável Função

Lançamento Guarda o valor obtido em cada um dos lançamentos.

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

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

Número<>Lançamento Condição teste utilizada para determinar o terminus da realização do

ciclo. Se esta condição for Verdadeira executa as instruções que

estão dentro do While-Wend, se for Falsa a execução do ciclo é

terminada tendo o programa sequência nas instruções que seguem a

palavra chave Wend.

Lançamento = Int(1 + Rnd() * (10 - 1 + 1)) Instrução a realizar de cada vez que o ciclo é executado. Tem como

Page 92: Manual Excel

Universidade Católica Portuguesa Centro Regional das Beiras - Pólo de Viseu

92

função gerar números aleatórios inteiros entre 1 e 10. Repare que

este valor é inicializado antes do inicio do ciclo por forma a garantir

uma comparação correcta na condição.

Em vez de realizar esta expressão poderia utilizar a função

Gera_Entre.

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.

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

Tradução Integral

While Número <> Lançamento

Lançamento = Int(1 + Rnd() * (10 - 1 + 1))

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.

Se utilizasse a função Gera_Entre para a geração de números aleatórios, a função seria:

Page 93: Manual Excel

Universidade Católica Portuguesa Centro Regional das Beiras - Pólo de Viseu

93

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.

Perigos associados à utilização do ciclo While-Wend

• Má ou inexistência de inicialização das variáveis envolvidas na condição-teste.

• 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)

Page 94: Manual Excel

Universidade Católica Portuguesa Centro Regional das Beiras - Pólo de Viseu

94

Poderá ser:

Do [{While ⇒ Until} <condição>]

<Instruções a realizar por iteração>

Loop

Ou então:

Do

<Instruções a realizar por iteração>

Loop[{While ⇒ Until} <condição>]

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:

1. Verificar se o número 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 números aleatórios nesse intervalo e comparar com o Número da

aposta, quando for igual pára e indica o número de lançamentos

3. Senão estiver no intervalo indicar "ERRO DE INSERÇÃO"

Page 95: Manual Excel

Universidade Católica Portuguesa Centro Regional das Beiras - Pólo de Viseu

95

3. Em VBA:

Aplicações Práticas

1. Utilizando a condição teste no inicio do Loop e com a palavra While

Page 96: Manual Excel

Universidade Católica Portuguesa Centro Regional das Beiras - Pólo de Viseu

96

2. Utilizando a condição teste no inicio do Loop e com a palavra Until

3. Utilizando a condição teste no fim do Loop e com a palavra Until

4. Utilizando a condição teste no fim do Loop e com a palavra While