Pesquisa do Excel não está retornando o resultado adequado

1

Eu tenho uma função de pesquisa simples, que estou usando no lugar de uma instrução Switch Case.

A seguir, o que estou tentando realizar:

switch(F5){
    case "apple":
        return "1";
        break;
    case "pear":
        return "2";
        break;
    case "mango":
        return "3";
        break;
    case "kiwi":
        return "4";
        break;
}

Abaixo está minha função de pesquisa do Excel:

=LOOKUP(F5,{"apple","pear","mango","kiwi"},{"1","2","3","4"})

O problema: Quando F5 é igual a maçã e pêra eu recebo 1 e 2 respectivamente e isso é bom.

No entanto, quando F5 é igual a manga ou kiwi eu recebo 1, e não 3 ou 4 respectivamente, que é o que eu espero.

Por que isso está acontecendo? Estou usando a sintaxe errada? A função de pesquisa acima não é adequada para usar no lugar de uma instrução switch case? Existe uma maneira melhor de fazer isso?

p.s. esse link fala sobre como usar a função de pesquisa no lugar de uma declaração de caso de comutador

    
por xited 02.03.2013 / 18:51

1 resposta

1

A função LOOKUP requer que o intervalo de pesquisa (suas frutas) esteja em ordem crescente

Tente alterar a ordem como esta

=LOOKUP(F5,{"apple","kiwi","mango","pear"},{"1","4","3","2"})

.... embora se F5 for limão que lhe dará 4 em vez de # N / A, então para correspondência exata somente você pode usar HLOOKUP como este [não requer classificação]

=HLOOKUP(F5,{"apple","pear","mango","kiwi";"1","2","3","4"},2,0)

    
por 02.03.2013 / 18:57