Por que essa fórmula do Excel retorna dois valores diferentes?

3

Estou tentando usar o Excel (2013) para verificar se o valor 1 aparece em um determinado conjunto (usando a função CHOOSE() e, em caso afirmativo, imprimindo o valor na célula diretamente à direita dele usando a função VLOOKUP() . Por que essa fórmula geraria dois resultados diferentes em células diferentes quando a própria fórmula é idêntica?

=IF(CHOOSE(1, $A$4:$A$17) = 1, VLOOKUP(1, $A$4:$C$17, 2, FALSE), "?")

As células V4 a V7 em minha planilha têm exatamente a mesma fórmula (a que foi impressa acima), mas estão retornando valores diferentes. O valor retornado da V4 é o tipo que eu gostaria (ou seja, o valor da célula B4, que é um número), mas os outros estão retornando "?" . Por que isso e como posso corrigi-lo? Agradecemos antecipadamente por qualquer ajuda.

    
por Lorae 08.02.2014 / 20:36

2 respostas

6

Digamos que esses valores estejam no intervalo A4:A6 :

1
2
3

Quando você tem CHOOSE(1, $A$4:$A$17) .

As matrizes no Excel serão avaliadas para a linha ou coluna correspondente (o que for depende da situação) em que a fórmula está se avaliada normalmente. Se a fórmula estiver na linha 4, então CHOOSE(1, $A$4:$A$17) receberá CHOOSE(1, $A$4) . Na linha 5, ele receberá CHOOSE(1, $A$5) . Isso ocorre porque CHOOSE normalmente não aceita valores de matriz.

Se você deseja obter uma lista fora do intervalo $A$4:$A$17 , precisará inserir CHOOSE como uma fórmula de matriz e, como ela está em uma fórmula maior, isso também se aplica. Você verá que funciona como você espera, se usar Ctrl + Deslocar + Enter após inserir a fórmula e em vez de pressionar Digite sozinho.

    
por 08.02.2014 / 21:11
5

Não estou claro por que você usaria a função CHOOSE aqui, sugiro que normalmente você verifica com COUNTIF , ou seja,

=IF(COUNTIF($A$4:$A$17,1)>0,VLOOKUP(1,$A$4:$C$17,2,FALSE),"?")

.... mas no Excel 2007 (ou mais recente) é possivelmente mais fácil usar a função IFERROR assim:

=IFERROR(VLOOKUP(1,$A$4:$C$17,2,FALSE),"?")

Ambas as fórmulas retornarão o resultado do VLOOKUP se 1 aparecer em A4:A17 .... senão ?

    
por 08.02.2014 / 21:33