• 締切済み

Excel 部分一致データの抽出

A列    B列                 C列 1会社名   商品内容、代表者名、会社名     〇 2会社名   商品内容、 3会社名   代表者名、会社名          〇          4会社名   会社名 5会社名   代表者名 参照をA1対しB1とし、会社名が重複しているB列をC列〇のように表記させたい。 このようにしたいと思っております。シンプルなのですがデータ数が10,000 あり苦戦しております。ぜひ方法を教えてください

みんなの回答

  • kagakusuki
  • ベストアンサー率51% (2610/5101)
回答No.2

 御質問文に挙げておられる例において、4行目は会社名が重複しているのにもかかわらず何故か〇が付いていないのですが、これはただの間違いで、本来であればC4セルも〇が表示されるべきだと考えれば宜しいのでしょうか?  色々なやり方がありますが、以下の関数の内の何れかをC1セルに入力してから、C1セルをコピーして、C2以下に貼り付けますと、御希望の結果が得られます。 =IF(AND($A1<>"",ISNUMBER(FIND($A1,$B1))),"〇","") =IF(AND($A1<>"",ISNUMBER(SEARCH($A1,$B1))),"〇","") =IF(AND($A1<>"",COUNTIF($B1,"*"&$A1&"*")),"〇","") =IF(OR($A1="",ISERROR(FIND($A1,$B1))),"","〇") =IF(OR($A1="",ISERROR(SEARCH($A1,$B1))),"","〇") =IF(OR($A1="",ISERR(FIND($A1,$B1))),"","〇") =IF(OR($A1="",ISERR(SEARCH($A1,$B1))),"","〇") =IF(OR($A1="",FIND($A1,$B1&$A1)>LEN($B1)),"","〇")  尚、上記の関数の中で「=IF(AND(」で始まる関数の「AND($A1<>"",」の部分を外して =IF(ISNUMBER(FIND($A1,$B1)),"〇","") としてしまったり、「=IF(OR(」で始まる関数の「OR($A1="",」の部分を外して =IF(FIND($A1,$B1&$A1)>LEN($B1),"","〇") としてしまいますと、もし「A列のセルが空欄となっていてB列のセルが空欄ではないという場合」においても〇が付いてしまうというバグが発生してしまいますので、「AND($A1<>"",」の部分や「OR($A1="",」の部分を省略してしまう事は避けておいた方が良いと思います。

  • bunjii
  • ベストアンサー率43% (3589/8249)
回答No.1

>参照をA1対しB1とし、会社名が重複しているB列をC列〇のように表記させたい。 C1セルに次の数式を設定して、C1セルを下へ必要数コピーしてください。 =IF(FIND(A1,B1&A1)>LEN(B1),"","○") 貼り付け先のC2からC10000までを簡単に選択するには現在のセル番地を表示している位置へC2:C10000と入力してEnterキーを打鍵すると一発で選択されます。

imsfujita
質問者

お礼

大変ありがとうございました。とても助かりました。出張のため御礼が遅れましたことお詫び申し上げます

関連するQ&A