Página 1 de 1

Operador de Comparação

Enviado: 27 Jun 2016 às 16:17
por orosolin2
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.

Operador de Comparação

Enviado: 27 Jun 2016 às 19:37
por Reinaldo
Até onde sei operadores lógicos, funcionam muito bem em números.
Com texto e considerado o mesmo algorítimo de ordenar.
Assim ordenando como texto "4254810" vem primeiro que "4254850", consequentemente "4254810" e menor ("<") do que "425485"

Operador de Comparação

Enviado: 28 Jun 2016 às 13:48
por orosolin2
Sim com números o funcionamento é óbvio e trivial.

Não tinha reparado nessa possibilidade. Realmente o texto "10" vem antes do texto "5", então sim "425485" é maior que "4254810".

Faz todo o sentido.

Boa Reinaldo!! 8-)