Pergunte aqui
0

Comparação cruzada de diversas células

perguntadas 2020-09-15 23:20:55 +0100

imagem do gravatar de Jedison

updated 2020-09-16 15:26:52 +0100

imagem do gravatar de Schiavinatto

Olá amigos, Em uma planilha preciso comparar textos que estarão (ou não) indicados em 15 colunas subsequentes, de modo que a primeira coluna reproduza esse texto, ou me aponte quando os textos de determinada linha sejam divergentes entre si.

Pouco confuso de explicar, por isso anexo um modelo do que quero, que consegui com uma extensa fórmula: (em A9) = SE((B9<>C9)*(C9<>"")+(C9<>D9)*(D9<>"")+(D9<>E9)*(E9<>"")+(E9<>F9)*(F9<>"")+(F9<>G9)*(G9<>"")+(G9<>H9)*(H9<>"")+(H9<>I9)*(I9<>"")+(I9<>J9)*(J9<>"")+(J9<>K9)*(K9<>"")+(K9<>L9)*(L9<>"")+(L9<>M9)*(M9<>"")+(M9<>N9)*(N9<>"")+(N9<>O9)*(O9<>"")+(O9<>P9)*(P9<>"");"DIVERGÊNCIA>>";B9)

Em resumo, o texto "DIVERGÊNCIA" deverá aparecer na coluna A quando algum dos textos inseridos nas colunas divergir de algum dos textos colocados nas demais. Ex: o texto em B, C e D são iguais, mas o texto em E é diferente. Nas demais colunas estão em branco. PORÉM, se em todas as colunas EM QUE HOUVER ALGUM TEXTO eles forem iguais entre si, a primeira coluna deverá reproduzir esse texto.

NOTA: Já usei a expressão COMPARA, como poderão ver, o que reduziu bastante o tamanho da planilha, mas aumentou um pouquinho o tempo de processamento, já que minha planilha original contém bastantes dados.

Alguém tem uma solução melhor do que a minha e que ocupe menos memória e tempo de processamento?

C:\fakepath\Comparar.ods

editar alterar tag assinalar como ofensivo fechar mesclar Excluir

1 Resposta

1

respondidas 2020-09-16 05:20:47 +0100

imagem do gravatar de Schiavinatto

Considerando a planilha exemplo: em A9 a formula é

=SE(CONTAR.VAZIO(B9:P9)=15;"";SE(CONT.SE(B9:P9;B9)<15-CONTAR.VAZIO(B9:P9);"DIVERGÊNTE>>";B9))

e replicar para baixo.

-----------------------------------------------------------------------------

ATENÇÂO:: Para dar mais detalhes a sua pergunta, use Descrição da imagem na pergunta ou Descrição da imagem abaixo. Não use Adicionar resposta para comentário. Grato.

Caso a resposta atendeu sua necessidade, por gentileza, click na bolinha Descrição da imagem a esquerda da resposta, para finalizar a pergunta.

editar assinalar como ofensivo Excluir Link mais

Comentários

Grande Schiavinatto!!! Ontem à noite acabei chegando a uma conclusão bem parecida com a que propusestes. Já havia intuído que a solução estaria no CONT.SE. Não postei porque era tarde. A minha ficou assim, no final:

SE(CONT.SE(C10:Q10;"")+CONT.SE(D10:Q10;C10)<14;"DIVERGÊNCIA >>>";C10)

A função CONT.SE curiosamente usa um pouco mais de processamento do que aquela massaroca que eu tinha inventado, mas mesmo assim vale à pena. Reduziu 10k no meu arquivo, o que acho que também compensa, já que ele será replicado inúmeras vezes..

Valeu irmão!!

imagem do gravatar de JedisonJedison ( 2020-09-16 14:57:54 +0100 )editar

Hei Scavinatto, parece que me precipitei. Estou testando a minha solução, e percebi que quando a coluna C (que é a minha primeira de dados na planilha) é preenchida com um ou mais ASTERISCOS, não é apontada a divergência. E, pior, isso acontece tanto na tua fórmula quanto na minha. Qualquer outro carácter dá certo, por isso concluí que o sistema reconhece o "*" como coringa, o que pra mim é fatal, já que esse é justamente o sinal que utilizo para referir que as condições existentes na coluna "C" foram checadas e nada deverá ser informado nela... Eu até posso mudar isso, mas implicaria revisão total do meu sistema de planilhas, que contém cerca de 6000 fórmulas e condições que interagem. Tens alguma ideia de como solucionar isso?

imagem do gravatar de JedisonJedison ( 2020-09-16 15:50:11 +0100 )editar
1

Descobri a solução. E vou postá-la aqui porque poderá servir para outros usuários. MARQUEI em FERRAMENTAS\OPÇÕES\CALC\CALCULAR, a check-box de PERMITIR CARACTERES REGULARES EM FÓRMULAS E EXPRESSÕES (desmarcando, consequentemente, a opção UTILIZAR CARACTERES CORINGA ....) Eu não sabia que essa configuração pode ser específica de determinada planilha (arquivo). Achava que era uma opção geral do calc e que se aplicaria a todos os arquivos. (Aliás, acho que vou criar um tópico específico para essa questão, porque acho bastante interessante, e poderá servir para outros que, aqui, jamais a encontrarão).

imagem do gravatar de JedisonJedison ( 2020-09-16 16:20:15 +0100 )editar

Fórmula mais eficiente:

SE(CONTAR.VAZIO(C10:Q10)+CONT.SE(D10:Q10;C10)=14;C10;"DIVERGÊNCIA >> >")

Não estava informando a "Divergência" quando a primeira célula estava em branco.

imagem do gravatar de JedisonJedison ( 2020-09-19 15:23:47 +0100 )editar
Login/Registrar para responder

Ferramentas de perguntas

1 seguidor

Estatísticas

Perguntadas: 2020-09-15 23:20:55 +0100

Lidas: 24 vezes

Última atualização: Sep 16 '20