Como reverter vlookup no excel com index-match?

Para entender como INDEX e MATCH funcionam como uma fórmula de pesquisa reversa, você precisa escolher uma coisa simples: Match informa ao índice a posição (número da célula) de um valor em uma coluna ou linha, então o índice retorna esse valor. valor usando esta posição (número da célula) .

Pense assim: a função MATCH é um agente disfarçado que encontra o criminoso e a função INDEX é um policial que posteriormente prende o criminoso.

índice-correspondência-obter-valor

Mas vamos aprender detalhadamente como podemos combinar essas duas funções. Abaixo está a sintaxe do INDEX como você sabe.

ÍNDICE(matriz, núm_linha, [núm_coluna])

Na função INDEX, o argumento row_num informa de qual linha o valor deve ser retornado. Digamos que se você inserir 4, retornará o valor da 4ª linha.

Para criar a fórmula de pesquisa reversa, precisamos substituir MATCH por row_argument de INDEX.

Quando usamos MATCH, ele procura o valor na coluna de pesquisa e retorna o número da célula desse valor. E então, INDEX usa esse número para determinar a posição da célula na coluna de valor.

No final ele retorna o valor daquela célula e você obtém o valor que procura. Mas agora vamos trabalhar com um exemplo real. Abaixo temos uma lista de cidades e os nomes dos funcionários que trabalham lá.

exemplo de fórmula de correspondência de índice insira

Aqui precisamos procurar o nome do funcionário que trabalha em Mumbai. Agora, se você olhar os dados, na coluna onde você tem cidades, essa é a nossa coluna de pesquisa, e na coluna onde você tem os nomes dos funcionários, essa é a sua coluna de valor. E a fórmula será:

 =INDEX(B2:B11,MATCH(E3,A2:A11,0),0)
exemplo de fórmula de correspondência de índice insira

Vamos dividir essa fórmula em duas partes para entendê-la.

Parte 1 : Na primeira parte utilizamos a função match para buscar o valor “Mumbai” e ela retornou o “5” que é a posição da célula em que está o valor “Mumbai” na coluna de cidades.

correspondência de índice como funciona a correspondência

Parte 2 : Na segunda parte, usamos INDEX e nos referimos à coluna do nome do funcionário para encontrar o valor. Aqui a função de índice sabe que você deseja o valor da 5ª célula da coluna. Então, retornou “Siya” no resultado.

índice é como o índice funciona

Mais exemplos de INDEX e correspondência

Temos diante de nós alguns dos problemas comuns que resolvemos usando a fórmula INDEX MATCH. Acesse os arquivos de amostra: certifique-se de baixar esses arquivos de amostra aqui para acompanhar cada exemplo.

1. Pesquisa básica com INDEX – MATCH

Uma pesquisa normal é uma das tarefas mais importantes que você precisa realizar com fórmulas de pesquisa e INDEX MATCH é perfeito para isso. Aqui temos uma tabela de dados com ID e nome do funcionário. Cada ID é único e você precisa pesquisar o nome do funcionário junto com seu ID.

pesquisa normal com tabela de dados de correspondência de índice

Digamos que você queira pesquisar o nome EMP-132. Para isso a fórmula será:

 =INDEX(name_column,MATCH(emp-id,emp-id_column,0))

pesquisa normal com correspondência de índice, insira a fórmula

é assim que esta fórmula funciona

Primeiro , MATCH corresponde ao emp id na coluna emp id e retorna o número da célula do id que você está procurando. Aqui o número da linha é 6.

pesquisa normal com correspondência de índice fornece o número da linha

Depois disso, INDEX retorna o nome do funcionário da coluna de nome usando o mesmo número de célula.

pesquisa normal com índice de correspondência de índice retorna nome

2. Olhe para a esquerda

VLOOKUP não pode ir para a esquerda ao procurar um valor. Como mencionei, em INDEX e MATCH você pode pesquisar em qualquer direção. Na tabela de dados abaixo você tem a coluna do número da fatura após a coluna do valor.

pesquisa à esquerda com tabela de dados de correspondência de índice

Portanto, se você deseja pesquisar o valor de uma determinada fatura, isso não é possível com o VLOOKUP. Em VLOOKUP, quando você seleciona uma tabela, a primeira coluna dessa tabela será a coluna de pesquisa.

