APROG Civil - Filtragem em Excel v1 - Dei-Isep

Propaganda
APROG - Civil
Excel
Filtragem de informação em tabelas
Instituto Superior de Engenharia do Porto
2004-2007
Elaborado por: António Silva (DEI-ISEP)
Filtragem de Informação em Tabelas
Quando o volume de dados contido numa tabela do Excel ultrapassa as poucas dezenas de
linhas, torna-se problemática a busca da informação necessária. Assim, a tarefa de isolar
apenas as linhas, ou registos, que obedecem a um determinado critério, é morosa e sujeita
a erros e omissões. O Excel oferece duas possibilidades de filtrar a informação requerida,
escondendo a que não interessa e ressaltando apenas a que se pretende encontrar: os
Filtros Automáticos e os Filtros Avançados.
Figura 1
Filtros Automáticos
Quando as necessidades de filtragem são razoavelmente simples, a filtragem de informação
em tabelas é normalmente efectuada usando o Filtro Automático ou Auto-Filter. Por
exemplo, se se desejasse visualizar apenas as linhas da tabela da Figura 1 que obedecem ao
critério “viaturas de marca Seat com kilometragem inferior a 30000Km”, seria possível
obter facilmente o resultado desejado,seleccionando no Filtro Automático as condições
adequadas nas colunas “Marca” e “NºKms”, conforme ilustrado nas Figuras 2 e 3 e 4:
Figura 2
3
Figura 3
O critério da marca “Seat” é escolhido directamente na lista oferecida pelo filtro (Figura
3). O critério da “kilometragem inferior a 30000Km”, pressupondo uma comparação, deverá
ser especificado mediante a “Personalização” do filtro automático (Figura 2). A aplicação
simultânea desses dois critérios tem como resultado a filtragem pretendida (Figura 4):
Figura 4
Se bem que fáceis de utilizar, os filtros automáticos têm, no entanto, algumas limitações:
1. o resultado da filtragem é apresentado na
própria tabela. Para poder extrair o
conjunto de linhas que obedecem a um dado
critério e transferi-lo para outra área da
folha de cálculo, há que recorrer a
operações adicionais.
2. o critério de filtragem, podendo ser
múltiplo, isto é, composto por várias subcondições, está, no entanto, algo limitado
no que diz respeito a critérios múltiplos em
que as sub-condições individuais não se
aplicam à mesma coluna de dados.
Figura 5
Por exemplo, não é óbvia a forma como com o Filtro Automático será possível filtrar
segundo um critério como o seguinte: “viaturas da marca Renault ou qualquer uma com
menos de 50000Km”.
A forma de tornear essas limitações, quando tal se justifica, é recorrer à utilização de
Filtros Avançados.
Filtros Avançados
Estes filtros usam critérios que são inseridos em células contíguas da própria folha de
cálculo. Veja-se o exemplo da Figura 5.
Na célula C18 e C19 encontra-se especificado o primeiro critério (“viatura da marca
Renault”), e nas células D18 e D19 foi inserido o segundo critério (“viatura com ano de
fabrico posterior a 1995”). Repare-se que cada critério ocupa duas células adjacentes em
coluna. Na célula superior deve encontrar-se o nome (exacto!) da coluna da tabela em que
4
o critério se vai aplicar, ficando na célula de baixo o critério propriamente dito. Uma vez
definido o critério de filtragem (múltiplo, neste caso), deve ser chamado o Filtro Avançado
(mediante “Menu/Dados/Filtro/Filtro Avançado”) e preenchidos os campos do diálogo
seguinte:
Em “Acção” é agora possível escolher se o resultado da
filtragem deve ser apresentado na própria lista
(“Filtrar a lista no local”) ou se deve ser extraído para
outro local da folha de cálculo ou mesmo de uma folha
de cálculo diferente. Caso a extracção para outro local
seja o pretendido, deverá ser preenchido o campo
“Copiar para”.
O “Intervalo da lista” deve ser preenchido com a
gama de células em que a tabela a filtrar se encontra
e por “Intervalo de critérios” entende-se a gama de
células em que se encontram especificados os critérios
a aplicar.
O resultado obtido com este filtro avançado pode ser
visto na Figura 7. Esta técnica permite a criação de
filtros com qualquer número de sub-condições.
Figura 6
Figura 7
Caso se efectue a filtragem sobre a própria lista, é possível reverter ao estado inicial
mediante “Menu/Dados/Mostrar tudo”.
No exemplo usado na Figura 5, temos duas condições em linha,
lado a lado. A condição múltipla obtida resulta, assim, de um
AND das duas condições simples (“Marca=Renault” E
“Ano>1995”). Caso se pretenda unir subcondições mediante um
OR, haverá que as dispor em linhas diferentes. Veja-se o exemplo
de especificação do critério “Marca Renault OU Cilindrada menor
que 1500” descrito na Figura 8. O resultado obtido após filtragem
avançada com o critério definido acima será:
Figura 9
5
Figura 8
É ainda possível criar critérios com condições múltiplas unidas por AND e OR. O critério
“Marca Seat E Preço superior a 3000 contos OU Marca Seat E Cilindrada superior a 1500”
seria especificado conforme a Figura 10 abaixo.
Figura 10
O resultado obtido será assim o seguinte:
Figura 11
É ainda possível usar os Filtros Avançados para obter uma lista de todos os valores
diferentes contidos numa dada coluna de uma tabela, caso existam valores repetidos, como
é o caso na nossa tabela de exemplo. O que foi dito para uma coluna é, também, válido
para uma linha, caso a tabela esteja organizada na horizontal. Um exemplo de informação
a extrair da tabela seria, por exemplo, o de conhecer todas as marcas de carros diferentes.
Deve-se, nesse caso, fazer uso da opção “Copiar para outro local”, seleccionar como
“Intervalo da lista” apenas a coluna em que se encontram os dados a filtrar, deixar em
branco o campo de “Intervalo de critérios”, e finalmente seleccionar a caixa de opção “Só
registos únivocos (1)”, conforme descrito na figura 12:
Figura 12
O resultado obtido com a selecção da gama de células C3:C14, usando as opções descritas
na figura acima, será então:
1
6
Na humilde opinião do autor, dever-se-ia ter escrito “Só registos únicos”...
Figura 13
Uma forma alternativa de especificar o critério de um filtro avançado é através do uso de
fórmulas contidas em células. Qualquer fórmula pode ser utilizada, desde que o resultado
por ela obtido seja um valor lógico (Verdadeiro ou Falso).
Figura 14
Por exemplo, na célula I3 da folha de cálculo acima foi colocada a seguinte fórmula:
=D2 <> E2
Com este critério, pretende-se que o filtro apenas seleccione as linhas em que as células
das colunas D e E tenham o mesmo conteúdo.
O resultado obtido será assim:
7
Figura 15
Se, por outro lado, o objectivo for visualizar apenas as linhas em que o número de
encomenda contem o algarismo 8, a fórmula a utilizar como critério será:
=ISNUMBER(FIND("8";F6))
A função Find() permite procurar um texto (neste caso “8”) dentro do texto contido numa
célula.
Há que ter em atenção que, para que este filtro funcione, as células contendo os números
de encomenda devem estar formatadas como “texto” e não como um valor numérico.
Esta função, caso encontre o texto em causa, devolve a posição em que o tal aconteceu.
Em caso contrário, devolverá “False”. Ora, a fórmula a utilizar pelo filtro avançado deve
fornecer como resultado apenas valores lógicos (“True” ou “False”). Utilizando a função
IsNumber() é possível cumprir este requisito. Ela devolverá “True” caso o valor devolvido
por Find() seja numérico (ou seja, tenha encontrado “8” dentro do nº de encomenda), e
“False” em caso contrário. Outro cuidado a ter é o de incluir na área seleccionada como
contendo o critério a célula imediatamente acima àquela em que o critério
propriamente dito se encontra.
Vejamos agora mais dois exemplos, utilizando uma folha de cálculo diferente.
8
Figura 16
Caso se pretenda filtrar esta tabela de modo a apenas figurarem nela as linhas em que a
coluna “Produto” está em branco, poder-se-á usar o seguinte critério:
=C2=""
Um último exemplo permite visualizar as linhas que obedecem ao seguinte critério: as 5
encomendas com maior valor. A fórmula usada será:
=D2<LARGE($D$2:$D$28;5)
A função LARGE($D$2:$D$28;5) devolve a informação de qual o 5º maior valor no conjunto
de células $D$2:$D$28.
O resultado obtido será:
Figura 17
ISEP, Março de 2004 / Dezembro de 2007
9
António Silva
Download