• ベストアンサー

積集合の求め方

エクセルを使った積集合の求め方を教えて頂けないでしょうか。 具体的には、A列とB列に下記のような語彙リストが記入されています。 A列  B列 dog  cat cat  rid fat  fed got  ted rid  fight AとBの双方に含まれている語彙だけを抽出して、C列にリストアップさせたいと思っています。 ご存知の方、いらっしゃいましたら、ご教示下さい。 どうぞよろしくお願いします。

質問者が選んだベストアンサー

  • ベストアンサー
  • keithin
  • ベストアンサー率66% (5278/7941)
回答No.6

C1に =INDEX(A:A,SMALL(IF($A$1:$A$5=TRANSPOSE($B$1:$B$5),ROW($A$1:$A$5),9999),ROW(C1)))&"" と記入し,必ずコントロールキーとシフトキーを押しながらEnterで入力し,下向けにコピーします。

junpei12
質問者

お礼

簡潔な作業で出来る式を教えて頂き、ありがとうございました。 とても助かります。

その他の回答 (5)

  • MackyNo1
  • ベストアンサー率53% (1521/2850)
回答No.5

例示のデータのようにA1セルからデータが入っているなら、以下の式を入力して下方向にオートフィルコピーしてください。 =INDEX($A$1:$A$100,SMALL(INDEX(ISNA(MATCH($A$1:$A$100&"",$B$1:$B$100&"",0))*1000+ROW($A$1:$A$100),),ROW(A1)))&""

junpei12
質問者

お礼

私のPCの画面が小さいせいか、式が途中で切れており最後まで読めませんでした。せっかく教えていただきましたのに申し訳ありません。

  • mt2008
  • ベストアンサー率52% (885/1701)
回答No.4

あわてて回答したので画像が間違っていましたorz 抽出先は、画像では「選択範囲内」になっていますが、説明文の通りに「指定した範囲」にしてください。

junpei12
質問者

お礼

画像までつけて頂いて、ありがとうございました。ベストアンサーにさせて頂くかずいぶん迷ったのですが。。申し訳ありません。このたびはありがとうございました。

  • mt2008
  • ベストアンサー率52% (885/1701)
回答No.3

恥ずかしながら再回答 各列の頭にデータの項目名を入れます。 図の例では「DataA」「DataB」 D1セルは空っぽにしておいてください。 D2セルに =(COUNTIF(A:A,B2)>0) と、入れます。 次にフィルタオプションで  抽出先:指定した範囲  リスト範囲:B:B  検索条件範囲:D1:D2  抽出範囲:C1 と設定して<OK>ボタンを押してみてください。 A列、B列どちらにも含まれるものだけがC列に表示されます。

  • mt2008
  • ベストアンサー率52% (885/1701)
回答No.2

ANo.1です。 失礼、ものすごい勘違いをした回答してしまいました。 先の回答は無視してください。

  • mt2008
  • ベストアンサー率52% (885/1701)
回答No.1

フィルタでやるやり方を D1:D2を検索条件用に使います。 D1セルは空っぽにしておいてください。 D2セルに =(COUNTIF(A:A,B1)>0) と、入れます。 次にフィルタオプションで  抽出先:指定した範囲  リスト範囲:B:B  検索条件範囲:D1:D2  抽出範囲:C1 と設定して<OK>ボタンを押してみてください。 A列、B列どちらにも含まれるものだけがC列に表示されます。

関連するQ&A