A função Excel VLOOKUP retorna um valor da linha errada - mas nenhum espaço à direita

0

Estou tendo um problema com a fórmula do VLOOKUP e, embora outras pessoas on-line tenham tido problemas, seus problemas parecem estar relacionados a espaços à direita, mas verifiquei meus dados e não consigo encontrar espaços à direita, por isso estou ainda não tem certeza do que poderia estar causando isso.

A fórmula que estou usando é: = VLOOKUP (G1, A: B, 2)

Valor da célula G1="Envio - Entrega padrão até às 17:00"

<excel
The array A:B is as below:
Column A                               Column B
Shipping Rate Name                     Service
2 Day (Isle of Man)                     11
2 Day (Scilly Isles)                    11
2 Day (Scottish Highlands)              11
Saturday by 10am                        18
Saturday by 12pm                        17
Saturday by 5pm                         16
Standard Delivery (Channel Islands)     12
Standard Delivery (EIRE)                12
Standard Delivery (Northern Ireland)    12
Standard Delivery by 10am               14
Standard Delivery by 12pm               13
Standard Delivery by 5pm                12
excel>

ignore o "< excel >" marca que eles estão lá apenas para formatação para tornar as colunas mais claras!

A questão que eu tenho é o resultado da fórmula é "16", enquanto teoricamente deveria ser "12" (é isso que eu esperava de qualquer maneira)

Se alguém puder ajudar, será muito apreciado!

EDIT: mais algumas notas:

  • SE eu colocar FALSE (correspondência exata) no final da fórmula, o resultado será "# N / A". Se eu colocar TRUE (Correspondência Aproximada) no final, o resultado ainda será "16"

  • Eu não notei que cada valor está em uma planilha diferente, apenas o simplifiquei para essa pergunta. A célula G1 é uma folha, a matriz A: B está na próxima folha e a própria fórmula está em outra folha.

  • Não faz qualquer diferença se eu colocar toda a matriz, fórmula e valor todos na mesma folha - eu ainda recebo "16" !!!!

por Tomy-rex 13.01.2017 / 11:04

1 resposta

1

O problema que você tem é que não há correspondência.

A fórmula está procurando o valor em G1 , " Envio - Entrega padrão até 17h ", mas não há nada que corresponda a isso na matriz de dados.

Se G1 não tiver o texto precedente de "* Frete - *", ele retornará o valor que você está procurando.

Se eu entendi corretamente, você disse que o sistema de onde os dados vêm adiciona o texto "* Shipping - *" ao importar. Portanto, ajuste sua fórmula VLOOKUP para incluir a função MID para aparar o texto desnecessário - MID(G1, 12, 99) .

Com o VLOOKUP , ficará assim:

=VLOOKUP(MID(G1, 12, 99), A:B, 2, FALSE)

Observação: usei 99 na função MID porque o tamanho da string é desconhecido. O Excel ignora espaços em branco no final, portanto, isso não é um problema.

    
por 13.01.2017 / 13:51