J'essaie de modifier la valeur d'une cellule dans Google Sheets en fonction de la valeur d'une cellule adjacente. Cette cellule adjacente tire sa valeur de la couleur de la cellule adjacente en utilisant la formule de cette réponse Quora. La valeur de la cellule doit donc changer en fonction du code hexadécimal obtenu à partir de la couleur de la première cellule. Il y a quatre valeurs hexadécimales possibles pour le moment, donc j'essayais de mettre quatre instructions IF différentes dans la même cellule, donc sa valeur est modifiée en fonction de cela.
Ma première tentative a conduit à une erreur d'analyse de formule:
=if((J2="#00ff00","Read"), if(j2="#ff0000", "Unread"), if(j2="#ff9900","In Progress"), if(j2="#000000", "Not Applicable"))
Il est clair que vous ne pouvez pas simplement séparer les instructions if par des virgules. Sur la base de cette question Stack Overflow, j'ai essayé ce code, avec des instructions IF imbriquées:
=if((J2="#00ff00","Read", if(j2="#ff0000", "Unread", if(j2="#ff9900","In Progress",if(j2="#000000", "Not Applicable")))))
Cela conduit également à une erreur d'analyse de formule.
Existe-t-il un moyen de simplement inclure plusieurs instructions IF dans la même cellule qui fonctionnera pour mon code?
la source
Réponses:
Utilisez
lookup
au lieu deif
:Notez que le deuxième paramètre doit être une liste triée.
la source
ifs
?Réponse courte
Le problème dans les exemples fournis est la parenthèse. Appliquez-les correctement.
Explication
IF()
La fonction doit avoir deux paramètres et éventuellement un troisième.Le problème spécifique avec
IF()
a trop de paramètres.logical_expression
les extérieursIF()
ne reviennent pasTRUE
ouFALSE
Dans Google Sheets, les paramètres des fonctions sont séparés par des virgules (ou des points-virgules si votre feuille de calcul utilise une virgule comme séparateur décimal). Lorsque des parenthèses sont utilisées pour inclure plusieurs opérations et fonctions à l'intérieur d'une fonction, elles sont considérées comme un paramètre de la fonction qui les contient.
Une pratique courante consiste à mettre l'intérieur
IF()
comme levalue_if_false
, mais cela pourrait se faire de plusieurs façons. Ajouter à l'IF()
intérieur d'un autre autre commevalue_if_true
etvalue_if_false
est appeléIF() logical test nesting
ou simplementIF() nesting
.Ci-dessous est un exemple d'une formule qui a trois
IF()
, deux d'entre eux utilisés pour déterminervalue_if_false
le parentIF()
. Un alignement multiligne et vertical du style de parenthèse est appliqué pour la lisibilitéLe style ci-dessus peut être utilisé dans l'écriture de formules Google Sheets. Je l'ai trouvé utile pour le débogage de formule.
Référence
la source
Je viens de découvrir comment combiner si et ou.
Exemple:
Donc pour votre exemple:
Source: utilisation combinée des fonctions logiques IF, AND et OR dans la feuille de calcul Google Doc .
la source
Vous pouvez imbriquer des instructions IF par exemple
Travaillerait
OU
vous pouvez utiliser un IFAND imbriqué par exemple
Fonctionnerait également.
la source
On vous a proposé de la théorie et de meilleures approches, mais pour répondre spécifiquement:
s'il vous plaît essayez:
Autrement dit, votre deuxième tentative sans la première parenthèse ouvrante et sans la dernière parenthèse fermante.
la source