locked
Procura 2 ou mais valores em Excel RRS feed

  • Pergunta

  • Tenho uma planilha que preciso fazer uma procura mais as vzs o valor procurado pode aparecer em mais de uma linha da tabela.

    Ex: tenho em uma coluna uma lista de nf´s as quais em algumas pago algum tipo de imposto ou multa. Se faço um procv ele apenas me traz a primeira incidencia. Já utilizei o procv, indice e correspondente juntos mas pela tamanho da formula fica extensa demais e só consigo pegar 5 incidencias.

    O excel possui alguma forma de pesquisa parecida com sql? No excel 2007 ou 2010 possui alguma coisa que me ajude?

    Anderson Nogueira

     

    quinta-feira, 9 de dezembro de 2010 20:09

Todas as Respostas

  • Sim, vc quer extrair os dados de uma coluna e colocar em outra, segundo um critério.


    Desde que na coluna destino tenha espaço suficiente para todas as linhas possíveis de serem encontradas, é possível sim fazer isso que você quer.

    Aqui tem uma planilha que demonstra essa técnica, inclusive usando dois argumentos de filtragem

    Filtro de banco de dados com dois argumentos

    adiantando, o negócio é o seguinte.

    Crie uma coluna auxiliar que vai contar +1 a cada vez que o critério de busca for satisfeito.

     

    Imagine que na coluna A1:A1000 tem a faixa a ser buscada

    Em L1 tem o argumento de busca, ou seja, o que vc quer buscar. Só que ele vai aparecer n vezes. Suponha que vc acha que no máximo vai aparecer 20 vezes. 

    Em m1 coloque a seguinte fórmula

    =(a1=$l$1)+0

    em m2 coloque a seguinte fórmula

    =(a2=$l$1)  + a1

    copie a fórmula de m2 para m3:m1000

    Na coluna M então você terá um lista que contará +1 a cada vez que a coluna A for igual ao ítem buscado.  Ou seja, cada vez que o número na coluna M mudar é porque ele achou uma linha. 

    Agora suponha que vc quer uma lista dos valores da coluna B correspondentes aos valores da coluna A que atendem ao critério

    Vamos fazer uma lista em N1:N20 com esses ítens

    =seero( índice( $B$1:$B$1000 ; corresp( lin() ; $M$1:$M$1000 ; 0) ;"")

    Copie essa fórmula de N1 para N2:N20

    Como funciona ? 

    O corresp( LIN() ; $m$1$m$1000; 0 ) vai retornar o número da linha em A1:A1000 correspondente ao n-ésimo ítem da lista, começando com 1 e indo até 20.

    COmo é que ele conta de 1 a 20 ? usando a função LIN() quer retorna  o número da linha corrente. Se vc colocar =lin() em qualquer célula da linha 1, LIN() vai retornar 1

    Portanto, em N1, lin() = 1, em n2 , lin() =2 , e assim por diante até 20.

     

    Experimente

     

     

     


    João Eurico Consultor Manguetown - Brazil
    quinta-feira, 9 de dezembro de 2010 21:25
  • Quais são as colunas que está planilha utiliza? em que linha está o cabeçalho e o início dos dados?

    Acho que uma macro simples em uma planilha auxiliar ia te dar facilemente essa consulta.

    Se quiser enviar a plan ou as informações.

     

     

    sexta-feira, 17 de dezembro de 2010 15:02
  • Considere uma tabela abaixo, com dados começando na célula A1:

     A    B

    abc  v1

    def  v2

    def  v3

    abc  v4

    dhi   v5

    Na célula C1, digite, por exemplo, abc.

    Em C2, entre a fórmula:

    =SE(LINS($1:1)<=CONT.SE(A$1:A$5;C$1);ÍNDICE(B$1:B$5;MENOR(SE(A$1:A$5=C$1;LIN(A$1:A$5)-LIN(A$1)+1);LINS($1:1)));"")

    Como é uma fórmula matricial, ao terminar de digitá-la, pressione CTRL+SHIFT+ENTER.

    Arraste essa fórmula para baixo para visualizar outras ocorrências do registro abc.


    Felipe Costa Gualberto - http://www.ambienteoffice.com.br
    sábado, 18 de dezembro de 2010 01:18
  • Senhores,

    Como esse assunto é recorrente, preparei um modelinho onde é possível selecionar através de combo a coluna (categoria) do registro e, numa segunda etapa, os registros únicos desta categoria.

    A proposta é demonstrar que na maioria das vezes podemos fazer através de FÓRMULAS o que muitos imaginam só ser possível através de MACROS . Nenhum preconceito com a turma do VBA mas há um pouco de desinformação sobre a capacidade de elaboração de planilhas inteligentes sem utilização de macros.

    Como trata-se de um modelo, não é necessário comandar nenhum filtro ou classificação para que os registros repetidos (em cada coluna) sejam listados.

    O usuário tem que apenas selecionar a categoria no primeiro box preto (em $P$1) e, ato contínuo, selecionar o registro que estará sujeito ao procv repetido (em $Q$1).

     

    Como trata-se de um exemplo didático, está preparado para somente 1.200 registros (que devem estar na área laranja). Os resultados são listados na área amarela.

    As fórmulas estão em colunas ocultas mas podem ser vistas/analisadas. A maior parte das funções (nas fórmulas) é de conhecimento de todos.

    Acho que facilita o entendimento sobre áreas dinâmicas e captura de registros coincidentes.

    Qq crítica, estou aqui para ouvir.

    Abs,

    LINK  ----->  http://rapidshare.com/files/437938986/PROCVREPETIDOQUALQUERCOLUNA.xlsx


    sábado, 18 de dezembro de 2010 04:07