Mas, aqui nesta tabela, precisamos usar a última coluna da tabela como coluna de pesquisa. Portanto, não gostei do VLOOKUP aqui. Vamos chamar INDEX e MATCH para resgate e a fórmula será:

 =INDEX(G2:G14,MATCH(L6,J2:J14,0),0)

pesquise à esquerda com correspondência de índice, insira a fórmula

… é assim que esta fórmula funciona

  • Primeiro de tudo , você se referiu à coluna de valor na função de índice. Esta é a coluna da qual precisamos obter o valor.
  • Em segundo lugar , no argumento row_number da função de índice, você usou a função de correspondência e especificou o número da fatura, referiu-se à coluna da fatura e usou zero para correspondência exata.
  • Terceiro , a função de correspondência retorna o número da célula da fatura do intervalo.
pesquisa à esquerda com correspondência de índice retorna o número da linha

E no final, INDEX usa esse número para retornar o valor posicionando a célula da coluna de valor.

pesquisa à esquerda com correspondência de índice retorna valor

3. Pesquisa difusa

Assim como VLOOKUP, você também pode usar INDEX/MATCH para uma pesquisa aproximada.

A pesquisa difusa pode ser útil quando o valor que você está procurando não está listado e você deseja obter a correspondência mais próxima. Na tabela abaixo você tem uma lista de notas com base nas notas.

tabela de dados de correspondência de índice difuso mínimo

E, se quiser obter uma pontuação de 79, você pode usar a fórmula abaixo.

 =INDEX(B2:B6,MATCH(D3,A2:A6,1))

correspondência aproximada do índice de pesquisa, insira a fórmula mínima

… é assim que esta fórmula funciona

Nesta fórmula, usamos 1 na função de correspondência para match_type que permite realizar uma pesquisa aproximada. Ele retorna o primeiro valor menor ou igual ao valor pesquisado.

correspondência de índice de pesquisa difusa retorna nota

Para 79, o primeiro valor mais baixo é 75, e para 75, a nota é B. É por isso que você obtém B no resultado.

4. PESQUISA Horizontal

Como você sabe, HLOOKUP é para pesquisa horizontal, mas você também pode usar INDEX e MATCH para isso. Aqui na tabela de dados abaixo você tem uma tabela horizontal de vendas mensais e deseja obter o valor das vendas de “maio”.

linha de dados de correspondência de índice de pesquisa horizontal

E a fórmula será:

 =INDEX(amount,0,MATCH(lookup_month,months,0))

correspondência de índice de pesquisa horizontal inserir fórmula

… é assim que esta fórmula funciona

Na fórmula acima, em vez de usar MATCH no argumento row_num do índice, usamos em column_num. E match retorna o número da coluna de maio.

correspondência de índice de pesquisa horizontal retorna o número da coluna

E então INDEX retorna o valor da coluna de resultado com base no número da posição.

correspondência de índice de pesquisa horizontal retorna valor

5. Pesquisa bidirecional

Numa pesquisa bidirecional, precisamos obter um valor de uma tabela. Basta olhar a tabela abaixo onde você tem os valores de vendas por área e por produto.

o índice de pesquisa bidirecional corresponde aos dados de vendas

Agora se você deseja obter o valor das vendas de um produto para uma determinada área você precisa de uma busca bidirecional e para isso você precisa usar uma combinação de INDEX MATCH MATCH. Sim, aqui você tem que usar MATCH duas vezes.

Em uma combinação normal de INDEX e MATCH, você usa MATCH para o número da linha, mas em uma pesquisa bidirecional você também deve usá-lo para o número da coluna. As fórmulas serão:

 =INDEX(A1:F5,MATCH(H3,A1:F1,0),MATCH(H2,A1:A5,0))

correspondência de índice de pesquisa bidirecional inserir fórmula

… é assim que esta fórmula funciona

Na fórmula acima, para obter o valor das vendas da tabela, você usou a função de índice e, em seguida, a função de correspondência para seus argumentos núm_linha e núm_coluna. A função de correspondência que é o argumento column_num retorna 5 como o valor do Produto-D na 5ª linha do intervalo que você referenciou.

correspondência de índice de pesquisa bidirecional retorna o número da linha

E a função de correspondência encontrada no argumento row_num retorna 2 porque o valor da zona norte está na segunda coluna do intervalo que você referenciou.

correspondência de índice de pesquisa bidirecional retorna o número da coluna

Agora, com esses valores, a função de índice retornou o valor que está na 2ª coluna e na 5ª linha: 1456.

a correspondência do índice de pesquisa bidirecional retorna o valor das vendas

