Votre problème est la façon dont vous enchaînez les déclarations if.
Une déclaration if dans excel if est toujours dans le format suivant:
=IF(CONDITION,VAL IF TRUE, VAL IF FALSE)
Vous les avez enchaînés comme
=IF1(CONDITION1,VAL IF TRUE, VAL IF FALSE, IF2(CONDITION2,...))
Cela n'a aucun sens, parce que vous dites
=IF1(CONDITION1,VAL IF TRUE, VAL IF FALSE, SOMETHING ELSE)
Pour chaîner ensemble des déclarations, vous avez deux options:
Définissez chaque instruction if suivante comme condition FALSE de l'instruction if précédente. Donc, vous dites "Si quelque chose est vrai, affichez-le. Dans le cas contraire, passez à l'instruction if suivante". en langage Excel soit:
=IF(CONDITION1,OUTPUT1,IF(CONDITION2,OUTPUT2,IF(CONDITION3,OUTPUT3,"")))
Concaténer un tas de si déclarations ensemble. Donc, cela revient à dire "si quelque chose est vrai, alors affichez ceci, sinon rien ne s'affiche. Aussi, si quelque chose d'autre est vrai, alors affichez ceci.
=IF(CONDITION1,OUTPUT1,"") & IF(CONDITION2,OUTPUT2,"") & IF(CONDITION3,OUTPUT3,"")
Notez que dans le premier cas, dès que l'une des conditions est remplie, la formule est complète, alors que dans le second cas, toutes les conditions sont toujours testées. Cela signifie que:
Donc, avec votre exemple, vous auriez soit
=IF(OR(AF2="CitiCMT", AF2="AML APAC ATHENA", AF2="AML EMEA", AF2="AML Americas"),"AML",
IF(OR(AF2="CitiScreening", AF2="Offshore Wealth Services", AF2="CitiScreening China"),"CitiScreening",
IF(OR(AF2="Registrations", AF2="Trade Surveillance - Markets", AF2="Reg-Reporting", AF2="Trade Surveillance
- IBSG", AF2="eCADD", AF2="EmDD", AF2="Trade Surveillance", AF2="Trade Surveillance - Retail"),"Core Compliance","")))
ou
=IF(OR(AF2="CitiCMT", AF2="AML APAC ATHENA", AF2="AML EMEA", AF2="AML Americas"),"AML","") &
IF(OR(AF2="CitiScreening", AF2="Offshore Wealth Services", AF2="CitiScreening China"),"CitiScreening","") &
IF(OR(AF2="Registrations", AF2="Trade Surveillance - Markets", AF2="Reg-Reporting", AF2="Trade Surveillance - IBSG",
AF2="eCADD", AF2="EmDD", AF2="Trade Surveillance", AF2="Trade Surveillance - Retail"),"Core Compliance","")
Dans votre cas, une cellule ne peut pas être à la fois "citiscreening" et "registration". Il est donc plus logique d’utiliser la première, bien que si la rapidité n’est pas si importante que cela, la seconde peut être plus facile à lire et plus facile à lire. modifier, car il n'y a pas beaucoup de crochets à faire correspondre.
conseils:
Notez que vous pouvez fractionner une formule sur plusieurs lignes en appuyant sur alt + entrée, cela facilitera la lecture et n'affectera pas le résultat de la formule.
Excel fournit un toolyip très pratique qui vous indique l’argument en gras de votre curseur. De plus, si vous cliquez sur l'argument, cette partie de la formule sera mise en évidence.
Dans votre fonction d'origine, vous pouvez voir qu'il y avait trop d'arguments, car après le premier "", rien n'est en gras.
au cas où cela serait utile, voici la réponse ci-dessus en pseudocode:
Option 1.
if (condition1) then
output1
else if (condition2) then
output2
else if (condition3) then
output3
else output nothing
Option 2:
if (condition1) then
output1
else
output nothing
if (condition2) then
output2
else
output nothing
if (condition3) then
output3
else
output nothing