Este fórum está sendo desativado

Depois de 9 anos, este fórum será desativado. Mas calma.... estamos migrando para uma comunidade no DISCORD. Junte-se a nós.

ENTRAR PARA DISCORD

Dúvidas sobre cálculos, funções simples e aninhadas, fórmulas matriciais, etc.
  • Avatar do usuário
Por orosolin2
Posts
#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.
Avatar do usuário
Por Reinaldo
Avatar
#12215
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"
Por orosolin2
Posts
#12235
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-)
long long title how many chars? lets see 123 ok more? yes 60

We have created lots of YouTube videos just so you can achieve [...]

Another post test yes yes yes or no, maybe ni? :-/

The best flat phpBB theme around. Period. Fine craftmanship and [...]

Do you need a super MOD? Well here it is. chew on this

All you need is right here. Content tag, SEO, listing, Pizza and spaghetti [...]

Lasagna on me this time ok? I got plenty of cash

this should be fantastic. but what about links,images, bbcodes etc etc? [...]

Estamos migrando para uma comunidade no Discord