Anda di halaman 1dari 21

FILTRO AVANADO EXCEL

COM MACRO
Por Marcos Rieper 11 de setembro de 2010
78

Compartilhar no Facebook
Tweet no Twitter

Tabela - Cabealho

Neste artigo voc aprender como utilizar o filtro avanado, e mais,


como utiliz-lo com uma macro de Excel para tornar o filtro automtico.
Para isso vamos conhecer como funciona o filtro avanado do
Excel:
1. Faa download do arquivo base clicando no boto abaixo:

2. Com o arquivo que voc baixou copie o


cabealho da lista a partir da clula H1.

Tabela Cabealho
3. Para criar um filtro avanado voc deve saber que:

A planilha deve possuir uma lista com cabealhos, esta lista a


fonte aonde sero aplicados os filtros;

Deve haver uma parte da planilha com os mesmos cabealhos,


os cabealhos devem ser exatamente iguais, pois abaixo
destes campos que voc colocar os critrios, que podem ser
frmulas que retornem valores da lista, pode ser valores
utilizando os indicadores >, <, <>, =, como por exemplo >1.

4.Digite na clula H2 a palavra Joo, na coluna valor da clula L2 digite


>100.

5.Clique na guia Dados e no boto Avanado.


6.Na tela que segue, voc ter a parametrizao do filtro avanado.

No primeiro campo Intervalo da lista, selecione a lista de


dados: $A$1:$F$831

No segundo campo, Intervalo de critrios, selecione o intervalo


de critrios com o cabealho: $H$1:$M$2

Como queremos que a lista seja filtrada em um outro local


clique na ao Copiar para outro local

No campo Copiar para selecione o intervalo $H$7:$M$7

7.Clique no boto Ok, note que os dados foram filtrados logo abaixo do
filtro de dados conforme especificado.

Pronto! Terminamos a a primeira parte do tutorial, entendendo como


funciona o Filtro Avanado.
O problema que sempre que voc for filtrar ter que repetir estas
aes.
Para resolver este problema vamos fazer uma macro para gravar as
aes de filtragem de dados.
Criando uma macro para automatizar o filtro avanado

Clique na guia Desenvolvedor

Clique no boto Gravar Macro

Digite no campo Nome da Macro Filtrar, na tecla de atalho


digite A e em Armazenar Macro em: selecione Esta pasta de
trabalho.

Clique em OK. Cuidado, a partir deste momento todas as


operaes que voc fizer sero gravadas, por isso no clique
em qualquer lugar na planilha.

Clique em uma clula da lista, por exemplo F1 e clique na guia


Dados em Avanado

Verifique se o intervalo de dados selecionado corresponde


$A$1:$F$831, seno corrija-o.

No intervalo de critrios verifique se est apontando


para $H$1:$M$2, seno corrija.

Marque novamente a opo Copiar para outro local e


verifique se o intervalo $H$7:$M$7.

Clique em OK.

Volte na guia Desenvolvedor e clique em Parar Gravao.

Agora clique na guia Inserir e selecione o boto Formas e


escolha a forma deRetngulo e desenhe-a ao lado dos
critrios, mais ou menos partir da coluna N.

Selecione a forma criada e Digite Filtrar.

Clique com o boto direito sobre o retngulo e selecione a


opo Atribuir Macro.

Na janela que segue selecione a macro criada que tem o


nome Filtrar.

Pronto! Para testar altere alguma propriedade do filtro, como por


exemplo digite Ana no lugar de Jos e clique no boto Filtrar.

Truque de Mestre #2: Usando o


Filtro Avanado no Excel

A maioria dos usurios do Excel possui certa familiaridade com o conceito e uso
dos Filtros de Tabela, tambm conhecidos como AutoFiltros, usados tanto para
filtrar as linhas de uma tabela quando para classifica-las em uma determinada
ordem.
Se voc j usa o Excel h algum tempo, provavelmente j passou por
momentos de frustrao com algumas limitaes do AutoFiltro, como por
exemplo, fazer filtros usando mais de um critrio ao mesmo tempo, ou usar
uma expresso de filtro mais avanada.
nessas horas que conhecer e dominar o uso do Filtro Avanado do Excel pode
ser um grande diferencial na maneira como voc trabalha.

Viso Geral do Filtro Avanado


