folha de cálculo 2

23
25 de Maio de 20 06 Folha de Cálculo 1 Folha de Cálculo 2 Pedro Barahona DI/FCT/UNL Introdução aos Computadores e à Programação 2º Semestre 2005/2006

Upload: kirkan

Post on 21-Jan-2016

60 views

Category:

Documents


0 download

DESCRIPTION

Folha de Cálculo 2. Pedro Barahona DI/FCT/UNL Introdução aos Computadores e à Programação 2º Semestre 2005/2006. Folha de Cálculo. As possibilidades de acesso e tratamento avançado de informação numa folha de cálculo serão ilustradas através de alguns exemplos. Ordenação de Registos - PowerPoint PPT Presentation

TRANSCRIPT

Page 1: Folha de Cálculo 2

25 de Maio de 2006 Folha de Cálculo 1

Folha de Cálculo 2

Pedro BarahonaDI/FCT/UNL

Introdução aos Computadores e à Programação2º Semestre 2005/2006

Page 2: Folha de Cálculo 2

25 de Maio de 2006 Folha de Cálculo 2

Folha de Cálculo

• As possibilidades de acesso e tratamento avançado de

informação numa folha de cálculo serão ilustradas através de

alguns exemplos.

– Ordenação de Registos

– Agregações (médias, médias ponderadas, extremos)

– Contagens e contagens condicionais

– Determinação da ordem

– Descoberta de um valor numa tabela

– Selecção de valor numa tabela através da sua linha e coluna

Page 3: Folha de Cálculo 2

25 de Maio de 2006 Folha de Cálculo 3

Ordenação de Registos

• Começamos por considerar a apresentação ordenada de um

conjunto de registos, dispostos em várias linhas.

• No EXCEL tal pode ser facilmente obtido através da

operação “sort” na entrada “data” do menu.

• Nesta ordenação podem ser seleccionados

– os “campos” por onde se faz a ordenação,

– A sua prioriades (um campo só é utilizado em caso de

empate nos campos mais prioritários),

– a ordem (crescente ou decrescente) utilizada, e

Page 4: Folha de Cálculo 2

25 de Maio de 2006 Folha de Cálculo 4

Ordenação de Registos• Dada a pauta da turma abaixo

ela pode, por exemplo, ser ordenada

– Por ordem crescente dos números ou nomes dos alunos;

– Por ordem decrescente das suas notas (1, 2 ou 3)

num nome nota 1 nota 2 nota 320685 maria 16.1 18.8 9.318937 ricardo 17.3 17.6 15.920744 luís 9.9 8.6 12.220179 mário 8.3 15.7 15.620447 madalena 19.8 13.6 19.719874 vera 11.1 10.2 8.918849 marta 9.2 7.3 18.320765 pedro 10.7 15.4 16.819686 joão 10.7 18.2 12.9

Page 5: Folha de Cálculo 2

25 de Maio de 2006 Folha de Cálculo 5

Ordenação de Registos• Por ordem crescente dos números dos alunos

num nome nota 1 nota 2 nota 318849 marta 9.2 7.3 18.318937 ricardo 17.3 17.6 15.919686 joão 10.7 18.2 12.919874 vera 11.1 10.2 8.920179 mário 8.3 15.7 15.620447 madalena 19.8 13.6 19.720685 maria 16.1 18.8 9.320744 luís 9.9 8.6 12.220765 pedro 10.7 15.4 16.8

num nome nota 1 nota 2 nota 320685 maria 16.1 18.8 9.318937 ricardo 17.3 17.6 15.920744 luís 9.9 8.6 12.220179 mário 8.3 15.7 15.620447 madalena 19.8 13.6 19.719874 vera 11.1 10.2 8.918849 marta 9.2 7.3 18.320765 pedro 10.7 15.4 16.819686 joão 10.7 18.2 12.9

• Seleccionar a tabela

• Menu: Data - Sort

• Opções: num, ascending