6. Diferencia maiúsculas de minúsculas

Se você encontrar um problema ao ter dois valores iguais em uma lista ou coluna, mas em letras maiúsculas e minúsculas, você pode fazer uma pesquisa com distinção entre maiúsculas e minúsculas para encontrar o valor correto. Vamos dar uma olhada na lista de alunos abaixo onde você tem o primeiro nome e na segunda coluna você marcou.

o índice de pesquisa com distinção entre maiúsculas e minúsculas corresponde aos dados do aluno

E, no início, há substantivos que são iguais, mas em casos de texto diferentes. Por exemplo, John Parker e JOHN Mathew. Digamos que você queira pesquisar as marcas “JOHN” e não “John”, você pode criar uma pesquisa de correspondência exata com INDEX e MATCH. E a fórmula será:

 =INDEX(B2:B21,MATCH(TRUE,EXACT(E5,A2:A21),0))

correspondência de índice de pesquisa com distinção entre maiúsculas e minúsculas, insira a fórmula

… é assim que esta fórmula funciona

Aqui nesta fórmula você usou a função EXATA na função de correspondência. Como a função match não é capaz de procurar um valor que diferencia maiúsculas de minúsculas e EXACT é uma função perfeita para isso.

Ele pode comparar dois valores e retornar TRUE se eles forem exatamente iguais (incluindo maiúsculas e minúsculas), mas você deve inserir esta fórmula em forma tabular porque precisa comparar a coluna inteira com um único valor em EXATO. Ao inseri-lo, ele retornará um array como este.

 =INDEX(Sheet1!$B$2:$B$21,MATCH(TRUE,{FALSE;FALSE;FALSE;FALSE;FALSE;FALSE;FALSE;FALSE;FALSE;FALSE;FALSE;FALSE;FALSE;FALSE;FALSE;TRUE;FALSE;FALSE;FALSE;FALSE},0))

índice de pesquisa com distinção entre maiúsculas e minúsculas corresponde à matriz de retorno exata

A partir daí você precisa usar a função match para obter a posição TRUE do array.

A correspondência do índice de pesquisa com distinção entre maiúsculas e minúsculas retorna o número da linha

Neste ponto você tem o número da célula (número da linha) do valor que precisa encontrar. E você pode usar INDEX para este valor de coluna.

A correspondência do índice de pesquisa com distinção entre maiúsculas e minúsculas retorna a pontuação do aluno

Ponto importante: se você obtiver mais de um VERDADEIRO com EXATO, a correspondência simplesmente retornará o número do primeiro VERDADEIRO

7. Com curingas com INDEX MATCH

Os curingas são muito úteis. Você pode realizar uma pesquisa parcial usando curingas . E a melhor parte é que, como todas as outras pesquisas de fórmulas, você também pode usar curingas com índice e correspondência.

Basta dar uma olhada na lista de nomes abaixo, onde você encontra o nome e o sobrenome dos funcionários e suas idades.

procurar dados de correspondência de índice curinga

A partir desta lista você precisa obter a idade de um determinado funcionário (Sondra). Mas o fato é que você só conhece o primeiro nome.

E, se você usar um asterisco, poderá pesquisar a idade de Sondra usando o primeiro nome. Para isso a fórmula será:

 =INDEX(B2:B11,MATCH("Sondra*",A2:A11,0),0)

procure por correspondência de índice de curingas, insira dados

… é assim que esta fórmula funciona

Um asterisco é um caractere curinga que pode substituir um número n de caracteres. Então, quando você usou depois do primeiro nome, ele substituiu o sobrenome.

correspondência de índice curinga retorna o número da linha

8. Menor valor

Digamos que você tenha uma lista de alunos com suas pontuações, como abaixo. E agora nesta lista você deseja pesquisar o nome do aluno que tem a nota mais baixa.

encontrar dados de correspondência de índice de valor mais baixo

Para isso, você pode usar a função MIN com índice e correspondência e a fórmula será:

 =INDEX(A2:A21,MATCH(MIN(B2:B21),B2:B21,0))

encontre a correspondência de índice do valor mais baixo, insira a fórmula

Você tem os nomes dos alunos na coluna A e suas pontuações na coluna B.

Portanto, ao inserir esta fórmula em uma célula e pressionar Enter, ela retornará o nome do aluno com menor pontuação, ou seja, Librada Bastian.

Explicação

Nesta fórmula temos três partes diferentes.

