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

初めまして。Excelの部分一致のデータ抽出について質問です。

A列   B列      C列
2リンゴ リンゴが美味しい 1
3バナナ おなかがすいた 0
4パパイア ミカンの皮をむけ 1
5ミカン バナナが好き   1
6チェリー 草履を履く   0
7イチゴ  遊びたい     0



上記のようにBの各行にA列のいずれかの単語が含まれていた場合にC列に「1」含まれない場合に「0」と記述する関数をご教授頂けると本当に助かります。
3時間調べたのですがどうしてもA2の単語がB列の中で何個含まれているかの関数しか見つけることができませんでした。何卒よろしくお願い致します。

A 回答 (6件)

FIND関数かSEARCH関数を使用してください。


http://www.eurus.dti.ne.jp/~yoneyama/Excel/kansu …

=FIND(検索文字列,対象,開始位置)
=SEARCH(検索文字列,対象,開始位置)
if文と組み合わせるのもありかも知れない。
    • good
    • 0

こんにちは!


一例です。

↓の画像でC2セルに
=IF(OR(ISNUMBER(FIND(A$2:A$9,B2))),1,0)
これは配列数式になりますので、Shift+Ctrl+Enterで確定!
この画面からコピー&ペーストする場合は、
上記数式をコピー → C2セルを選択 → 数式バー内に貼り付け 
→そのまま(編集可能のまま)Shift+Ctrlキーを押しながらEnterキーで確定!
数式の前後に{ }マークが入り配列数式になります。
C2セルをオートフィルで下へコピー!
これで画像のような感じになります。

※ 注意点 ※
数式内のA列範囲は空白を範囲指定しないようにします。
そのため、今後検索データが増えてもよいように、
A列にはまず使用することはないであろうアスタリクス「*」を入れています。m(_ _)m
「【Excel】部分一致の逆引きの方法につ」の回答画像2
    • good
    • 0

質問の内容は条件分岐になります。


フローチャートを書いて論理式を組み立ててください。

=IF(COUNTIF(B:B,"*"&A2&"*"),1,0)

検索文字列の前後に"*"を付けることで部分一致の検索になります。
A列の空欄を検索対象にすると結果は1になります。
「【Excel】部分一致の逆引きの方法につ」の回答画像3
    • good
    • 0

C2セルには次の式を入力し、式を確定する段階でCtrlキーとShiftキーを押しながらEnterキーを押します。

その後にその式を下方にドラッグコピーします。

=IF(A2="","",SUM(COUNTIF(B2,"*"&A$2:INDEX(A$2:A$100,COUNTA(A$2:A$100))&"*")))
    • good
    • 0

回答No.3は質問の文言を取り違えていたようです。


作業用の領域を作成して集計すれば簡単にできるようです。

貼付画像を参考にしてください。
「【Excel】部分一致の逆引きの方法につ」の回答画像5
    • good
    • 0
この回答へのお礼

大変参考になりました!
私の頭ではこんな複雑な関数は想像もつきませんので感謝感謝です。

お礼日時:2013/09/27 11:29

=(SUM(LEN(B2)-LEN(SUBSTITUTE(B2,A$2:A$7,"")))>0)*1


(配列数式)
    • good
    • 1

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