Page 6: Folha de Cálculo 2

25 de Maio de 2006 Folha de Cálculo 6

Ordenação de Registos• Por ordem decrescente dos nomes dos alunos (notar o

correcto tratamento dos acentos)

num nome nota 1 nota 2 nota 319874 vera 11.1 10.2 8.918937 ricardo 17.3 17.6 15.920765 pedro 10.7 15.4 16.818849 marta 9.2 7.3 18.320179 mário 8.3 15.7 15.620685 maria 16.1 18.8 9.320447 madalena 19.8 13.6 19.720744 luís 9.9 8.6 12.219686 joão 10.7 18.2 12.9

num nome nota 1 nota 2 nota 320685 maria 16.1 18.8 9.318937 ricardo 17.3 17.6 15.920744 luís 9.9 8.6 12.220179 mário 8.3 15.7 15.620447 madalena 19.8 13.6 19.719874 vera 11.1 10.2 8.918849 marta 9.2 7.3 18.320765 pedro 10.7 15.4 16.819686 joão 10.7 18.2 12.9

• Seleccionar a tabela

• Menu: Data - Sort

• Opções: nome, descending

Page 7: Folha de Cálculo 2

25 de Maio de 2006 Folha de Cálculo 7

Ordenação de Registos• Por ordem decrescente da nota 3

num nome nota 1 nota 2 nota 320447 madalena 19.8 13.6 19.718849 marta 9.2 7.3 18.320765 pedro 10.7 15.4 16.818937 ricardo 17.3 17.6 15.920179 mário 8.3 15.7 15.619686 joão 10.7 18.2 12.920744 luís 9.9 8.6 12.220685 maria 16.1 18.8 9.319874 vera 11.1 10.2 8.9

num nome nota 1 nota 2 nota 320685 maria 16.1 18.8 9.318937 ricardo 17.3 17.6 15.920744 luís 9.9 8.6 12.220179 mário 8.3 15.7 15.620447 madalena 19.8 13.6 19.719874 vera 11.1 10.2 8.918849 marta 9.2 7.3 18.320765 pedro 10.7 15.4 16.819686 joão 10.7 18.2 12.9

• Seleccionar a tabela

• Menu: Data - Sort (menu)

• Opções: nota 3, descending

Page 8: Folha de Cálculo 2

25 de Maio de 2006 Folha de Cálculo 8

Agregações (Médias, Somas)• A determinação de agregações de dados é feita através da

utilização das operações apropriadas em células adicionais.

• Por exemplo para determinar a médias das notas de uma

aluno, pode utilizar-se a sua soma dividida por 3.

• Mais genericamente podem utilizar-se as funções

predefinidas sum e count, ou mais directamente a função

average.1 B C D E F G2 num nome nota 1 nota 2 nota 3 média3 20685 maria 16.1 18.8 9.3 14.734 18937 ricardo 17.3 17.6 15.9 16.93 = (D3+D4+D5)/3

= sum(D3:D5) / count(D3:D5) = average(D3:D5)

Page 9: Folha de Cálculo 2

25 de Maio de 2006 Folha de Cálculo 9

Agregações (Médias, Somas)• As várias médias (por disciplinas e por alunos) podem ser

acrescentadas à folha inicial

o que permite eventualmente a posterior apresentação

ordenada por médias dos alunos

1 B C D E F G2 num nome nota 1 nota 2 nota 3 média3 20685 maria 16.1 18.8 9.3 14.734 18937 ricardo 17.3 17.6 15.9 16.935 20744 luís 9.9 8.6 12.2 10.236 20179 mário 8.3 15.7 15.6 13.207 20447 madalena 19.8 13.6 19.7 17.708 19874 vera 11.1 10.2 8.9 10.079 18849 marta 9.2 7.3 18.3 11.6010 20765 pedro 10.7 15.4 16.8 14.3011 19686 joão 10.7 18.2 12.9 13.93

média 12.6 13.9 14.4

