Ir ao conteúdo
  • Cadastre-se

Fórmula "IF" Excel


Zarppa

Posts recomendados

Boa tarde pessoal,

Estou tentando automatizar uma planilha que utilizo no final de cada semana aqui no meu serviço, é um trabalho de classificação de defeitos, porém ta difícil aqui, não sou muito bom com excel...

Detalhando um pouco como a planilha vai funcionar:

Todos os defeitos que tiverem o status "Fixed", conforme segue:

____________________

Status: Fixed |

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

Devem seguir a seguinte regra:

Root Cause | Reject Reason |

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

Code | Not Assigned|

Requirements | Not Assigned|

Infra | Not Assigned|

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

Claro que tem mais regras, mas eu sabendo fazer essa parte, o resto eu incremento:

Segue o que eu fiz:

=IF(F9="Fixed" AND(D9=Code;E9="Not Assigned" OR(D9="Requirements";E9="Not Assigned") OR(D9="Infra";E9="Not Assigned"));"OK";"Incorreto")

Onde:

F9= 'Status'

D9= 'Root Cause'

E9= 'Reject Reason'

Porém, está dando erro, se poderem me ajudar.

Agradeço desde já.

Link para o comentário
Compartilhar em outros sites

Pessoal, infelizmente não posso postar a planilha em si, porém fiz um pequeno exemplo do que eu quero fazer:

http://www.sendspace.com/file/2eg5b6

As regras de condição é a seguinte:

SE o status for "Fixed", deve se verificar os seguintes casos:

•Quando Root Cause for "Code" , Reject Reason deve estar "Not Assigned";

OU

•Quando Root Cause for "Requirements" , Reject Reason deve estar "Not Assigned"

OU

•Quando Root Cause for "Infra" , Reject Reason deve estar "Not Assigned"

Quando uma dessas regras são seguidas o campo Avaliação fica "OK", SENÃO "Incorreto".

Adaptei a fórmula que postei no primeiro post para a planilha que linkei aqui, segue:

=IF(B2="Fixed" AND(C2=Code;D2="Not Assigned" OR(C2="Requirements";D2="Not Assigned") OR(C2="Infra";D2="Not Assigned"));"OK";"Incorreto")

A formula que realizei está dando erro.

Se não fui claro novamente, favor postar aqui, tento ser mais claro.

Obrigado pela atenção de vocês.

Link para o comentário
Compartilhar em outros sites

  • 4 semanas depois...
Bom dia Zarppa

Veja se desta forma atende:

=SE(E(B2="Fixed";D2="Not Assigned");SE(OU(C2="Code";C2="Requirements";C2="Infra");"OK";"INCORRETO"))

Baixe a planilha para conferir:

http://www.sendspace.com/file/xk8ipo

Dê retorno.

Um abraço e boas festas.

Boa tarde,

Desculpe a demora no retorno aqui no fórum, sai de férias aqui e fiz um favor a minha família e me desliguei total do trabalho, mas voltando a questão levantada, funcionou perfeitamente a formula que você publicou, porém retornando ao trabalho solicitaram uma nova mudança com novos criterios, se poderem me ajudar, apenas com um esboço, não precisa a formula inteira, até porque são vários criterios novos e não quero tomar o tempo de vocês. Segue o doc com os criterios:

http://www.sendspace.com/file/a2wrfy

A ideia é a mesma da primeira, o que muda é os "Status", que pode variar(Valido/Invalido), no caso Valido seria o "Fixed" inicialmente proposto, a minha dificuldade é na sintaxe basicamente, não consigo fazer esse encadeamento de "IF's" para não fazer verificações desnecessarias, por exemplo testar todos os criterios de status Invalidos, sendo que o defeito é "Valido", por isso disse que nao precisava a formula pronta, apenas uma sintaxe para o caso ja me ajudaria, o resto eu me viro.

Tentei fazer por conta essa formula, me baseando um pouco na sua solução anterior, porém está acusando erros, segue:

=IF(F3="Fixed";IF(AND(D3="Code";E3="Not Assigned");"OK";IF(AND(D3="Requirements";E3="Not Assigned");"OK";IF(AND(D3="Infra";E3="Not Assigned");OK;"Incorreto")));IF(AND(D3="Not Assigned";E3="Duplicate");"OK";IF(AND(D3="Not Assigned";E3="Bad understanding on the Requirements");"OK";IF(AND(D3="Not Assigned";E3="External Interface");"OK";IF(AND(D3="Enhancement";E3="Out of Scope");"OK";IF(AND(D3="Requirements";E3="Requirement");"OK";IF(AND(D3="Requirements";E3="Out of Scope");"OK";IF(AND(D3="Infra";E3="Not Assigned"); "OK"; "Incorreto"))))))))

Onde:

F3= Status

D3= Root Cause

E3= Reject Reason

Novamente, me desculpo pela demora.

Desde já, muito obrigado.

Link para o comentário
Compartilhar em outros sites

...Adaptei a fórmula que postei no primeiro post para a planilha que linkei aqui, segue:

=IF(B2="Fixed" AND(C2=Code;D2="Not Assigned" OR(C2="Requirements";D2="Not Assigned") OR(C2="Infra";D2="Not Assigned"));"OK";"Incorreto")

A formula que realizei está dando erro.

=SE(E(B2="Fixed";OU(C2="Code";C2="Requirements";C2="Infra");D2="Not Assigned");"OK";"Incorreto")

ou, na versão em inglês

=IF(AND(B2="Fixed",OR(C2="Code",C2="Requirements",C2="Infra"),D2="Not Assigned"),"OK","Incorreto")

Link para o comentário
Compartilhar em outros sites

