Ludwig Krippahl, 2007 Programação para as Ciências Experimentais 2006/7 Teórica 11
Ludwig Krippahl, Na aula de hoje... Excel Macros Histogramas. Referência dinâmica (OFFSET) Formatação condicional Cálculo condicional (SUMIF, COUNTIF) Strings Informação sobre conteúdo das células Trabalho 2
Ludwig Krippahl, Macros «Macro-instrução» Conjunto de instruções que é executado como uma só (significado inicial, 1970s). Hoje em dia tem um significado mais geral, refere-se a qualquer programa escrito numa linguagem usada para controlar uma aplicação. No caso do Excel, Visual Basic.
Ludwig Krippahl, Macros Gravar macro:
Ludwig Krippahl, Macros Gravar macro: Tools->Macro->Record new Macro Dar nome (e.g. Ordenar).
Ludwig Krippahl, Macros Gravar macro: Tools->Macro->Record new Macro Dar nome (e.g. Ordenar). No final, carregar no stop
Ludwig Krippahl, Macros Alternativas para correr a macro: Tools->Macro->Macros->Run Usar a combinação de teclas definida quando gravámos (ou definir uma em Tools->Macro- >Macros->Options Atribuir a macro a um objecto na folha (um botão, um desenho). Para um desenho, click botão da direita e Assign Macro.
Ludwig Krippahl, Macros Bom para tarefas repetitivas de formatação, ordenação, reposicionar dados, etc.
Ludwig Krippahl, Macros Para ver o código: Tools->Macro->Visual Basic Editor Modules
Ludwig Krippahl, Macros Sub Ordena() Columns("A:B").Select Selection.Sort Key1:=Range("A2"), Order1:=xlAscending, Header:=xlGuess, _ OrderCustom:=1, MatchCase:=False, Orientation:=xlTopToBottom, _ DataOption1:=xlSortNormal End Sub
Ludwig Krippahl, Histogramas Função FREQUENCY( Dados; Separadores) É uma função que devolve um vector de dimensão igual a um mais o número de separadores, com as contagens dos elementos entre os separadores (ou maiores que o último)
Ludwig Krippahl, Histogramas DadosSeparadores FREQUENCY
Ludwig Krippahl, Referências dinâmicas OFFSET( Célula de referência, a partir da qual contamos as linhas e colunas; Linhas; Colunas; Altura; Largura) Tem que ser usada como argumento de outra função (e.g. SUM, AVERAGE...)
Ludwig Krippahl, Referências dinâmicas Exemplo: OFFSET(A1,3,5,2,4) Grupo de 2x4 (altura x largura) células a começar da 3ª linha e 5ª coluna a contar da A1.
Ludwig Krippahl, Referências dinâmicas Exemplo:
Ludwig Krippahl, Referências dinâmicas É útil para fazer depender a referência de um valor calculado. Por exemplo, com COUNTA, que conta o número de células não vazias. Exemplo =SUM(OFFSET(A1;1;1;COUNTA(B:B)-1;1)) Soma a coluna dos gastos, qualquer que seja o numero de entradas (o -1 desconta o cabeçalho Gastos).
Ludwig Krippahl, Formatação Condicional Seleccionar células Format->Conditional Formatting Especificar condições e formatação se as condições forem preenchidas (Exemplo: a vermelho e bold se o gasto for maior que 100).
Ludwig Krippahl, Formatação Condicional Seleccionar células Format->Conditional Formatting Especificar condições e formatação se as condições forem preenchidas (Exemplo: a vermelho e bold se o gasto for maior que 100).
Ludwig Krippahl, Cálculo Condicional COUNTIF(células, condição) Conta quantas preenchem condição Condição é uma string >20, =12 SUMIF(células, condição, células a somar) Soma as células no último argumento que correspondem às do primeiro que cumprem a condição.
Ludwig Krippahl, Strings LEN(string) Comprimento. CONCATENATE(S1;S2;...) União das strings LEFT(string, numero de caracteres) Devolve os primeiros caracteres da string RIGHT(string, numero de caracteres)
Ludwig Krippahl, Informação sobre células ISBLANK(célula) True se está vazia ISNA(célula) True se é um erro do tipo #N/A ISERR(célula) True se qualquer erro excepto #N/A ISNUMBER, ISTEXT, ISERROR...
Ludwig Krippahl, Trabalho 2 Modelo:
Ludwig Krippahl, Trabalho 2 Tem dois parâmetros mas a taxa de recuperação é 1 sobre o tempo médio de hospitalização.
Ludwig Krippahl, Trabalho 2 Dados: Doente com alta: Ver radiografias em anexo. Deu entrada a 4 de Maio de Sofre de miopia Teve alta a 10 de Maio de 2007.
Ludwig Krippahl, Trabalho 2 Dados: Data em que ficou infectado: Ver radiografias em anexo. Deu entrada a 4 de Maio de Sofre de miopia Teve alta a 10 de Maio de 2007.
Ludwig Krippahl, Trabalho 2 Dados: Data em que recuperou (já não conta como I): Ver radiografias em anexo. Deu entrada a 4 de Maio de Sofre de miopia Teve alta a 10 de Maio de 2007.
Ludwig Krippahl, Trabalho 2 Dados: Doente que ainda não teve alta (só tem data de entrada): Sofre de miopia Deu entrada a 21 de Maio de Tomou três aspirinas.
Ludwig Krippahl, Trabalho 2 Dados: Os dados são datas de entrada e saída Modelo O modelo é acerca do número de susceptíveis, infectados, e recuperados Datas Em cada lote os dados são até ao dia da última entrada. Não podemos saber quantos infectados há depois (quantos entram ou saem)
Ludwig Krippahl, Trabalho 2 Actualizar Substituir todos os ficheiros.txt pelos que vêm no novo lote (pacientes sem alta podem já ter tido alta). Exemplo: Maio21.zip: ficheiros 1 a 27 Maio28.zip: ficheiros 1 a 70, para substituir os outros e adicionar mais dados
Ludwig Krippahl, Trabalho 2 Ajuste do modelo Pelos ficheiros podem obter o valor de I para cada dia da epidemia (até à data do lote de ficheiros) e o valor da taxa de recuperação. Ajustem o modelo de forma a que o número de infectados no modelo corresponda o melhor possível ao número de infectados observado.
Ludwig Krippahl, Trabalho 2 Resultado final Um sistema prático e fácil de usar para se actualizar os dados e ver no Excel a simulação, os dados, e a informação pedida (máximo de infectados ao mesmo tempo, total de afectados ao fim de 100 dias, a simulação para 100 dias, etc...) Deve estar explicado na folha Excel como usar o sistema.
Ludwig Krippahl, Trabalho 2 Resultado final
Ludwig Krippahl, Próxima aula Dúvidas sobre o trabalho Dicas sobre o exame Estrutura do enunciado Tipos de perguntas Alguns exemplos Revisões, ou o que quiserem (enviem sugestões antecipadamente)
Ludwig Krippahl, Dúvidas