Page 10: Folha de Cálculo 2

25 de Maio de 2006 Folha de Cálculo 10

Agregações (Extremos)• Outras funções de agregação podem ser usadas para

determinar por exemplo os máximos e mínimos1 B C D E F G2 num nome nota 1 nota 2 nota 3 mínimo3 20685 maria 16.1 18.8 9.3 9.304 18937 ricardo 17.3 17.6 15.9 15.905 20744 luís 9.9 8.6 12.2 8.606 20179 mário 8.3 15.7 15.6 8.307 20447 madalena 19.8 13.6 19.7 13.608 19874 vera 11.1 10.2 8.9 8.909 18849 marta 9.2 7.3 18.3 7.3010 20765 pedro 10.7 15.4 16.8 10.7011 19686 joão 10.7 18.2 12.9 10.70

máximo 19.8 18.8 19.7

= max(D3:D11)

= min(D6:F6)

Page 11: Folha de Cálculo 2

25 de Maio de 2006 Folha de Cálculo 11

Agregações (Médias Ponderadas)

• A média ponderada de n valores vi,

cada um com peso pi, é obtida através

da fórmula1 B C D E F2 média3 ponderada4 1 2 3 8.335 3 2 1 11.676 8 1 1 13.507 valor 15 10 5 10.00

pesos

= { SUM(C5:E5*C$7:E$7)/SUM(C5:E5) }

= sumproduct(C5:E5*C$7:E$7)/SUM(C5:E5)

n

ii

n

iii

p

p

vpm

1

1

• Em EXCEL tal pode ser implementado pelas fórmulas

Nota: Array expression

CTRL-SHIFT-ENTER

Page 12: Folha de Cálculo 2

25 de Maio de 2006 Folha de Cálculo 12

Agregações (Médias Ponderadas)• Eis o exemplo anterior com médias e médias ponderadas. De

notar o endereçamento absoluto na linha dos pesos.1 B C D E F G H2 peso 5 1 2 média3 num nome nota 1 nota 2 nota 3 ponderada4 20685 maria 16.1 18.8 9.3 14.73 14.745 18937 ricardo 17.3 17.6 15.9 16.93 16.996 20744 luís 9.9 8.6 12.2 10.23 10.317 20179 mário 8.3 15.7 15.6 13.20 11.058 20447 madalena 19.8 13.6 19.7 17.70 19.009 19874 vera 11.1 10.2 8.9 10.07 10.4410 18849 marta 9.2 7.3 18.3 11.60 11.2411 20765 pedro 10.7 15.4 16.8 14.30 12.8112 19686 joão 10.7 18.2 12.9 13.93 12.19

média

= {sum(D9:F9*D$2:F$2)/sum(D$2:F$2)}

= sumproduct(D9:F9,D$2:F$2)/sum(D$2:F$2)

Page 13: Folha de Cálculo 2

25 de Maio de 2006 Folha de Cálculo 13

Arredondamentos• Tal como em OCTAVE, o Excel considera todos os dados numéricos

como reais. No entanto eles podem ser convertidos em inteiros

(operações, floor, ceiling e round), ou simplesmente mostrados com a

precisão desejada (não alterando o seu valor)...

1 B C D E F G H2 peso 5 1 2 média3 num nome nota 1 nota 2 nota 3 arredondada4 20685 maria 16.1 18.8 9.3 14.73 15.005 18937 ricardo 17.3 17.6 15.9 16.93 17.006 20744 luís 9.9 8.6 12.2 10.23 10.007 20179 mário 8.3 15.7 15.6 13.20 13.008 20447 madalena 19.8 13.6 19.7 17.70 18.009 19874 vera 11.1 10.2 8.9 10 1010 18849 marta 9.2 7.3 18.3 12 1211 20765 pedro 10.7 15.4 16.8 14 1412 19686 joão 10.7 18.2 12.9 14 14

média

= round(B6)Format: cells: number: decimal places: 0

