あるセルの文字列に"A"または"B"が含まれるかどうかを判定する。
・"A"と"B"が含まれるならば◎
・"A"のみが含まれるならば△
・"B"のみが含まれるならば□
・両方含まれなければ×
上記のような判定を行う数式を一行で記述せよ。
エクセルでこのようなチェック処理を行う場合はfind関数が便利ですが、複数条件指定はできないんですね…しかし、複数条件指定はif文を利用することでできそうです。そのサンプルの数式をメモします。
シートの構成
検索文字1 | $B$1 |
検索文字2 | $B$2 |
検索対象 | $B3 |
書いた処理
IF(AND(ISNUMBER(FIND($B$1,$B3)),ISNUMBER(FIND($B$2,$B3))),"◎",IF(ISNUMBER(FIND($B$1,$B3)),"△",IF(ISNUMBER(FIND($B$2,$B3)),"□","×")))
関数の解説
FIND(X,Y)
Xの文字をYから探し出します。見つかれば見つかった文字の開始位置、見つからなければエラー値(#VALUE! )が返されます。
ISNUMBER(X)
Xで指定された文字が数値かそうでないかを判定します。数値であればTRUE、エラー値であればFALSEが返されます。
AND(X,Y)
X=TRUE、かつ、Y=TRUEであればTRUEとなります。それ以外であればFALSEです。
IF(X,Y,Z)
X=TRUEならばY、X=FALSEならばZを実行します。
処理の解説
1. AとBが含まれるかどうかをチェック
IF(AND(ISNUMBER(FIND($B$1,$B7)),ISNUMBER(FIND($B$2,$B7))),"◎","2の処理")
2. Aが含まれるかどうかをチェック
IF(ISNUMBER(FIND($B$1,$B8)),"△","3の処理")
3. Bが含まれるかどうかをチェック(見つからなければ×)
IF(ISNUMBER(FIND($B$2,$B3)),"□","×”)