Simples, Excel, = LOOKUP (xxxxx), não retornando o valor correto

1

OK, isso é irritante, pois sei que isso deve funcionar ...

Eu tenho certas características na coluna A. Cada traço tem um valor correspondente na coluna B e um indicador numérico desse valor na coluna C. Assim:

|   A   |   B   |   C   |
| Trait1| Value |Numeric|
| Trait2| Value |Numeric|
| Trait3| Value |Numeric|

Os valores disponíveis na coluna B são: Incrível, Bom, Médio, Marginal, Terrível

O que estou procurando é um intervalo de 2 a -2 para ser aplicado à coluna C.

O que eu usei ... e funcionou para mim em situações semelhantes antes é isso:

=LOOKUP(C1,{"Amazing","Good","Average","Marginal","Terrible"},{2,1,0,-1,-2})

Quando eu pego em Incrível, Média, Marginal e Terrível, ele funciona muito bem e retorna o número adequado ... por alguma razão, Good está retornando 0 em vez de 1.

Eu tenho os valores B utilizando a validação de uma lista para que não haja erros de ortografia ou espaçamento. Pensamentos?

    
por James 31.03.2014 / 21:13

2 respostas

1

A pesquisa foi suspensa por um motivo. Fontes 1 e 2 :

The values in lookup_vector must be placed in ascending order. For example, -2, -1, 0, 1, 2 or A-Z or FALSE, TRUE. If you do not do so, LOOKUP may not give the correct value. Uppercase and lowercase text are equivalent.

    
por 31.03.2014 / 21:27
1

Os valores pesquisados na função lookup (o vetor de pesquisa) devem estar em ordem crescente. Em seguida, faça a correspondência do Vetor de resultados. Acho que você verá que o seguinte funciona como esperado:

=LOOKUP(B1,{"Amazing","Average","Good","Marginal","Terrible";2,0,1,-1,-2})

Você pode querer mudar para vlookup ou hlookup e manter sua lista em uma folha separada. Fornecer "False" como o último parâmetro para qualquer um desses permitirá que você pesquise em uma lista não classificada.

Editado para adicionar: também alterei seu c1 para b1 para caber no seu exemplo.

    
por 31.03.2014 / 21:30