Inquiridor
comparação de números de 2 celulas

Pergunta
-
Todas as Respostas
-
-
Caro Emerson,
Para responder acertadamente a sua pergunta, seria necessário mais detalhamento das condições e critérios do conteúdo que haverá em cada célula. Por exemplo, qual a quantidade de números máximo que haverá em cada célula? Qual o caractere que determinará a separação dos números (na sua pergunta é o "-")? Você quer uma fórmula para arrastar para um banco de dados ou é são dois campos específicos e únicos? Os números podem se repetir nas células e vai querer saber a quantidade de repetições?
Eu iria postar aqui uma proposta interessante, mas como me cadastrei recentemente, a microsoft não permite que eu use imagens na resposta, por isso assim que eu tiver minha conta verificada e autorizada a postar imagens, eu posto a solução, pois sem o apoio das imagens ficará difícil explicar e você entender.
Eu tentei pensar alguma maneira de criar uma única forma, mas pela minha linha de lógica a fórmula fica cada vez mais complexa conforme a quantidade de números que se quer comparar na célula B1. Só como curiosidade, segue uma fórmula que faz o que você quer, mas que tem algumas limitações, pois só compara 4 números delimitados entre "-" na célula B1 (na célula A1 podem ter quantos números quiser) e o texto na célula B1 não pode terminar com "-", da forma que você digitou na sua pergunta. Se sua necessidade for simples assim, essa fórmula irá te atender, copie e cole na célula C1:
=SE(SEERRO(LOCALIZAR("-"&VALOR(ESQUERDA(B1;LOCALIZAR("-";B1;1)-1))&"-";"-"&A1&"-";1);0)>0;1;0)+SE(SEERRO(LOCALIZAR("-"&VALOR(EXT.TEXTO(B1;LOCALIZAR("-";B1;1)+1;LOCALIZAR("-";B1;LOCALIZAR("-";B1;1)+1)-LOCALIZAR("-";B1;1)-1))&"-";"-"&A1&"-";1);0)>0;1;0)+SE(SEERRO(LOCALIZAR("-"&VALOR(ESQUERDA(EXT.TEXTO(B1;LOCALIZAR("-";B1;LOCALIZAR("-";B1;1)+1)+1;LOCALIZAR("-";B1;LOCALIZAR("-";B1;LOCALIZAR("-";B1;1)+1)+1)-1);LOCALIZAR("-";EXT.TEXTO(B1;LOCALIZAR("-";B1;LOCALIZAR("-";B1;1)+1)+1;LOCALIZAR("-";B1;LOCALIZAR("-";B1;LOCALIZAR("-";B1;1)+1)+1)-1))-1))&"-";"-"&A1&"-";1);0)>0;1;0)+SE(SEERRO(LOCALIZAR("-"&VALOR(EXT.TEXTO(B1;LOCALIZAR("-";B1;LOCALIZAR(ESQUERDA(EXT.TEXTO(B1;LOCALIZAR("-";B1;LOCALIZAR("-";B1;1)+1)+1;LOCALIZAR("-";B1;LOCALIZAR("-";B1;LOCALIZAR("-";B1;1)+1)+1)-1);LOCALIZAR("-";EXT.TEXTO(B1;LOCALIZAR("-";B1;LOCALIZAR("-";B1;1)+1)+1;LOCALIZAR("-";B1;LOCALIZAR("-";B1;LOCALIZAR("-";B1;1)+1)+1)-1))-1);B1;1))+1;NÚM.CARACT(B1)-LOCALIZAR("-";B1;LOCALIZAR(ESQUERDA(EXT.TEXTO(B1;LOCALIZAR("-";B1;LOCALIZAR("-";B1;1)+1)+1;LOCALIZAR("-";B1;LOCALIZAR("-";B1;LOCALIZAR("-";B1;1)+1)+1)-1);LOCALIZAR("-";EXT.TEXTO(B1;LOCALIZAR("-";B1;LOCALIZAR("-";B1;1)+1)+1;LOCALIZAR("-";B1;LOCALIZAR("-";B1;LOCALIZAR("-";B1;1)+1)+1)-1))-1);B1;1))))&"-";"-"&A1&"-";1);0)>0;1;0)
Logo posto outra solução.
Abraços!
- Sugerido como Resposta Rafael Kamimura quarta-feira, 23 de abril de 2014 19:43
-
Agora que liberaram para eu postar imagem, vou propor uma solução com a criação de duas tabelas auxiliares para listarmos os números que aparecem em cada célula, e então fica fácil fazer a relação entre eles.
Na solução proposta, deixei a tabela limitada a 15 linhas, mas se a quantidade de números dentro de A1 e B1 for maior que 15 números, basta aumentar as tabelas e ajustar as fórmulas nas colunas N e O e da célula C1.
As fórmulas estão abaixo:
1) =CONT.SE(N3:N17;"SIM")
2) =SE(E3=1;1;SEERRO(SE(G2+2>NÚM.CARACT($A$1);"";G2+2);""))
3) =SE(OU(G2=NÚM.CARACT($A$1)+1;G2="");"";SEERRO(LOCALIZAR("-";$A$1;F3)-1;NÚM.CARACT($A$1)+1))
4) =SEERRO(EXT.TEXTO($A$1;F3;G3-F3+1);"")
5) =SE(J3=1;1;SEERRO(SE(L2+2>NÚM.CARACT($B$1);"";L2+2);""))
6) =SE(OU(L2=NÚM.CARACT($B$1)+1;L2="");"";SEERRO(LOCALIZAR("-";$B$1;K3)-1;NÚM.CARACT($B$1)+1))
7) =SEERRO(EXT.TEXTO($B$1;K3;L3-K3+1);"")
8) =SE(M3="";"";SE(CONT.SE($M$2:M3;M3)>1;"REPETIDO EM B1";SE(CONT.SE($H$3:$H$17;M3)>0;"SIM";"NÃO")))
9) =SE(M3="";"";CONT.SE($H$3:$H$17;M3))
Desta forma atenderá a sua necessidade!
Abraços!