- 締切済み
Excel 部分一致データの抽出
A列 B列 C列 1会社名 商品内容、代表者名、会社名 〇 2会社名 商品内容、 3会社名 代表者名、会社名 〇 4会社名 会社名 5会社名 代表者名 参照をA1対しB1とし、会社名が重複しているB列をC列〇のように表記させたい。 このようにしたいと思っております。シンプルなのですがデータ数が10,000 あり苦戦しております。ぜひ方法を教えてください
- みんなの回答 (2)
- 専門家の回答
みんなの回答
- kagakusuki
- ベストアンサー率51% (2610/5101)
御質問文に挙げておられる例において、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)
お礼
大変ありがとうございました。とても助かりました。出張のため御礼が遅れましたことお詫び申し上げます