1. ホーム
  2. excel

[解決済み] ExcelでのIF - ELSE IF - ELSE構造

2022-03-05 10:28:35

質問

要求事項 :

セルA1の文字列の一部に"abc"が含まれている場合

そして、値 "Green" を割り当てます。

セルA1の文字列の中に、"xyz"が含まれている場合

そして、値として "Yellow"を割り当てます。

その他

値としてquot;Red"を代入します。

私はこれを試してみました。

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

最初のIFがTrueの場合は動作しますが、それ以外の場合は#VALUE!が出力されます。

何が問題なのかがわからない。

解決方法を教えてください。

いつ FIND を返します。 #VALUE! と比較すると、これは文字列ではなく、エラーです。 FIND(...)"#VALUE!" を確認する必要があります。 FIND はエラーを返します。 ISERROR . また FIND は、複数の文字で動作させることができます。

つまり、あなたの計算式を簡略化して実用化したものは、次のようになります。

=IF(ISERROR(FIND("abc",A1))=FALSE, "Green", IF(ISERROR(FIND("xyz",A1))=FALSE, "Yellow", "Red"))

あるいは、二重否定を削除すること。

=IF(ISERROR(FIND("abc",A1)), IF(ISERROR(FIND("xyz",A1)), "Red", "Yellow"),"Green")