Page 14: Folha de Cálculo 2

25 de Maio de 2006 Folha de Cálculo 14

Contagens• Outras operações de agregação´muito utilizadas são

operações de contagem, especialmente as condicionais. Para tal poderão ser utilizadas as funções prédefinidas sum / sumif ou, mais directamente, count / countif.

1 H I J K L2 média3 arredondada valor frequência4 15 10 25 17 11 06 10 12 17 13 13 18 18 14 29 10 15 110 12 16 011 14 17 112 14 18 1

= countif(H$4:H$12,J4)= sumif(int(H$4:H$12= J11))

Page 15: Folha de Cálculo 2

25 de Maio de 2006 Folha de Cálculo 15

Contagens• As comparações podem ser feitas não apenas para valores

iguais, mas também para valores que satisfaçam uma certa condição.

1 H I J K2 média3 arredondada4 15 valores maiores 5 17 do que 126 10 67 138 189 1010 1211 1412 14

= countif(H$4:H$12,”>12”)

= { sum(int(H$4:H$12>12)) }Ou com a operação sobre vectores

Page 16: Folha de Cálculo 2

25 de Maio de 2006 Folha de Cálculo 16

Parametrização com texto• Para parametrizar os campos de texto, podem ser usadas

operações sobre strings, nomeadamente a concatenação.

1 H I J K L2 média maiores3 arredondada do que >4 15 10 75 17 11 76 10 12 67 13 13 58 18 14 39 10 15 210 12 16 211 14 17 112 14 18 0

= countif(H$4:H$12,concatenate(">",J4))

= countif(H$4:H$12,concatenate(K$3,J4))

ou

Page 17: Folha de Cálculo 2

25 de Maio de 2006 Folha de Cálculo 17

Parametrização com texto• Para expressar critérios de selecção mais complexos podem

utilizar-se expressões booleanas ou a sua conversão em expressões numéricas (em Excel,as operações booleanas não são muito “fiáveis”).

1 H I J K L2 média3 arredondada 12 ... 154 15 55 176 107 138 189 10 12 ... 1510 12 411 1412 14

valores dentro do intervalo

valores fora do intervalo

= { sum(int(H4:H12 >= J3) * int(H4:H12 <= L3)) }

= { sum(int(H4:H12 < J9) + int(H4:H12 > L9)) }

Page 18: Folha de Cálculo 2

25 de Maio de 2006 Folha de Cálculo 18

Classificações• A classificação (“ranking”) de valores num vector/matriz é

igualmente uma operação frequente e que pode ser obtida por

contagens condicionais, ou directamente pela função rank.

1 B C D E F G H2 peso 5 1 23 num nome nota 1 nota 2 nota 34 20685 maria 16.1 18.8 9.3 14.73 35 18937 ricardo 17.3 17.6 15.9 16.93 26 20744 luís 9.9 8.6 12.2 10.23 87 20179 mário 8.3 15.7 15.6 13.20 68 20447 madalena 19.8 13.6 19.7 17.70 19 19874 vera 11.1 10.2 8.9 10.07 910 18849 marta 9.2 7.3 18.3 11.60 711 20765 pedro 10.7 15.4 16.8 14.30 412 19686 joão 10.7 18.2 12.9 13.93 5

média classificação

= rank(G8,G$4:G$12 )= {sum(int(G$4:G$12 >= G6))}

Page 19: Folha de Cálculo 2

25 de Maio de 2006 Folha de Cálculo 19

Procura de valores em tabelas• A instrução vlookup permite que dado um valor de referência,

se seleccione um valor numa tabela, na linha começada por esse valor, e colocado na coluna especificada. Por exemplo, dado o número de um aluno, pode obter-se o seu nome