do Excel
Nesta seo irei demonstrar rapidamente o procedimento geral para realizar um
Filtro Avanado no Excel, portanto no se assuste se ainda no entender alguns
conceitos; eles sero explicados com detalhe nos prximos tpicos.
Em comparao com o AutoFiltro do Excel, o Filtro Avanado pode parecer um
pouco intimidador, mas garanto que ele muito mais fcil de operar do que
voc imagina. Quando voc usa o Filtro Avanado no Excel, no h botes como
nos AutoFiltros. Ao invs disso, voc deve criar em algum espao livre de sua
planilha um Intervalo de Critrios, que ir conter os critrios a serem
considerados pelo Filtro Avanado do Excel.
Para criar um Intervalo de Critrios, voc deve copiar o nome das colunas (ou
cabealhos) de sua tabela para uma parte em branco da sua planilha, e em
seguida escrever nas clulas logo abaixo do cabealho copiado os valores que
sero usados como critrios (podero ser nmeros, textos ou frmulas). Quando
voc estiver definindo os critrios para seu Filtro Avanado no Excel, voc
poder criar tanto critrios de comparao quanto critrios calculados.

Para usar um critrio, voc deve escrever uma ou mais expresses lgicas nas
linhas sob o cabealho copiado. A ttulo de exemplo, vamos supor que
queremos saber o seguinte:
Quais so os empregados que:

Ficam em SP e recebem mais de 6.000 Reais de salrio?; ou

Ficam no RJ e recebem menos de 2.000 Reais de salrio?; ou

Trabalham no departamento de Compras e tem salrio acima de 5.000


Reais, independente do Estado?.
Para aplicar estes critrios, precisamos preencher nosso Intervalo de
critrios (que so as linhas logo abaixo do cabealho copiado) da seguinte
maneira:

Dica Bnus: Este um exemplo que no poderia ser feito de uma s vez
usando os AutoFiltros, porque este tipo de filtro no permite que voc faa
buscas complexas nos seus dados usando os operadores lgicos E/OU

simultaneamente. J com o Filtro Avanado do Excel, voc pode fazer consultas


que vo alm do que os AutoFiltros so capazes de fazer.
Para manter a simplicidade, o exemplo que utilizei acima representa os critrios
de comparao, que so formas mais simples do que os critrios calculados.
Logo mais mostrarei para voc outros exemplos de Filtros Avanados que
mostraro uma utilidade maior.
Depois de definir os critrios, voc deve clicar em Avanado, dentro do
grupo Classificar e Filtrar sob a aba Dados.

Na janela que se abrir, possvel configurar a maneira de como seus dados


sero filtrados. Voc pode optar por apenas filtrar os dados onde esto
(ocultando as linhas que no atendam aos seus critrios) ou optar por copiar as
linhas que seriam selecionadas para outra parte da sua planilha.

Se desejar que o resultado do Filtro Avanado do Excel seja copiado para um


novo local, marque a opo Copiar para outro local, e informe este local na
caixa de texto Copiar para, que ser ento habilitada. (Note que a funo de
Filtro Avanado no permite que voc copie os resultados para fora da planilha
atual)

Aponte qual o intervalo de dados ser filtrado pelo Filtro Avanado do Excel
clicando no boto ao lado do texto Intervalo da lista e selecionando sua tabela,
ou simplesmente digite o intervalo de sua tabela na caixa de texto.
Feito isso preencha tambm os dados para o Intervalo de critrios, que aquele
que contm a cpia do cabealho da tabela original juntamente com as linhas
que voc usou para determinar os critrios de filtro. No se esquea
de selecionar apenas as linhas que contenham os critrios que voc
desejar. Caso haja alguma linha em branco (sem critrios) nesta seleo, o
Filtro Avanado do Excel no ir funcionar como esperado.

Feito isso, clique em Ok para filtrar os dados usando os intervalos apontados


por voc. Se voc seguiu o exemplo at aqui, ver que o Excel considerou
todos os nossos critrios simultaneamente. Este feito seria impossvel
usando apenas os AutoFiltros. Impressionante, no?

Obs.: Caso voc no tenha conseguido obter o resultado esperado, verifique


novamente se:
1.

Voc selecionou todos os cabealhos de sua tabela no


campo Intervalo da Lista;

2.

Voc no deixou de selecionar nenhuma linha da sua tabela no


