Escolar Documentos
Profissional Documentos
Cultura Documentos
ETAPA 3
SUBTOTAIS, OPERADORES DE BUSCA E TROCA E
FUNÇÕES DE BANCO DE DADOS
CENTRO UNIVERSITÁRIO
LEONARDO DA VINCI
Rodovia BR 470, Km 71, nº 1.040, Bairro Benedito
89130-000 - INDAIAL/SC
www.uniasselvi.com.br
Organização
Greisse Moser Badalotti
Autor
Paolo Moser
Reitor da UNIASSELVI
Prof. Hermínio Kloch
Diagramação e Capa
Renan Willian Pacheco
Revisão
Harry Wiese
3.1 INTRODUÇÃO
Olá! Neste capítulo daremos continuidade aos nossos estudos de Excel Avançado,
fazendo uso de subtotais, operadores de busca e troca e funções de bancos de dados.
As ferramentas apresentadas aqui são de suma importância para que você possa
adquirir versatilidade e eficiência no tratamento de dados utilizando o Excel. Elas
exigem uma intimidade com os princípios fundamentais dos operadores lógicos que
foram explorados no Capítulo 1. Portanto, se você ficou com alguma dúvida, este é o
momento de fazer uma breve revisão deste capítulo. Por meio do uso destas ferramentas,
você poderá implementar comandos de buscas e operações condicionais, pesquisa por
referência e operações com data e hora dinâmicas.
3.2 SUBTOTAIS
A função SUBTOTAL pode ser utilizada para realizar operações que envolvem
somatórios e contagens sobre um conjunto de células. Com ela é possível calcular, por
exemplo, o valor médio de uma determinada coluna. Apesar de existirem funções
especiais para isto (como a função SOMA e MÉDIA, por exemplo), o SUBTOTAL
oferece mais versatilidade, principalmente quando utilizado concomitantemente com
o autofiltro.
FONTE: O autor
Resolução 3.1. Admitindo que os dados estão nas mesmas células apresentadas na
FIGURA 3.1, digite na célula F13 (arbitrária) a seguinte expressão: =SUBTOTAL(101;C:C).
Neste caso, o parâmetro 101 indica que o valor a ser calculado é a média, omitindo
valores ocultos (vide TABELA 3.1). Neste instante, a célula F13 deve mostrar o valor
38,7. Esta é a média de idade de todos os registros. Agora, habilite o autofiltro na coluna
Exemplo 3.2. Utilizando a base de dados da FIGURA 3.1, utilize a função PROCV
para obter a idade do usuário “Mateus Oliveira”.
Resolução 3.2. Escolha a célula, de acordo com sua necessidade, que receberá
a função PROCV. Para este exemplo (e para os exemplos subsequentes, quando
possível), utilizaremos por padrão a célula G3. Nesta célula, digite a seguinte função:
=PROCV(A4;A1:C11;3). A4 faz referência ao nome procurado (“Mateus Oliveira”).
A1:C11 representa o intervalo onde faremos a procura. Note que o nome procurado deve
estar na primeira coluna deste intervalo. Por fim, “3” representa a coluna do intervalo que
Exemplo 3.3. Suponha que a tabela da FIGURA 3.1 esteja transposta, conforme
FIGURA 3.2. Utilize a função PROCH para obter a idade do mesmo usuário “Mateus
Oliveira”, do exemplo anterior.
FONTE: O autor
Exemplo 3.6. Suponha que desejamos uma contagem dos usuários listados na
FIGURA 3.1, segundo sua faixa de idade. Utilize a função FREQUÊNCIA para obter
este relatório, utilizando classes com amplitude de 10 anos.
FONTE: O autor
Resolução 3.7. Esta função é muito simples. Basta digitar na célula G3 a seguinte
expressão =INDIRETO(“A2”). A2 representa a célula da qual desejamos obter o valor.
Note que ela está entre aspas porque o Excel entende este campo como um texto, e textos
sempre são informados entre aspas. Após ENTER, a célula G3 deve apresentar o valor
“João da Silva”.
Nesta seção, veremos como o encadeamento pode ser útil quando lidamos com
operadores lógicos como condicionais, conjunções e disjunções.
3.4.1 Função E
Exemplo 3.8. Para os dados da FIGURA 3.1, suponha que você deseja saber quais
usuários são brasileiros E têm mais de 30 anos. Utilize a função E para isso.
1 Esta variável recebe este nome em homenagem ao lógico/matemático George Boole (Inglaterra,
1815-1864).
Resolução 3.8. Criaremos um novo campo, na coluna D (você pode dar o título
que quiser para este campo – aqui, chamaremos simplesmente de “Operador E”). Na
célula D2, criaremos a condição desejada, através da expressão =E(B2="Brasil";
C2>30). Os parâmetros são autoexplicativos, não é mesmo? Estamos buscando pelos
registros cujos usuários são brasileiros E têm mais de 30 anos (B2 e C2 representam a
“Nacionalidade” e a “Idade”, respectivamente). Clique em Enter e, em seguida, arraste
a fórmula até a última linha do intervalo (célula D11). Pronto: as células D2 e D8 devem
estar com o atributo “VERDADEIRO”, as demais, “FALSO”. Note que são exatamente
estes registros que atendem aos critérios pesquisados. Note também que “Mateus
Oliveira” recebeu atributo FALSO (D4). Isso porque apenas um dos critérios foi atendido
(ser brasileiro), mas o operador E exige que ambos os critérios sejam simultaneamente
verdadeiros.
3.4.2 Função OU
Exemplo 3.8. Para os dados da FIGURA 3.1, suponha que você deseja saber quais
usuários são argentinos OU têm menos de 25 anos. Utilize a função OU para isso.
Suponha que você deseja fazer uma consulta em uma base de dados de uma
escola. Suponha também que esta base de dados tenha duas colunas (atributos), a
saber: frequência percentual e média geral. Os registros (linhas) correspondem às
informações dos diversos alunos matriculados nesta escola. Agora, imagine que a
direção da escola gostaria de oferecer um prêmio aos alunos com frequência superior a
90% e média geral superior a 9,5, e para isso necessita obter um relatório com os alunos
contemplados. Neste caso, a direção poderia criar uma terceira coluna nesta tabela com
o cabeçalho “CONTEMPLADO”, por exemplo. Esta coluna recebe “sim” ou “não”.
Agora, basta testar os atributos das duas primeiras colunas simultaneamente e aferir
o resultado. A lógica deste teste é: “Se frequência percentual for maior do que 90% e
média geral for superior a 9,5, então atribuir ‘sim’ ao aluno, senão atribuir ‘não’ (na
coluna CONTEMPLADO)”. Simples, não?
Exemplo 3.9. Suponha agora que a empresa que gerencia os dados da FIGURA
3.1 oferece seus serviços apenas para brasileiros maiores de 30 anos. Você deseja obter
um relatório onde os registros que obedecem a estas condições estão listados como
“APROVADO” e os demais como “REPROVADO”. Utilize a função SE e o operador
lógico necessário para esta tarefa.
2 No caso do exemplo anterior, foi utilizada apenas a função E encadeada na função SE. O
encadeamento da função OU é análogo.
Exemplo 3.10. Agora, suponha que você deseja somar as idades de todos os
argentinos presentes na FIGURA 3.1. Utilize a função SOMASE para isso.
Suponha agora que você esteja diante da mesma planilha com valores entre
0 e 100, que havíamos hipotetizado para exemplificar a função SOMASE, na seção
anterior. Suponha também que, agora, ao invés de somar, você deseja contar o número
de ocorrências com valor maior do que 70. A função CONT.SE faz exatamente isto:
Contabiliza apenas os registros que atendem a um critério especificado. Neste contexto,
ela é um encadeamento nativo do Excel para as funções CONT.NÚM e SE.
Esta função é mais uma implementação da função SE, que permite a automatização
daquilo que os programadores chamam de “tratamento de exceção”. Uma exceção, neste
caso, é um erro devido a uma impossibilidade lógica. Por exemplo, imagine que você
está dividindo, um a um, os valores da coluna A pelos valores da coluna B. Suponha
também que alguns valores/registros em B sejam iguais a zero, o que impossibilitará
a divisão. Se você não estabelecer nenhuma condição, o Excel retornará #DIV/0 (erro
por divisão por zero). Entretanto, eventualmente, gostaríamos de uma mensagem
personalizada, do tipo “Valor da coluna B ausente”. É neste contexto que SEERRO se
insere – retornando uma mensagem pré-especificada pelo usuário.
Exemplo 3.12. Considere que os dados abaixo (FIGURA 3.4) referem-se ao número
de horas trabalhadas de diversos funcionários da empresa X. A terceira coluna traz o
valor da hora trabalhada de cada funcionário (presumidamente, de acordo com sua
função). Suponha que você deseja obter o valor a ser pago para cada um dos funcionários,
de acordo com estes dados. Como você faria isso, tomando o cuidado de que a planilha
foi preenchida pelo pessoal do Recursos Humanos da empresa e pode estar suscetível
às falhas humanas?
FONTE: O autor
Resolução 3.12. Criaremos uma nova coluna (D), que chamaremos de “Salário”.
Para saber quanto cada funcionário deverá receber, precisamos multiplicar o número
de horas trabalhadas pelo valor monetário da hora. Note que a célula C5 tem um dado
faltante, o que ocasionará um erro na multiplicação. Para tanto, na célula D2, digite a
seguinte expressão: =SEERRO(B2*C2;"Dados Faltantes"). Em uma “tradução
livre”, esta expressão “diz” para o Excel: “Se a multiplicação de B2 por C2 for possível,
retorne este valor, caso contrário, informe “Dados Faltantes”. Expanda a fórmula até a
célula D6. Note que a célula D5 apresentou a informação “Dados Faltantes”, enquanto
as demais apresentaram o resultado da multiplicação Horas x Valor. Desta forma, fica
fácil encontrar erros no preenchimento da planilha.
FONTE: O autor
FONTE: O autor
Suponha agora que você deseja fazer operações matemáticas com registros que
tenham atributos quantitativos (como “horas”, por exemplo) e atributos qualitativos
(“mês”, por exemplo). Você já identificou o entrave, certo? Atributos qualitativos são
restritos quanto ao tratamento matemático, uma vez que operações algébricas não podem
ser aplicadas a eles. Pensando nisso, os desenvolvedores do Excel implementaram uma
série de ferramentas que permitem atingir este objetivo, chamadas popularmente de
Funções de Data e Hora (apesar de mais atributos serem contemplados). Exploraremos
estas funções nesta seção. Como estas funções possuem funcionalidades que dependem
da data vigente em que o aluno estiver praticando, não apresentaremos um exemplo
específico nesta seção. Acreditamos que as instruções da parte conceitual sejam
suficientes para que o aluno possa executar estas funções no momento em que lhe for
conveniente.
A melhor parte das funções de data e hora é que o nome atribuído à função
normalmente é muito intuitivo e fácil de lembrar. A função HOJE, por exemplo, retorna
a data vigente, de acordo com a configuração do sistema operacional. Simples, não?
Pois é, e tem mais: como a data é obtida diretamente do sistema, argumentos adicionais
são desnecessários, sendo que sua sintaxe fica reduzida a =HOJE().
Suponha que você deseja saber em que dia da semana seu aniversário foi
comemorado 10 anos atrás. Com um pouco de lógica e uma boa dose de paciência (ou
com o auxílio de um calendário antigo), é possível obter esta informação – não esqueça
de considerar os anos bissextos. Entretanto, com o auxílio do Excel e da função DIA.
DA.SEMANA, você pode obter este dado de forma rápida e segura!
• núm_série: Para poder realizar operações com datas, o Excel atribui um valor único e
sequencial para cada data, desde o dia primeiro de janeiro de 1900, que corresponde
ao número 1. Após esta data, a cada novo dia, este número sequencial é incrementado
em um (i.e., dia 2 de janeiro de 1900 corresponde ao número sequencial 2, e assim
por diante). O atributo “núm_série” espera que você insira este número sequencial.
Você pode fazer isso indiretamente, através do encadeamento da função DATA, que
recebe uma data normal e converte, automaticamente, em seu número sequencial. A
sintaxe da função DATA é =DATA(ano; mês; dia).
• [retornar_tipo]: Este argumento opcional ajusta a numeração para o dia da semana
específico. Na sua forma-padrão, a numeração atribui “um” ao domingo, “dois” à
segunda e assim por diante. A lista completa de opções é fornecida pelo Excel no
momento em que você está implementando a função.
Esta função retorna o número sequencial associado a uma data que ocorrerá
“n” dias úteis a contar a partir de uma data inicial. O Excel exclui automaticamente
sábados e domingos do cômputo de dias úteis. Se desejar excluir também feriados,
estes deverão ser informados através de uma lista. Então, a sintaxe desta função é dada
por =DIATRABALHO(data_inicial; dias; [feriados]). Lembre-se de que, por padrão, a
“data_inicial” deverá ser um número sequencial (use a função DATA para facilitar as
coisas).
REFERÊNCIAS