Excel VLOOKUP pela segunda coluna usando o nome da tabela como intervalo

11

Usando a tabela de exemplo abaixo, posso usar a fórmula =VLOOKUP("ABC123456",Table1,3,FALSE)para pesquisar o Demandvalor, mas quero poder realizar a pesquisa usando o Cust Partcampo sem precisar tornar o Cust Partcampo a primeira coluna da tabela. Criar Cust Parta primeira coluna não é uma solução aceitável, porque eu também preciso realizar pesquisas usando o Partcampo e não quero usar intervalos codificados (por exemplo $B$2:$C$4) principalmente como uma questão de preferência, mas também porque usar tabela e campo nomes facilita a leitura da fórmula. Há alguma maneira de fazer isso?

insira a descrição da imagem aqui

Drew Chapin
fonte

Respostas:

14

É possível usar OFFSETpara retornar o intervalo da Tabela1, mas uma coluna acima, por exemplo

=VLOOKUP("AZ12345",OFFSET(Table1,0,1),2,FALSE)

Isso pesquisará AZ12345 na coluna CustPart e retornará o valor da próxima coluna

barry houdini
fonte
Qual parâmetro deve estar aqui se o valor da coluna Part for necessário aqui?
Zygimantus 22/10/19
10

Você pode combinar INDEXe MATCHobter o mesmo resultado VLOOKUPsem restringir a comparação à primeira coluna. Embora seja um pouco mais complexo.

=INDEX(Table1[Demand],MATCH("AZ12345",Table1[Cust Part],0))

Basicamente, você está usando MATCHpara encontrar o número da linha e INDEXobter o valor.

Nota: Ao contrário VLOOKUP, se o resultado for uma célula em branco, INDEXretornará em 0vez de uma sequência em branco.

Drew Chapin
fonte
1
"Diferente VLOOKUP"? Ele se comporta exatamente da mesma maneira em relação às células em branco sendo convertidas em 0s.
Sublinhado #
1
Este é o primeiro exemplo que eu já vi INDEX MATCHusando uma tabela. Isso melhora muito a legibilidade da fórmula. Eu estava tentando evitar, OFFSETporque é uma função volátil do Excel e pode resultar em processamento adicional de sobrecarga.
Ben
2

Que tal algo como:

=VLOOKUP("ABC123456";Table1[[Cust Part]:[Demand]];COLUMNS(Table1[[Cust Part]:[Demand]]);FALSE) 

Prefiro isso para que você possa ver o que está fazendo, mesmo em tabelas mais complexas, além disso, se a estrutura da tabela mudar, a fórmula ainda funcionará, desde que a coluna Cust Part esteja na frente da coluna Demand.

Pedro
fonte