=SE(E(B2="Fixed";OU(C2="Code";C2="Requirements";C2="Infra");D2="Not Assigned");"OK";"Incorreto")

ou, na versão em inglês

=IF(AND(B2="Fixed",OR(C2="Code",C2="Requirements",C2="Infra"),D2="Not Assigned"),"OK","Incorreto")

Obrigado pela contribuição e a disponibilidade, porém a questão ja evoluiu, conforme minha ultima postagem.

Vou tentar realizar uma nova versão da formula em cima da da sua sugestão, se eu conseguir e funcionar posto aqui.

Link para o comentário
Compartilhar em outros sites

Obrigado pela contribuição e a disponibilidade, porém a questão ja evoluiu, conforme minha ultima postagem.

Vou tentar realizar uma nova versão da formula em cima da da sua sugestão, se eu conseguir e funcionar posto aqui.

Até deu certo para os casos com Status "Fixed", mas não deu muito certo para os "Invalid".

Ninguém para me dar uma sugestão para melhorar a ultima formula que postei?

Se não ficou clara a minha ideia, vou detalhar...

Formula completa:

=IF(F3="Fixed";IF(AND(D3="Code";E3="Not Assigned");"OK";IF(AND(D3="Requirements";E3="Not Assigned");"OK";IF(AND(D3="Infra";E3="Not Assigned");OK;"Incorreto")));IF(AND(D3="Not Assigned";E3="Duplicate");"OK";IF(AND(D3="Not Assigned";E3="Bad understanding on the Requirements");"OK";IF(AND(D3="Not Assigned";E3="External Interface");"OK";IF(AND(D3="Enhancement";E3="Out of Scope");"OK";IF(AND(D3="Requirements";E3="Requirement");"OK";IF(AND(D3="Requirements";E3="Out of Scope");"OK";IF(AND(D3="Infra";E3="Environment"); "OK"; "Incorreto"))))))))

Detalhamento:

=IF(F3="Fixed"(- Verificação Status

IF(AND(D3="Code";E3="Not Assigned");"OK";IF(AND(D3="Requirements";E3="Not Assigned");"OK";IF(AND(D3="Infra";E3="Not Assigned");OK;"Incorreto"))) - Validações de Root Cause e Reject Reason quando status for "Fixed". [Valor_IF_True] dentro do primeiro "IF".

IF(AND(D3="Not Assigned";E3="Duplicate");"OK";IF(AND(D3="Not Assigned";E3="Bad understanding on the Requirements");"OK";IF(AND(D3="Not Assigned";E3="External Interface");"OK";IF(AND(D3="Enhancement";E3="Out of Scope");"OK";IF(AND(D3="Requirements";E3="Requirem ent");"OK";IF(AND(D3="Requirements";E3="Out of Scope");"OK";IF(AND(D3="Infra";E3="Not Assigned"); "OK"; "Incorreto")))))))) - Validações de Root Cause e Reject Reason quando status for "Invalid". [Valor_IF_False] dentro do primeiro "IF".

Aqui quando eu tiro o ultimo "AND", "IF(AND(D3="Not Assigned";E3="Duplicate");"OK";IF(AND(D3="Not Assigned";E3="Bad understanding on the Requirements");"OK";IF(AND(D3="Not Assigned";E3="External Interface");"OK";IF(AND(D3="Enhancement";E3="Out of Scope");"OK";IF(AND(D3="Requirements";E3="Requirement");"OK";IF(AND(D3="Requirements";E3="Out of Scope");"OK";IF(AND(D3="Infra";E3="Environment"); "OK"; "Incorreto")))))))) "a formula passa e funciona na maioria dos casos, ela da erro apenas na ultima validação do "IF" principal, no caso: "=IF(F3="Fixed";IF(AND(D3="Code";E3="Not Assigned");"OK";IF(AND(D3="Requirements";E3="Not Assigned");"OK";IF(AND(D3="Infra";E3="Not Assigned");OK;"Incorreto"))).

Creio que é questão de detalhe para resolução do problema, basicamente o problema ta na ultima validação de cada caso.

Link para o comentário
Compartilhar em outros sites

Boa tarde pessoal,

Venho aqui informar que consegui resolver. O problema estava no número de "IF's" encadeados que passou do limite no Excel 2002. Segue a formula que atendeu minhas necessidades:

=IF(F3= "Fixed"; IF(AND(D3= "Code";E3= "Not Assigned"); "OK"; IF(AND(D3= "Requirements";E3= "Not Assigned"); "OK"; IF(AND(D3= "Infra";E3= "Not Assigned"); "OK"; "Incorreto" ))); IF(AND(D3= "Not Assigned";E3= "Duplicate"); "OK"; IF(AND(D3= "Not Assigned";E3= "Bad understanding on the requirements(test specialist failure)"); "OK"; IF(AND(D3= "Not Assigned";E3= "External Interface"); "OK"; IF(AND(D3= "Enhancement";E3= "Out of Scope"); "OK"; IF(AND(D3= "Requirements";E3= "Requirement"); "OK"; IF(AND(D3= "Requirements";E3= "Out of Scope"); "OK"; IF(AND(D3= "Infra";E3= "Environment"); "OK" "Incorreto"))))))))

Sei que ela pode ser otimizada, mas no momento não pensarei nisso, afinal ta funcionando.

Obrigado a todos que tentaram ajudar.

Abraços

Link para o comentário
Compartilhar em outros sites

Arquivado

Este tópico foi arquivado e está fechado para 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...

Ebook grátis: Aprenda a ler resistores e capacitores!

EBOOK GRÁTIS!

CLIQUE AQUI E BAIXE AGORA MESMO!