campo Intervalo da lista;

3.

Voc considerou os cabealhos dos seus critrios na seleo do


seu Intervalo de Critrios;

4.

Voc no selecionou nenhuma linha em branco no seu Intervalo de


Critrios;
Para retornar viso da tabela completa, digite Ctrl+Z (comando Desfazer), ou
cancele o filtro atravs da guia Dados, na Barra de Ferramentas Principal.

Dominando os Critrios de
Comparao
Utilizar as clulas do intervalo de critrios de um Filtro Avanado no Excel algo
muito parecido com o processo de filtro em um AutoFiltro tradicional. No
entanto, voc deve estar ciente das diferenas. Por exemplo, se voc estiver
buscando pelo nome Ana e digitar Ana no intervalo de critrios, sob a

coluna Nome, o Excel ir retornar todas as linhas cujo nome comea com A-n-a,
como Ana Paula, Ana Maria, Anabelle, etc..
Para evitar que o Excel se comporte desta forma, voc deve usar
uma frmula para definir seu critrio de busca. No nosso caso, para encontrar
apenas pessoas com o nome Ana (e nada mais alm disso), devemos inserir a
seguinte frmula sob o cabealho Nome, em nosso intervalo de critrios:
==Ana
Veja na imagem abaixo como o Excel interpreta a frmula e como o resultado
final exibido no corpo da clula.

Dessa forma, digitamos um primeiro sinal de igual, abrimos aspas duplas, e


em seguida digitamos novamente outro sinal de igual, seguido do trecho de
texto (neste caso, Ana), e, por fim, fechamos nossas aspas duplas. Esta
expresso ser usada para procurar uma correspondncia exata nas clulas da
coluna Nome, na nossa tabela a ser filtrada.

Utilizando Caracteres Curinga


Uma das grandes vantagens de se utilizar o Filtro Avanado do Excel a
possibilidade de fazer buscas usando caracteres curinga.
Voc pode, por exemplo, utilizar o critrio Lu?a em seu intervalo de critrios
para fazer buscas tanto por Luza quanto Lusa, visto que o caractere ?
(interrogao) um caractere curinga cuja funo se passar por qualquer
outro caractere. Dessa forma, voc no precisa fazer duas buscas, ou
especificar dois critrios diferentes.
Outro caractere curinga que voc precisa conhecer o asterisco (*). Sua
funo se passar por um nmero indeterminado de outros caracteres. Vamos
supor que voc tenha uma coluna com a regio em que um empregado est
alocado, voc poderia fazer buscas do tipo:

Nor*e, para buscar tanto por Norte quanto por Nordeste;


Su*, para buscar tanto por Sul quanto por Sudeste.

Ou por nomes de pessoas:

T*iago, serviria para buscar por Tiago e Thiago;


T*as, serviria para buscar por Tas e Thas;

Dbora*, serviria para buscar por Dbora e Dborah.


Vimos que o caractere asterisco pode se passar por um nmero indefinido de
caracteres, e o ltimo exemplo nos mostra que ele tambm pode se passar
por caractere nenhum, quando for preciso.
O limite para a utilizao destes tipos de caracteres o mesmo da sua
imaginao. Ou seja, quanto mais voc for capaz de perceber certos padres
em seus dados, maior ser o proveito que voc ter quando usar os caracteres
curinga.
Veja a tabela a seguir para as descries e exemplos de critrios de
comparao para voc usar em suas buscas.

Operador

Significado

Exemplo

Igual

MG

Registros em qu

>

Maior que

>800

Registros com v

>=

Maior ou igual que

>=1/1/1994

Registros com d

<

Menor que

<d

Registros com n

<=

Menor ou igual que

<=7/7/1980

Registros cuja d

<>

Diferente

<>SP""

Registros onde

Utilizando Critrios Lgicos E/OU


Quando voc insere dois ou mais critrios lado-a-lado em seu intervalo de
critrios, o Excel considera que estes critrios sero considerados usando o
operador lgico E, e somente ir filtrar as linhas que cumprirem todos os
critrios ao mesmo tempo. Veja a imagem abaixo para um exemplo deste tipo
de condio.

Funo

