Ir ao conteúdo
  • Cadastre-se

Formula com algumas condições.


Ir à solução Resolvido por minoso,

Posts recomendados

Boa tarde!

 

Preciso da ajuda de vocês!

 

Tenho em uma planilha uma formula com 2 condições:

 

1° Condição, se a célula A2 estiver vazia, então deixe a célula H2 em branco

2° Condição, se a afirmação acima for falsa, então aplique a formula abaixo (em negrito)

 

=SE(ÉCÉL.VAZIA(A2);"";EXT.TEXTO(A2;29;6))

 

Apenas a titulo de curiosidade: a formula acima retira da linha que eu scaneio de uma chave danfe (nf eletronica) os 6 caracteres referentes ao CTe (conhecimento de transporte eletrônico).

 

No caso  da formula acima iria retirar somente os 6 algorismos em negrito. 

35141102905424002255570000002518671014371110, com esses números separados utilizo um PROCV com alguns SE para localizar em um BD, dados como remetente, data emissão, etc...

 

 

A 3° condição não estou conseguindo embutir na formula acima, é necessária porque nem sempre o scanner LÊ o código de barras, fazendo que seja necessário a digitação manual do 44 algorismos.

 

A formula que eu quero deve ser assim:

 

SE a célula A2 está em branco, então deixe a célula H2 em branco

SE a célula A2 conter >1 ou <=6 algorismos, então a célula H2 = A2

Se a célula A2 conter 7 ou mais algorismos, então EXT.TEXTO(A2;29;6)

 

Se houver como montar uma formula com as 3 condições acima, quando scaner não lê o código de barras, poderei digitar somente o 6 caracteres que eu quero na célula A2, que os ProcV funcionaram normalmente.

 

A planilha original está anexada.

 

Agradeço desde já a todos.

 

Protocolos1.xlsx

Link para o comentário
Compartilhar em outros sites

 

@D Link DI 604

 

Use a fórmula para contar quantos caracteres a célula referenciada possui, no caso =NÚM.CARACT()

 

Cole essa fórmula na célula H2 e replique-a para toda a tabela:

=SE(ÉCÉL.VAZIA(A2);"";SE(NÚM.CARACT(A2)=6;A2;EXT.TEXTO(A2;29;6)))

Quase resolvido, mais somente funciona se a célula A2 conter 6 caracteres, e no caso de conter entre 1 e 6 caracteres?

Link para o comentário
Compartilhar em outros sites

  • Solução

Quase resolvido, mais somente funciona se a célula A2 conter 6 caracteres, e no caso de conter entre 1 e 6 caracteres?

 

Haverá casos em que ele terá menos de 6 caracteres? Se realmente houver, então troque o = por <=

=SE(ÉCÉL.VAZIA(A2);"";SE(NÚM.CARACT(A2)<=6;A2;EXT.TEXTO(A2;29;6)))
  • Curtir 1
Link para o comentário
Compartilhar em outros sites

 

Haverá casos em que ele terá menos de 6 caracteres? Se realmente houver, então troque o = por <=

=SE(ÉCÉL.VAZIA(A2);"";SE(NÚM.CARACT(A2)<=6;A2;EXT.TEXTO(A2;29;6)))

Existe casos que haverá menos de 6 caracteres sim! 

 

Antes mesmo da sua explicação tinha colocado o sinal de <= e realmente deu certo!

 

Muito obrigado.

Link para o comentário
Compartilhar em outros sites

Visitante
Este tópico está impedido de receber novas respostas.

Sobre o Clube do Hardware

No ar desde 1996, o Clube do Hardware é uma das maiores, mais antigas e mais respeitadas comunidades sobre tecnologia do Brasil. Leia mais

Direitos autorais

Não permitimos a cópia ou reprodução do conteúdo do nosso site, fórum, newsletters e redes sociais, mesmo citando-se a fonte. Leia mais

×
×
  • Criar novo...