Na primeira parte, a função MIN retorna a pontuação mais baixa.

encontrar correspondência de índice do valor mais baixo retorna valor

Depois disso, na segunda parte, a função match retorna a célula com a pontuação mais baixa.

encontrar a correspondência do índice de valor mais baixo retorna o número da linha

No final, a função de índice retorna o valor da coluna do nome do aluno usando a mesma posição da célula retornada pela correspondência.

nome de retorno de pesquisa da correspondência de índice de valor mais baixo

Dica: Da mesma forma, você também pode obter o nome do aluno que obteve a maior pontuação.

9. Melhor enésima pontuação

Agora pense assim, você tem uma lista de alunos com suas notas nos exames e dessa lista deseja obter o nome do aluno que obteve a 2ª maior nota.

dados correspondentes do índice de pontuação enésima superior

O problema é que você não sabe qual é a segunda pontuação mais alta.

Normalmente, ao pesquisar um valor com fórmulas de pesquisa, você tem certeza do valor que procura. Mas aqui você não sabe qual é a segunda pontuação mais alta.

Então, para isso você pode combinar uma função grande com um índice e combiná-lo. A função grande o ajudará a determinar o segundo valor mais alto do intervalo.

E a fórmula será:

 =INDEX(student_names,MATCH(LARGE(score,2),score,0))

correspondência do índice de pontuação enésima superior, insira a fórmula

… é assim que esta fórmula funciona

Nesta fórmula, você usou a função grande dentro da função de correspondência para o argumento lookup_value. E na grande função você mencionou o intervalo de pontuação e 2 para obter o segundo valor mais alto.

topo enésimo índice de pontuação corresponde ao grande retorno segundo valor mais alto

Depois que a função grande retorna o segundo maior valor, a função match usa esse valor e retorna o número da célula correspondente.

número da linha de retorno da correspondência do índice de pontuação superior

E no final, a função index usa esse número de célula e retorna o nome do aluno.

correspondência do índice de pontuação enésima superior retorna nome

10. Múltiplos critérios

Normalmente a combinação de índice e correspondência tem como objetivo procurar um único valor. E é por isso que você usa apenas um intervalo na função match.

Mas, às vezes, quando você se depara com dados do mundo real, precisa usar vários critérios para encontrar um valor.

Considere o exemplo abaixo. Aqui você tem uma lista de produtos com diversos detalhes como nome do produto, categoria e tamanho.

E a partir desses dados você deseja obter o preço de um determinado produto utilizando todos os critérios.

dados de correspondência de índice multicritério

A fórmula será portanto:

 =INDEX(D2:D11,MATCH(1,(A14=A2:A11)*(B14=B2:B11)*(C14=C2:C11),0))

correspondência de índice de vários critérios, insira a fórmula

Nota: Esta é uma fórmula de matriz, então você precisa inseri-la usando ctrl + shift + enter.

… é assim que esta fórmula funciona

Nesta fórmula você tem três arrays diferentes para corresponder a três valores diferentes e esses arrays retornam TRUE e FALSE onde os valores coincidem.

Depois disso, quando você os multiplica, você obtém um array ou algo parecido.

 =INDEX(D2:D11,MATCH(1,{0;0;0;0;0;0;1;0;0;0},0))

E a função match retorna a posição 1 para o array.

índice de múltiplos critérios corresponde ao número da linha de retorno

No final, INDEX retorna o preço da coluna de preço usando o número retornado pela correspondência.

vários critérios correspondentes ao preço unitário de retorno do índice

Dica: se não quiser usar uma fórmula de matriz, você pode usar a condição SUMPRODUCT .

11. Primeiro valor numérico de um intervalo

Digamos que você tenha uma lista na qual possui valores de texto e numéricos e agora, dessa lista, você deseja obter o primeiro valor numérico.

dados de correspondência do índice do primeiro valor numérico

Para fazer isso, você pode combinar a função ISNUMBER com índice/correspondência. ISNUMBER pode ajudá-lo a identificar qual valor é um número e qual é texto.

A fórmula será:

 =INDEX(list,MATCH(TRUE,ISNUMBER(list),0))

correspondência do índice do primeiro valor numérico, insira a fórmula

Você deve inserir esta fórmula em forma de tabela (usando Ctrl + Shift + Enter).

… é assim que esta fórmula funciona

Nesta fórmula ISNUMBER retorna um array igual ao comprimento da lista e neste array você tem TRUE para os valores que são números e FALSE para o restante dos valores.