Neste exemplo voc pode ver que o Excel retornou apenas as linhas que
atingiram tanto a condio Departamento= Diretoria e a condio Local=
SP ao mesmo tempo, porque tanto o critrio Diretoria quanto SP esto na
mesma linha, cada um sob os seus respectivos cabealhos.
Quando voc insere dois ou mais critrios em linhas diferentes de seu intervalo
de critrios, o Excel interpretar os critrios usando o operador lgico OU, e
ir retornar as linhas que atenderem ao menos um dos critrios inseridos. A
imagem abaixo mostra um exemplo disso.

Neste exemplo, o Excel retornou as linhas com empregados que trabalham na


diretoria ou na Fbrica, porque Diretoria est inserido sob o
cabealho Departamento na linha 2, logo acima de Fbrica (linha 3).
Dica Bnus: No se esquea de redefinir o intervalo de critrios na janela do
Filtro Avanado do Excel, para que todos eles sejam considerados. O Excel ir
usar apenas os critrios que estiverem nesta seleo.
possvel que voc use, ao mesmo tempo, tanto critrios do tipo de condio
E quanto do tipo de condio OU. Por exemplo, suponha que voc precise
fazer o seguinte filtro:

O que significa dizer que voc quer filtrar todas as pessoas que trabalham:

na diretoria E em SP, independente do salrio; OU

fbrica E possuem salrio acima de quatro mil reais, independente de


qual local; OU

no departamento fiscal, independente do salrio e local.


O Excel ir entender perfeitamente suas condies de filtro (desde que voc se
lembre de ajustar o intervalo de critrios, na tela do Filtro Avanado), porque
cada grupo de critrios (condies do tipo E) foi colocado numa linha
diferente (condies do grupo OU).

Dominando os Critrios
Calculados
O Excel capaz de usar critrios calculados para filtrar as linhas de uma tabela.
Para que isso seja possvel, tudo o que voc tem a fazer inserir uma frmula
que possua um valor de resposta do tipo VERDADEIRO ou FALSO, de
modo a avaliar algum detalhe sobre os dados em cada linha. Esta frmula deve
estar sob um cabealho que no corresponda a uma coluna em sua tabela
original. Critrios calculados tornam possvel que voc filtre os dados de sua
tabela por meio de comparaes com registros que existem fora da tabela
original.
A figura abaixo mostra um exemplo de critrio calculado que compara os
valores no campo de salrio contra um valor calculado que no est
explicitamente declarado na tabela original. Meu objetivo saber quais so
os membros da diretoria que recebem um salrio acima da mdia da
empresa.
Nela, possvel observar que eu usei um cabealho no meu intervalo de
critrios que no existe na tabela original (Sal. Acima da mdia). Note que no
caso do nosso exemplo, a tabela no possui nenhuma informao (explcita)
sobre a mdia dos salrios. Sob este cabealho, na clula J2, eu usei a frmula
MDIA para calcular o salrio mdio da empresa e us-lo de comparao com a
clula F2, que representa a primeira clula da coluna de Salrios em minha
tabela.

Escolhi copiar o resultado para a clula I6. Conforme esperado, agora eu sei
quem so os diretores com salrio acima da mdia da empresa:

Quando voc usou Filtro Avanado neste caso, o Excel aplicou o critrio
calculado para todos os registros de sua tabela. O programa faz isso ajustando
automaticamente a referncia da primeira clula de Salrio (F2, no nosso
caso) para que ela passe por cima de cada linha (F3, F4, F5, ) at o fim da
tabela, de modo que cada clula seja avaliada junto funo MDIA. O Excel
ento ir guardar na memria aquelas linhas em que o resultado foi
VERDADEIRO, para ento retorn-las a ns.

Dica Bnus: Note que, apesar do intervalo da funo MDIA usar referncias
absolutas (note os ancoradores $) , a primeira clula de Salrio (F2, neste
caso), deve ser inserida como uma referncia relativa (sem os ancoradores
$). Caso contrrio, o Filtro Avanado do Excel no ir funcionar.
Portanto, quando inserir frmulas para critrios calculados para comparar
valores fora de sua tabela, voc deve sempre referenciar a primeira clula da
coluna utilizada no critrio de modo a garantir que o Excel ir testar cada uma
das clulas em sua tabela a ser filtrada.

