アプリ版:「スタンプのみでお礼する」機能のリリースについて

質問させてください。

エクセルのA列の文字の一部に、B列の文字が含まれているかどうか、
をチェックする数式を教えて頂けないでしょうか。

例えば、
A列:「赤 青」、「白 黄」、「緑 黒」
B列:「赤」「青」「黒」
この場合、A列の「赤 青」と「緑 黒」のセルの横に○、
というようにしたいのですが。。
VLOOKやCOUNTIFでは、“文字の一部”というのはチェックできないようで、
かつ、LEFTやRIGHTも使いづらい場合です。

きっと簡単な数式があるのでは、と思いお尋ねしました。
どうぞ宜しくお願い致します。

A 回答 (3件)

こんなのはどうですか。



 =FIND(B1,A1,1)
 =SEARCH(B1,A1,1)
検索文字列が含まれていれば数値が返る。含まれていなければエラーが返る。

 =LEN(A1)-LEN(SUBSTITUTE(A1,B1,""))
検索文字列が含まれていれば "1" 以上の数値が返る。含まれていなければ "0" が返る。
    • good
    • 3
この回答へのお礼

Cupper様
ご回答ありがとうございます。

恐れ入りますが、更に質問なのですが、
範囲は指定できないでしょうか。
VLOOKのように使用しようとしてもできないようで。。

お手数ですが、どうぞ宜しくお願い致します。

お礼日時:2007/09/11 22:36

VLOOKUP関数の中に含もうとすると無理が生じます。


参照する一覧側に FIND関数などの数式の列を追加してその列を VLOOKUP関数で拾ってきてはどうでしょう。
    • good
    • 3
この回答へのお礼

Cupper様
毎々ご回答ありがとうございます。

質問の仕方がよくなかったかもしれないのですが、
「ボード」が含まれるものを探せ、という時に、
・スノーボード
・ボディボード
などの横列に○を付ける、という方法は
FIND関数で可能でしょうか。

知識不足で度々申し訳ありませんが、宜しくお願い致します。

お礼日時:2007/09/12 16:56

結局何をしたいのかよく分かりませんが・・・



■当初の質問
A列の前に一列挿入
 ↓
挿入したA1セルに次の関数を入力
 =IF(ISERROR(FIND(C1,B1,1)),"","○")

 ↓
必要な行数だけA1セルを下にコピー
 ↓
VLOOKUP関数で文字が含まれるB列のセルを表示させる
 =VLOOKUP("○",A:B,2,FALSE)

A列の前に列を挿入してそこに関数を入力するのは、VLOOKUP関数は範囲の一番左の列を検索するからです。
ISERROR関数は検査対象がエラーであれば TRUE、エラーでなければ FALSE を返します。
これを使い FIND関数の結果、検索文字列を含まずエラーになった場合は TRUE、文字列が含まれた場合は FALSE とします。
あとは IF関数で TRUEならば検索文字列を含まないため空白("")、FALSEならば検索文字列を含むため "○" を表示させています。
ただし、VLOOKUP関数は一番上に出てきた対象を値として返しますので、該当する全ての値を返すことはできません。

■お礼の質問に対する回答
A列1行目から、スノーボード、ボディボードなど検索対象がある場合、B列1行目に
 =IF(ISERROR(FIND("ボード",A1,1)),"","○")
などとし、必要な行数だけ下にコピー


>きっと簡単な数式があるのでは~
と言うことでしたので、FIND関数や SEARCH関数を回答しましたが、
エラーになった場合の対処が分からないかもしれないと SUBSTITUTE関数の例も
合わせて回答したのですが・・・。
普段から関数ウィザードで使えそうな関数を探すようにしましょう。
    • good
    • 9
この回答へのお礼

Cupper様
毎々ありがとうございます。
お手数をお掛けして誠に申し訳ありません。。

=IF(ISERROR(FIND("ボード",A1,1)),"","○")において、
“ボード”の部分に、範囲指定等で複数の単語を
おけないでしょうか。。

A群:スノーボード、ボディボード、白肌、黒肌、…
B群:ボード、白、…
において、B群の単語をA群が含む場合を探す
という場合で、
上記の場合、「スノーボード」「ボディボード」「白肌」は、
B群の単語「ボード」「白」を含んでいる、とみなされ、
○をつける、といったような具合です。

同じような意味合いで質問しているつもりでしたが、
説明が悪く申し訳ありません。
お忙しいところ恐縮ですが、ご都合つきましたら、
御回答の程、何卒宜しくお願い致します。

お礼日時:2007/09/13 15:54

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!