Programa
Neste artigo, mostrarei o que torna a função MATCH()
do Excel única em comparação com as outras funções de pesquisa do Excel.
O que torna o MATCH()
único é que, ao contrário do VLOOKUP()
ou HLOOKUP()
, que retornam valores reais, o MATCH()
nos fornece a posição de um valoro que pode ser extremamente útil em muitas situações - veja como.vejamos como.
A resposta rápida
Para encontrar a posição de um valor usando a função MATCH()
:
-
Clique em uma célula vazia onde você deseja obter o resultado
-
Tipo
=MATCH(
-
Em seguida, escreva o valor de pesquisa entre aspas
-
Selecione o site
lookup_array
. -
Digite o tipo de correspondência (
0
para correspondência exata) e pressione Enter.
Por exemplo, tenho uma lista de frutas e suas vendas no intervalo A2:B6, e quero encontrar a posição da laranja nessa lista. Para isso, escrevo a seguinte fórmula e pressiono Enter:
=MATCH(“Orange”, A2:A6, 0)
Isso exibirá 4 porque a laranja é a quarta fruta da lista.
Use a função MATCH(). Imagem do autor.
Entendendo o MATCH() do Excel
Há mais de uma maneira de usar o MATCH()
e a forma como o usamos pode mudar o que você obtém dele. Vamos entender isso com mais detalhes para que você possa decidir o que funciona melhor para você.
O que é a função MATCH()?
A função MATCH()
do Excel retorna a posição de um valor em uma lista. Em vez de fornecer o valor real, ele nos informa onde esse valor está localizado. Isso funciona melhor quando você precisa saber a posição e não o valor em si, especialmente para pesquisas dinâmicas.
Sintaxe da função MATCH()
A sintaxe de MATCH()
é a seguinte:
MATCH(lookup_value, lookup_array, [match_type])
Aqui:
-
lookup_value
é o valor que estamos procurando emlookup_array
. -
lookup_array
é a lista que procura por esse valor. -
match_type
(opcional) informa como você deve pesquisar.1
(padrão) retorna o maior valor menor ou igual alookup_value
(a lista deve ser classificada em ordem crescente).0
retorna uma correspondência exata. E-1
retorna o menor valor maior ou igual ao que você está procurando (a lista deve ser classificada em ordem decrescente).
O que você deve saber sobre a função MATCH()
Antes de você usar a função MATCH()
, vale a pena conhecer alguns pequenos detalhes. Eles ajudarão você a evitar erros e tornarão as coisas um pouco mais fáceis:
-
MATCH()
não se importa com letras maiúsculas ou minúsculas, portanto, apple, Apple e APPLE são tratados da mesma forma. -
Se trabalharmos com texto e definirmos
match_type
como0
, poderemos usar curingas como*
para representar vários caracteres e?
para representar um único caractere. -
Se o
MATCH()
não conseguir encontrar o valor desejado, ele retornará umerro#N/A
.
Exemplos básicos de uso da função MATCH() do Excel
Agora que sabemos o que é a função MATCH()
e como ela funciona, vamos ver como podemos usá-la com alguns exemplos:
Exemplo 1: Encontrar a posição de um número
Digamos que eu tenha um intervalo de números na célula A2:A7
e queira encontrar a posição do número 40
em uma lista. Para isso, posso usar a função MATCH()
da seguinte forma:
=MATCH(40, A2:A7, 0)
Ou também posso usar uma referência de célula para o valor de pesquisa.
=MATCH(D1, A2:A7, 0)
Observando o cabeçalho esquerdo do Excel, você verá que o número 40
está na linha 6. Mas o resultado mostra 5. Isso ocorre porque começamos a contar a partir de A2
. Portanto, quando o Excel conta a partir daí, ele nos dá 5em vez de 6.
Encontre a posição de um número usando a função MATCH(). Imagem do autor.
Exemplo 2: Encontrar a posição de um valor de texto
Tenho uma lista de jogadores na célula A2:A7
e suas pontuações na célula B2:B7
, classificadas em ordem crescente, e quero encontrar a posição da jogadora Emily. Para isso, minha fórmula é a seguinte:
=MATCH(E1,A2:A6, 0)
Essa fórmula procura o valor na célula D1
no intervalo A2:A7
e retorna 3
porque Emily é a terceira jogadora da lista.
Encontre a posição de um texto usando a função MATCH(). Imagem do autor.
Correspondência difusa e correspondência curinga no Excel
Às vezes, os dados com os quais trabalhamos não são perfeitos - pode haver erros de digitação, grafias diferentes ou formatos confusos. Nesses casos, a correspondência difusa e curinga pode ajudar a organizar as coisas.
Correspondência difusa
A correspondência difusa encontra registros de listas diferentes que são semelhantes, mas não exatamente iguais. Isso é útil quando há uma pequena variação ou erros de digitação, como Frank vs. Feank.
Tenho dois conjuntos de dados: Lista de pedidos de clientes e membros do Loyalty Program. E quero verificar quaispedidos do cliente já estão no Loyalty Program, mesmo que haja algumas variações devido a erros de digitação, apelidos ou diferenças de formatação. O endereço VLOOKUP()
não funcionará aqui porque os nomes não são exatamente iguais.
Etapa 1: Converter dados em tabelas
-
Selecionar Pedidos do clientee pressione
Ctrl + T
. -
Selecione Membros do programa de fidelidadePressione
Ctrl + T
.
Certifique-se de que haja espaço entre as duas tabelas para mantê-las separadas.
Etapa 2: Carregar dados no Power Query
- Clique em qualquer lugar dentro de Pedidos de clientese nomeie-a como Tabela_pedidos.
- Ir para Dados > Obter dados > Da tabela/intervalo.
- Clique em Fechar e carregar para carregá-lo no Power Query.
- Repita as etapas 1 a 3 para Membros do programa de fidelidadee nomeie-a como Loyalty_Table mas, desta vez, selecione Close & Load To e carregue-a na mesma planilha do Excel.
Agora, ambas as tabelas são carregadas no Power Query.
Carregue as tabelas no Power Query. Imagem do autor.
Etapa 3: Mesclar tabelas usando correspondência difusa
- Ir para Dados > Obter dados > Combinar consultas > Mesclar consultas.
- Na janela Mesclar, selecione a primeira tabela (Orders_Table) e a segunda tabela (Loyalty_Table)
- Selecione o Nome do cliente em ambas as tabelas.
- Verifique o Usar correspondência difusa caixa.
- Clique no menu suspenso e defina o limite de similaridade como 0.3 (Permite algumas variações, como erros de digitação ou apelidos).
Use a correspondência difusa para mesclar as tabelas. Imagem do autor.
O Power Query agora fará a correspondência de nomes semelhantes em vez de exatos.
Etapa 4: Expandir os dados correspondentes
- Clique no ícone ícone de expansão ao lado da coluna correspondente.
- Selecione Nome do cliente de Tabela de fidelidade e clique em OK.
- Fechar e carregar os resultados de volta ao Excel.
Você pode ver na imagem abaixo que a pesquisa difusa combinou automaticamente os clientes com variações de nome.
Tabelas mescladas usando a correspondência difusa. Imagem do autor.
Partida de coringa
A correspondência curinga nos ajuda a encontrar nomes ou valores quando sabemos apenas parte do que estamos procurando. Isso ajuda quando trabalhamos com entradas semelhantes ou memórias difusas. Há dois curingas que você pode usar:
-
*
corresponde a qualquer número de caracteres (por exemplo, Jo* corresponde a João e Jonathan). -
?
corresponde a apenas um caractere (por exemplo, J?ck corresponde a Jack mas não com Jake).
Veja como eles funcionam:
-
A*
corresponde a qualquer coisa que comece com A. -
*A
corresponde a qualquer coisa que termine com A. -
*A*
corresponde a qualquer coisa que contenha A em qualquer lugar da célula.
Por exemplo, para encontrar o nome da pessoa cujo nome termina com eeu uso:
=MATCH("*e", A2:A11, 0)
Você pode ver na imagem abaixo que a fórmula retorna 3
porque o nome Charlie termina com e.
Encontre a posição usando curingas. Imagem do autor.
Combinando MATCH() com outras funções do Excel
MATCH()
fica ainda mais útil quando o combinamos com outras funções. Isso torna nossas fórmulas mais flexíveis e fáceis de atualizar. Vamos ver como.
Combinando MATCH() com INDEX()
MATCH()
é frequentemente combinado com INDEX()
para que você possa fazer pesquisas avançadas. UnAo contrário de VLOOKUP(), que só pode pesquisar da esquerda para a direita, INDEX() e MATCH() trabalham juntos para pesquisar valores em qualquer direção.
Por exemplo, tenho uma lista de jogadores e suas pontuações, e quero encontrar a pontuação de Brian. Para isso, uso a seguinte fórmula:
=INDEX(B2:B11,MATCH("Brian",A2:A11,0))
E, com a referência de célula, você verá como:
=INDEX(B2:B11, MATCH(E1, A2:A11, 0))
Combine INDEX() e MATCH(). Imagem do autor.
Usando MATCH() para seleção dinâmica de colunas em VLOOKUP()
Sabemos que o site VLOOKUP()
exige que você insira manualmente o número da coluna onde está o resultado. Se as colunas mudarem, teremos que atualizar a fórmula. Para evitar isso, podemos usar o site MATCH()
para localizar automaticamente a coluna da direita.
Por exemplo, tenho um conjunto de dados e quero descobrir o nome da equipe de Emily
. Com VLOOKUP()
, a fórmula é a seguinte:
=VLOOKUP(F1, A2:C12, 3, FALSE)
Essa fórmula só pode pesquisar da esquerda para a direita, e o número da coluna 3
é fixo, portanto, se as colunas mudarem, terei de atualizar a fórmula manualmente.
Portanto, em vez de codificar o número da coluna em VLOOKUP()
, podemos combinar MATCH()
da seguinte forma:
=VLOOKUP(F1, A2:C12, MATCH("Team", A1:C1, 0), FALSE)
Nessa fórmula, MATCH("Team", A1:C1, 0)
encontra a coluna que contém a equipe e a retorna. Em seguida, o site VLOOKUP(F1, A2:C4, 3, FALSE)
extrai os dados da terceira coluna em vez de um número fixo.
Combine VLOOKUP() e MATCH(). Imagem do autor.
MATCH() sensível a maiúsculas e minúsculas usando EXACT()
Por padrão, o site MATCH()
ignora letras maiúsculas e minúsculas, portanto, Apple e apple serão tratados da mesma forma. Se precisarmos de uma pesquisa que diferencie maiúsculas de minúsculas, você deverá combinar MATCH()
com a função EXACT()
da seguinte forma:
=MATCH(TRUE, EXACT(A2:A7, D2), 0)
Essa é uma fórmula de matriz, portanto, pressione Ctrl + Shift + Enter
. Nessa fórmula, EXACT(A2:A4, "Emily")
verifica cada nome e retorna TRUE
somente para a correspondência exata. MATCH(TRUE, ...)
localiza o primeiro TRUE
e retorna a posição.
Combine EXACT() e MATCH(). Imagem do autor.
Considerações finais
MATCH()
A combinação de caracteres, curingas e fuzzy matching pode parecer um pouco complicada no início, mas com um pouco de prática, você pode economizar muito tempo. Eles são especialmente úteis quando trabalhamos com dados confusos ou precisamos de maneiras mais flexíveis de encontrar coisas em uma planilha.
Se você quiser explorar mais, nosso curso Análise de dados no Excel é um ótimo próximo passo. Ou confira nosso programa de habilidades Excel Fundamentals para que você desenvolva seus conhecimentos básicos e se sinta mais confiante ao usar funções como essas.
Você pode cometer erros no início, mas não se estresse se forem necessárias algumas tentativas. Tudo isso faz parte de você se sentir confortável com o Excel.
Avance em sua carreira com o Excel
Adquira as habilidades para maximizar o Excel - não é necessário ter experiência.
Sou um estrategista de conteúdo que adora simplificar tópicos complexos. Ajudei empresas como Splunk, Hackernoon e Tiiny Host a criar conteúdo envolvente e informativo para seus públicos.
Perguntas frequentes sobre o Excel
Posso comparar duas colunas quanto a correspondências e diferenças?
Você pode usar as funções ISNA()
e MATCH()
para verificar se os valores de uma lista existem em outra.
=IF(ISNA(MATCH(B1,A1:A6,0)),"Not Present","Present")
Se um valor na coluna B não for encontrado na coluna A, a fórmula retornará "Not in List 1".
Como lidar com erros ao usar `MATCH()`?
Quando a função MATCH()
não consegue encontrar um valor, ela retorna um erro #N/A
. Para substituí-la por uma mensagem personalizada, envolva sua fórmula na função IFERROR()
da seguinte forma:
=IFERROR(MATCH("Apple", A1:A5, 0), "Not Found")
Essa fórmula exibirá uma mensagem personalizada em vez de um erro.