O Excel Lookup adiciona aspas duplas à string

1

Estou usando essa fórmula para obter valor de uma tabela

=LOOKUP(C11;Alias[A];Alias[B])

em que C11 = 12354567

Mas quando eu uso

=LOOKUP(LEFT(C11,7);Alias[A];Alias[B])

onde C11 = 12345678, a fórmula não funciona.

Avaliando a fórmula Descobri que LEFT adiciona aspas duplas, fazendo a fórmula assim:

=LOOKUP("1234567";Alias[A];Alias[B])

Como abordar esse problema?

    
por Axxess 05.04.2014 / 15:16

2 respostas

3

Você precisa converter o texto de volta para um número. Você pode fazer isso multiplicando por 1 ou adicionando 0 (ou subtraindo 0, ou dividindo por 1, bem qualquer operação aritmética que não altere o valor final):

=LOOKUP(LEFT(C11,7)*1;Alias[A];Alias[B])

=LOOKUP(LEFT(C11,7)+0;Alias[A];Alias[B])

Operações de texto (como LEFT , MID , RIGHT , etc) retornam valores de texto e não valores numéricos.

Uma maneira mais "formal" seria usar VALUE :

=LOOKUP(VALUE(LEFT(C11,7));Alias[A];Alias[B])
    
por 05.04.2014 / 15:22
2

Left está retornando uma string, que, presumo, está sendo comparada a números. Isso irá falhar. Você precisa alterá-lo para um número com algo como Int(Left(C11)) ou Value(Left(C11)) .

=LOOKUP(INT(LEFT(C11,7));Alias[A];Alias[B])

ou

=LOOKUP(VALUE(LEFT(C11,7));Alias[A];Alias[B])

    
por 05.04.2014 / 15:22