IF-ELSE IF-ELSE estrutura em Excel

requisito :

Se o texto da célula A1 contiver " abc " como parte do texto

Depois atribuir o valor "verde"

Caso contrário, se o texto da célula A1 contiver " xyz " como parte do texto

Depois atribuir o valor "Amarelo"

Else

atribuir o valor " Red "

eu tentei isto.:

=IF(FIND("~",SUBSTITUTE(A1,"abc","~",1))<>"#VALUE!", "Green", IF(FIND("~",SUBSTITUTE(A1,"xyz","~",1))<>"#VALUE!", "Yellow", "Red"))

funciona se primeiro se for verdade noutros casos dá #valor! como saída.

Não consigo perceber o que se passa.

Author: brettdj, 0000-00-00

2 answers

Quando FIND devolve #VALUE!, é um erro, não um texto, por isso não pode comparar FIND(...) com "#VALUE!", Precisa de verificar se FIND devolve um erro com ISERROR. Também {[2] } pode trabalhar em vários caracteres.

Então uma versão simplificada e funcional da sua fórmula seria:
=IF(ISERROR(FIND("abc",A1))=FALSE, "Green", IF(ISERROR(FIND("xyz",A1))=FALSE, "Yellow", "Red"))

Ou, para remover as negações duplas:

=IF(ISERROR(FIND("abc",A1)), IF(ISERROR(FIND("xyz",A1)), "Red", "Yellow"),"Green")
 28
Author: assylias, 2012-05-10 09:58:08
=IF(CR<=10, "RED", if(CR<50, "YELLOW", if(CR<101, "GREEN")))

CR = ColRow (Cell) Este é um exemplo. Neste exemplo, quando o valor na célula é menor ou igual a 10, então a palavra vermelha irá aparecer nessa célula. Da mesma forma, se as condições forem verdadeiras se primeiro for falso.

 6
Author: Asad Raza Sumayari, 2015-01-09 11:49:12