- 27 Jun 2016 às 16:17
#12198
Olá, tenho uma dúvida acerca de como o Excel realiza comparações (maior que, menor que) com textos.
Por exemplo:
1) Se eu colocar a seguinte fórmula =1>2 retornará FALSO.
2) Se eu colocar a seguinte fórmula =2>1 retornará VERDADEIRO.
Até aqui a resposta é óbvia.
3) Se eu colocar a seguinte fórmula ="a">"b" retornará FALSO.
4) Se eu colocar a seguinte fórmula ="b">"a" retornará VERDADEIRO.
Aqui eu imagino que o Excel converta cada caractere em seu código ANSI ou Unicode equivalente e faça a comparação igual aos exemplos 1 e 2 (ver funções CÓDIGO e UNICODE).
Com isso temos que "a" = 97 e "b" = 98, portanto =98>97 retorna VERDADEIRO no exemplo 4.
Acho que confirmo minha teoria, pois:
5) Se eu colocar a seguinte fórmula ="abc">"bcd" retornará FALSO.
6) Se eu colocar a seguinte fórmula ="bcd">"abc" retornará VERDADEIRO.
Eu suponho que nesse caso, após converter cada caractere no seu código ANSI correspondente, ele some todos, então temos: "a"=97, "b"=98, "c"=99 e "d"=100, portanto "abc"=97+98+99=294 e "bcd"=98+99+100=297 então =297>294 retornará VERDADEIRO.
Até aqui são apenas suposições.
Aqui o problema que me deparei e não encontrei lógica nele.
7) Se eu testar o número =4254810>425485 retornará VERDADEIRO.
8) Se eu testar o texto ="4254810">"425485" retornará FALSO.
Realmente não entendi, pois se aplicar a lógica de converter cada caractere em seu código, temos: ="4254810"=52+50+53+52+56+49+48=360 e ="425485"=52+50+53+52+56+53=316 e portanto =360>316 deveria retornar VERDADEIRO.
Alguém já encontrou algum material que na net que diga explicitamente como o Excel faz essa comparação de textos ou tenha conhecimento de porquê esse meu último exemplo não dá VERDADEIRO?
Atte.
Por exemplo:
1) Se eu colocar a seguinte fórmula =1>2 retornará FALSO.
2) Se eu colocar a seguinte fórmula =2>1 retornará VERDADEIRO.
Até aqui a resposta é óbvia.
3) Se eu colocar a seguinte fórmula ="a">"b" retornará FALSO.
4) Se eu colocar a seguinte fórmula ="b">"a" retornará VERDADEIRO.
Aqui eu imagino que o Excel converta cada caractere em seu código ANSI ou Unicode equivalente e faça a comparação igual aos exemplos 1 e 2 (ver funções CÓDIGO e UNICODE).
Com isso temos que "a" = 97 e "b" = 98, portanto =98>97 retorna VERDADEIRO no exemplo 4.
Acho que confirmo minha teoria, pois:
5) Se eu colocar a seguinte fórmula ="abc">"bcd" retornará FALSO.
6) Se eu colocar a seguinte fórmula ="bcd">"abc" retornará VERDADEIRO.
Eu suponho que nesse caso, após converter cada caractere no seu código ANSI correspondente, ele some todos, então temos: "a"=97, "b"=98, "c"=99 e "d"=100, portanto "abc"=97+98+99=294 e "bcd"=98+99+100=297 então =297>294 retornará VERDADEIRO.
Até aqui são apenas suposições.
Aqui o problema que me deparei e não encontrei lógica nele.
7) Se eu testar o número =4254810>425485 retornará VERDADEIRO.
8) Se eu testar o texto ="4254810">"425485" retornará FALSO.
Realmente não entendi, pois se aplicar a lógica de converter cada caractere em seu código, temos: ="4254810"=52+50+53+52+56+49+48=360 e ="425485"=52+50+53+52+56+53=316 e portanto =360>316 deveria retornar VERDADEIRO.
Alguém já encontrou algum material que na net que diga explicitamente como o Excel faz essa comparação de textos ou tenha conhecimento de porquê esse meu último exemplo não dá VERDADEIRO?
Atte.