- ベストアンサー
Excel 関数? 文字列検索についての質問になると思います
左端列:文章が100行続いている あらかじめ、上記文章内のキーワードをいくつか抜き出して、別の列に用意してある。 左端列を検索し、用意したキーワードと同じキーワードが文章内にあれば、その文章の横の列にフラグ(数字の1など何でもOK)を立てる ということがしたいのですが、どなたかお分かりになりますでしょうか。質問が分かりづらくて申し訳ございません。 VLOOKUPでできるかな、と思ったのですが、左端列の文章を検索し、キーワードではなく、同じ文章があれば、その文章の横の列にフラグを立てることはできても、文章内のキーワード(特定の文字列)となるとできないようです。 ・・・とこのような状態なのですが。。教えていただけたら幸いです。
- みんなの回答 (5)
- 専門家の回答
質問者が選んだベストアンサー
A1:A100に文章、C1に検索する文字列として B1=COUNTIF($A1,"*"&$C$1&"*") または B1=ISNUMBER(FIND($C$1,$A1,1))*1 でB100までコピー 結果は存在すれば1、存在しないと0になります。
その他の回答 (4)
- imogasi
- ベストアンサー率27% (4737/17069)
回答が出ているのに判らないでは情けない。 ・FIND関数を使う。(またはSEARCH関数) ・引数が3つある 第1引数は、どん案文字列を探すか、を””で囲んで指定する。 セルにその文字列(だけ)が入っている場合はそのセル番地を 指定する。 第2引数は、どのセルの値の中でしらべるか、セル番地を示す 第3引数は、略してよい。 ・見つかれば先頭からの文字数が返る。 =FIND(B1,A1) A1が「OKWAVEへ質問」で、B1が「OKなら1が返る。 ーー 見つからない場合はエラーになるが、それで終ると >数字の1など何でもOK)を立てる、という目的が達せられないので、 =IF(ISERROR(FIND(B1,A1),"該当なし","見つかった") のようにする。 ーー >VLOOKUPでできるかな、・・ VLOOKUPやCOUNTIFでもできるが、「含まれる」をチェックするのは、素直なのはFIND関数です。 ーー COUNTIFの例 例データ A列 B列 sabcfg 1 asdfghj 0 B列の関数 =COUNTIF(A2,"*ab*") 1以上なら含まれる。 ーー VLOOKUPの例 例データ A列 B列(関数式の結果) ab 2 cd #N/A ba 3 検索表G列 H列 abcff 2 cvb 4 a 6 babnm 3 B列の式 =VLOOKUP("*" & A1& "*",$G$1:$H$10,2,FALSE) 数字が出たら該当があった(含まれている)、見つからない(含んでいない場合)エラーの場合で、#N/Aが出ます。 === 関数も文字列を扱う場合は、関数を組み合わせたりして難しくなるので、エクセル関数の本の例題でも勉強のこと。
お礼
ありがとうございます。 会社から帰ってきて、手元にデータがないので、明日、また確認させていただきます。 詳しいコメントありがとうございました。
- nobu555
- ベストアンサー率45% (158/345)
こんな感じでしょうか。 文章内に含まれるキーワードの数を求めます。 A列に文章、B列にキーワード、C列に下記の数式 =(LEN(A1)-LEN(SUBSTITUTE(A1,B1,"")))/LEN(B1)
お礼
ありがとうございます。 会社から帰ってきて、手元にデータがないので、明日、また確認させていただきます。 コメントありがとうございました。
- hallo-2007
- ベストアンサー率41% (888/2115)
A列に文書、B列にキーワードどして =ISERROR(FIND(B1,A1,1)) で下フィル キーワードの文字があれば、FALSE なければ、TURE 確認していないので、詳しくはHELP参照してください。
お礼
ありがとうございます。 試してみたのですが、思うようにならないようだったので、もう少し調べてみます。 コメントありがとうございました。
- pbforce
- ベストアンサー率22% (379/1719)
SearchとかFindとかで出来ると思います。
お礼
ありがとうございます。 私、関数をいくつか使ったことがある程度の初心者なので、教えていただいたものを調べてみたのですが、分かりませんでした。 コメントありがとうございました。
お礼
ありがとうございます。 こちらを活用させていただいて、やってみます! 質問が分かりにくかったにも関わらず、 分かりやすいご回答をいただきまして、 ありがとうございました。