primeiro valor numérico índice correspondente matriz de números

Depois disso, você usou TRUE na função de correspondência como valor de pesquisa. Portanto, ele retorna o número da posição do primeiro TRUE no array.

a correspondência do índice do primeiro valor numérico retorna o número da linha

Em última análise, usar este índice de número de posição retorna o primeiro valor numérico.

48-primeiro-valor-numérico-índice-correspondência-retorno-primeiro-número-min

12. Obtenha o primeiro valor não vazio

Vamos pensar assim, você tem uma lista de valores onde algumas das primeiras células estão vazias e deseja obter o primeiro valor não vazio.

primeiros dados de correspondência de índice não vazio

E você pode usar esta fórmula para obter esse primeiro valor não vazio.

 =INDEX(A2:A11,MATCH(FALSE,ISBLANK(A2:A11),0))

primeira correspondência de índice não vazia, insira a fórmula

… é assim que esta fórmula funciona

Precisamos dividir esta fórmula em três partes diferentes para entendê-la com sabedoria.

Primeiro , você usou a função ISBLANK na função match para obter um array onde você tem TRUE para células vazias e FALSE para células não vazias.

primeira correspondência de índice não vazia matriz isblank

Segundo , MATCH retorna o número da posição do primeiro TRUE na matriz retornada por ISBLANK.

Portanto, neste ponto você tem o número da célula do primeiro valor não vazio.

a primeira correspondência de índice não vazia retorna o número da linha

Terceiro , a função de índice simplesmente retorna o primeiro valor não vazio da lista.

a primeira correspondência de índice não vazia retorna o valor da primeira célula não vazia

13. Texto mais frequente

Agora suponha que dada uma lista de valores de texto, você precise contar o texto mais frequente.

Na lista abaixo você tem nomes.

Mas, existem alguns nomes que são mais de uma vez.

dados de correspondência de índice de texto mais frequentes

Então, agora você precisa obter o nome que tem a maior ocorrência na lista. Você pode usar a fórmula abaixo, que é uma combinação de MODE, INDEX e MATCH.

 =INDEX(A2:A13,MODE(MATCH(A2:A13,A2:A13,0)))

correspondência de índice de texto mais frequente inserir fórmula

Ao inserir esta fórmula ela retornará “Tamesha” que é o nome mais comum.

… é assim que esta fórmula funciona

Primeiro , MATCH irá comparar todo o intervalo de nomes consigo mesmo. E, ao fazer isso, retornará um array onde cada texto representará sua primeira posição.

Vejamos um exemplo do nome “Tamesha”, que é o nosso nome mais comum na lista. Agora , se você olhar a lista, isso aconteceu primeiro na 8ª célula e depois na 12ª célula.

Mas, se você olhar a tabela, para todas as posições onde temos “Tamesha”, ela retornou 8 que é a sua primeira posição.

tabela de pesquisa de índice de texto mais frequente

Depois disso, a partir do array retornado pelo MATCH, a função mode retornará o número mais frequente que é o número da célula da primeira ocorrência de “ Tamesha ”.

o modo de correspondência de índice de texto mais frequente retorna o número da célula

E no final, INDEX retornará o texto usando este número de célula.

nome de retorno de correspondência de índice de texto mais frequente

14. Crie um hiperlink

Agora, digamos que além de buscar um valor, você também queira criar um hiperlink para esse valor. Dessa forma, você pode navegar rapidamente até a célula onde sua coluna de pesquisa está localizada.

Por exemplo, na tabela abaixo você precisa saber a idade de uma pessoa. E, se você criar um hiperlink para esse valor, poderá navegar facilmente até a célula onde esse valor está localizado.

criar dados de correspondência de índice de hiperlink

E, para isso devemos utilizar HYPERLINK + Cell com INDEX e MATCH e a fórmula será:

É assim que esta fórmula funciona

Vamos separar esta fórmula em várias partes para entendê-la melhor.

  • Primeiro de tudo, você usou índice e correspondência na função de célula. E, ao usar ambas as funções na função de célula, você obtém uma referência de célula do valor correspondente em vez do valor correspondente.
  • Segundo , você concatenou “#” com a referência da célula.
  • Terceiro , você usou index e match novamente para obter o valor correspondente para usar como texto do link. Desta forma você tem o valor correspondente, bem como o link para a célula onde esse valor está localizado.

Adicione um comentário

O seu endereço de email não será publicado. Campos obrigatórios marcados com *