Notifications
Clear all

DIFERENÇAS ENTRE STRINGS

6 Posts
2 Usuários
0 Likes
1,153 Visualizações
(@muttley)
Posts: 57
Trusted Member
Topic starter
 

Bom dia

Gostaria de saber o modo mais fácil de filtrar/selecionar Strings (palavras ou numeros) que tenham uma certa diferença entre elas, por exemplo que a diferenças seja de 3 letras .

Exemplo
Suponha que eu tenha a String abaixo, que chamarei de PRIMEIRA STRING

ABCDFIJLMNQTWXY

Algumas Strings que tem uma diferença de 3 em relação acima poderia ser

ACDFJKLMNPQRWXY As letras K, P e R não estão na primeira string
ABCDFGJKLNPQTXY As letras G,K e P não estão na primeira string
BDEFGIJLMNPTWXY
ABHIJLMNQRTVWXY
ABCDGHILMNQTVWX
ABFIJKLMNPSTWXY
ABDFGIJLMOQRWXY
ABCGHIJLMNRTWXY
ABCDFGJLMOPQTWX
ABCDFGIJLNOQVWY

As Strings são todas do mesmo tamanho , exemplo 15

Suponha que eu tenha uma coluna com muita destas string, eu gostaria de achar todas String que mantem a mesma diferença , entre elas.

Assim String 1 mantém uma diferença de 3 letras com a String 2
a String 2 mantém uma diferença de 3 com a String 3, mas a string 3 deve manter esta mesma diferença com a string 1
A string 3 mantém uma diferença de 3 letras com a string 4, mas esta string 4 deve manter a mesma diferença com as string 1 e 2

Complicaod né ?

Toda ajuda e idéia será bem vinda

 
Postado : 19/01/2015 6:44 am
(@gtsalikis)
Posts: 2373
Noble Member
 

Dá uma olhada

Lembre-se de AGRADECER aos que te ajudaram, e de marcar o tópico como [Resolvido]
Gente que cuida de gente.

Gilmar

 
Postado : 19/01/2015 7:11 am
(@muttley)
Posts: 57
Trusted Member
Topic starter
 

Perfeito, coloquei como Resolvido, pois ja eliminou 99,99999% dos meus problemas, mas não querendo abusar é possivel comparar cada uma das strings com todas outras para que depois filtrar pegar somente aquelas que mantem a mesma distancia simultaneamente das demais ?

ABCDFIJLMNQTWXY
ACDFJKLMNPQRWXY 3
ABCDFGJKLNPQTXY 3 3
BDEFGIJLMNPTWXY 3 5
ABHIJLMNQRTVWXY 3 5

No exemplo a cima a primeira String é a strng padrão com qual será comparada , todas outras mantem uma diferença de 3 letras com ela, cor vermelha, na segunda coluna , cor azul são as diferenças com a segunda string ACDFJKLMNPQRWXY.

No caso somente a string ABCDFGJKLNPQTXY mantém uma diferença de 3 com as 3 primeiras, gostaria de fazer isto de modo automático onde cada string seja comparada com as demais, para que eu possa filtrar as equidistantes

Mas valeu a ajuda , grande solução

 
Postado : 19/01/2015 7:40 am
(@gtsalikis)
Posts: 2373
Noble Member
 

Para manter a primeira string fixa, use assim:

=SOMA(SE(ÉNÚM(LOCALIZAR(EXT.TEXTO($A$2;{1;2;3;4;5;6;7;8;9;10;11;12;13};1);A3));0;1))

Lembre-se de AGRADECER aos que te ajudaram, e de marcar o tópico como [Resolvido]
Gente que cuida de gente.

Gilmar

 
Postado : 19/01/2015 7:51 am
(@muttley)
Posts: 57
Trusted Member
Topic starter
 

Esta parte eu entendi, basta fazer uma referencia absouta a primeira string, mas o que estou tentando é a diferença de muitos para muitos, no exemplo somente a terceira string mantem uma diferença de 3 para primeira e para segunda, então até o momento somente as strings
ABCDFIJLMNQTWXY
ACDFJKLMNPQRWXY
ABCDFGJKLNPQTXY

seriam usadas, pois somente elas mantém entre si uma diferença de 3 strings, a quarta e quinta apesar de manter uma diferenças de 3 com a primeira string, tem uma diferença de 5 com relação a segunda, por isto seriam descartadas. O que gostaria era algum modo de ter as diferenças das strings com as demais e depois filtrar somente as strings que tenham a mesma diferenças entre elas simultanemamente

 
Postado : 19/01/2015 8:13 am
(@gtsalikis)
Posts: 2373
Noble Member
 

Nesse caso, creio que vc vai ter que fazer uma tabela n X n.

Ou seja, jogar todas as strings na vertical e na horizontal.

Algo semelhante à distância das cidades nesse quadro:
http://www.delttari.com.br/vieira/Home_ ... ancias.jpg

Depois vc vai poder filtrar, procurando cada diferença e listando seus pares A-B.

Se precisar de ajuda, com as fórmulas, mende seu modelo anexo e compactado

Lembre-se de AGRADECER aos que te ajudaram, e de marcar o tópico como [Resolvido]
Gente que cuida de gente.

Gilmar

 
Postado : 19/01/2015 8:24 am