Usando as frmulas E e OU
como critrios calculados
Ainda possvel usar as frmulas do Excel E, OU e NO como operadores
lgicos para critrios calculados para filtrar as linhas de uma tabela. Por
exemplo, suponha que voc precise saber quais so as pessoas com
salrios entre 7 e 12 mil reais. Para descobrir quem so estas pessoas, voc
deve usar a seguinte frmula em um critrio calculado:
=E(F2>=7000; F2<=12000)

Veja, na imagem acima, que apenas os empregados com os salrios entre 7 e


12 mil reais foram selecionados, como esperado.

Para saber o oposto, ou seja, quem so as pessoas com salrio inferior a


7mil reais OU superior a 12 mil reais, use a frmula:
=OU(F2<7000; F2>12000)

Veja, na imagem acima, que apenas os empregados com os salrios abaixo de 7


mil reais ou acima 12 mil reais foram selecionados, como esperado.
- See more at: http://caradoexcel.com.br/filtro-avancado-excel/#sthash.bNV1Qqgr.dpuf

SUBTRAO
Boa tarde, Marcos.. Seria interessante vc disponibilizar uma "planilha teste", para o pessoal dar
uma olhada , e assim h ajuda ficara mais coerente, o que eu consegui foi um modo de excluir os
repetidos.. com uma macro, ou seja vc pode unir as duas colunas(as tuas listas) com os nomes e
aplicar a macro, ela ira excluir todos os nomes repetidos. Qualquer dvida de como utilizar a
Macro. Estarei a disposio..
Segue a macro abaixo:
Sub excluir()
Dim FixarLinha As Long
Dim Guardar As String
Guardar = " "
FinalLinha = Range("A" & Rows.Count).End(xlUp).Row
For FixarLinha = FinalLinha To 1 Step -1
Valor1 = Range("A" & FixarLinha).Value
If InStr(1, Guardar, Valor1) > 0 And Valor1 <> " " Then
Rows(FixarLinha).Delete Shift:=xlUp
Else
Guardar = Guardar & " " & Valor1
End If
Next
End Sub

Como usar LEN para excluir o texto no Excel

Se voc estiver limpando seu conjunto de dados e deseja cortar texto, h uma srie de maneiras
de fazer isso . A maneira que voc escolher para excluir o texto depende em grande parte o quo
complexo o conjunto de dados , se o seu texto de todos o mesmo comprimento e se voc est
excluindo o mesmo texto ou de texto diferente a cada vez. Use a funo LEN para excluir o
texto , quando todo o seu texto do mesmo comprimento. Por si s , a funo LEN s conta o

nmero de caracteres na seqncia de texto, mas , combinando-a com outras funes do Excel ,
voc

pode

us-lo

para

apagar

texto.

Instrues

Clique

uma

clula

vazia

na

planilha

do

Excel

Digite um sinal de igual seguido de esquerda ou de funo direito e um parntese aberto. A


esquerda contagem de funo e extrai o nmero de caracteres que voc especificar a partir do
lado esquerdo da sua cadeia de texto. A funo DIREITA faz o mesmo , a partir do lado direito.
Portanto, se voc quer apagar texto no final da seqncia , voc deve usar esquerda e se voc
quiser apagar o texto do incio da seqncia , voc deve usar para a direita . Por exemplo, se voc
tem uma lista de nmeros de identificao precedidos pela palavra " ID ", como " 23049 ID " e
voc quer deixar apenas o nmero e excluir a palavra " ID ", voc deve usar a seqncia
DIREITA: < br >

RIGHT

Digite o nmero do celular para a cadeia de texto que deseja excluir , seguido por uma vrgula
por exemplo : .

RIGHT

B4

Digite a funo LEN neste momento para substituir o segundo argumento na ESQUERDA ou
funo DIREITA. Enter " LEN " seguido pela mesma referncia de clula entre parnteses,
seguido por um sinal de menos e o nmero de caracteres que voc deseja subtrair. Feche a
frmula com um parntese . Por exemplo, se voc deseja excluir a palavra " ID " de " 23049 ID ",
deixando apenas o nmero , voc iria querer subtrair os trs primeiros caracteres do . nmero
total de caracteres neste exemplo, o nmero total de caracteres de oito e voc subtrair trs do
comprimento da corda :

RIGHT

B4,

LEN

(B4)

< br > 5

Pressione "Enter" para ver o resultado . Voc deve ver o texto cortado na clula atual.

-3)

Anda mungkin juga menyukai