1 B C D E F G H23 num nome nota 1 nota 2 nota 34 20685 maria 16.1 18.8 9.3 número5 18937 ricardo 17.3 17.6 15.9 189376 20744 luís 9.9 8.6 12.27 20179 mário 8.3 15.7 15.6 nome8 20447 madalena 19.8 13.6 19.7 ricardo9 19874 vera 11.1 10.2 8.910 18849 marta 9.2 7.3 18.311 20765 pedro 10.7 15.4 16.812 19686 joão 10.7 18.2 12.9

classificação

= vlookup(H5,B4:F12,2,false)

Page 20: Folha de Cálculo 2

25 de Maio de 2006 Folha de Cálculo 20

Procura de valores em tabelas• De notar que a tabela tem de ter o valor de referência na

coluna mais à esquerda. Por exemplo, se pretendermos obter os nomes dos primeiros 5 alunos, temos de colocar a coluna de classificação à esquerda da tabela

= vlookup(J6,B$4:D$12,3,false)

1 B C D H I J K23 rank num nome média4 3 20685 maria 14.75 2 18937 ricardo 16.9 1 madalena6 8 20744 luís 10.2 2 ricardo7 6 20179 mário 13.2 3 maria8 1 20447 madalena 17.7 4 pedro9 9 19874 vera 10.1 5 joão10 7 18849 marta 11.611 4 20765 pedro 14.312 5 19686 joão 13.9

melhores alunos

Page 21: Folha de Cálculo 2

25 de Maio de 2006 Folha de Cálculo 21

Seleccão por linha e coluna• Um valor pode ser seleccionado de uma tabela através da

função index, se for indicada a linha e coluna pretendida. Em alguns casos, a posição (linha ou coluna) pretendida pode ser obtida pela função auxiliar match.

1 B C D H I J K L23 rank num nome média4 3 20685 maria 14.7 média5 2 18937 ricardo 16.9 10.26 8 20744 luís 10.27 6 20179 mário 13.2 posição8 1 20447 madalena 17.7 39 9 19874 vera 10.110 7 18849 marta 11.611 4 20765 pedro 14.312 5 19686 joão 13.9

que também pode ser obtida através da utilização da função row= {sum(int(K5=H$4:H$12)*(row(H$4:H$12)-row(H3)))}

= match(K5,H4:H12,0)

5ª posição

Page 22: Folha de Cálculo 2

25 de Maio de 2006 Folha de Cálculo 22

Seleccão por linha e coluna• A utilização conjunta das funções index e match permite

determinar não só a posição do elemento máximo de um vector mas outros campos relacionados registados noutras colunas.

= index(B4:D12, match(L6,H4:H12,0), 2)

1 B C D H I J K L23 rank num nome média4 3 20685 maria 14.75 2 18937 ricardo 16.9 num nome média6 8 20744 luís 10.2 20447 madalena 17.77 6 20179 mário 13.28 1 20447 madalena 17.79 9 19874 vera 10.110 7 18849 marta 11.611 4 20765 pedro 14.312 5 19686 joão 13.9

aluno com melhor média

= index(B4:D12,match(L6,H4:H12,0), 3)

= max(H4:H12)5ª posição

Page 23: Folha de Cálculo 2

25 de Maio de 2006 Folha de Cálculo 23

Seleccão por linha e coluna• A determinação da posição de um valor máximo numa tabela

deve ser feita pelos “equivalentes” da função match.

={sum(int(K5=H$4:H$12)*(row(H$4:H$12)-row(H3)))}

1 B C D E F G H I J23 1 2 3 4 54 1 3627 2290 5011 6829 57005 2 193 1470 6761 3604 1211 maior valor6 3 9259 2671 2379 7652 4735 95907 4 5038 445 3824 9498 85198 5 9290 9590 4931 4352 4428 linha9 6 253 7813 1034 6926 5172 510 7 5918 5345 2998 3788 4384 coluna11 8 1460 9379 3915 4152 9058 212 9 2249 3412 3324 2737 8152

= max(C4:G12)

={sum(int(K5=H$4:H$12)*(column(H$4:H$12)-column(H3)))}