あなたの「必」の書き順を教えてください

A列とB列にあるデータを照合させて、A列のデータにB列の一部が含まれる場合にC列に印をつけるようにしたいのですが、どうすればいいですか?
A列には会社組織名称が入っていますが、入力されている内容が前(株)、後(株)の企業が混合しており、(株)と組織名称の間にスペースが入っていたり入っていなかったりと入力規則もバラバラです。そのうえ、組織名称が(株)○○本社や○○(株)××工場などとなっているものもあります。
B列には(株)等の商号なしの企業名が入っています。(例:○○)
A列のデータがB列にあるものかどうかを調べたいのですが、どんな関数を使えばいいのでしょうか?
Vlookupだと、このようなあいまい検索はできませんよね?
いくつかのステップを踏んでもOKです。

A 回答 (5件)

次の方法は如何でしょうか。


C1セルに=IF(COUNTIF(A:A,"*"&B1&"*")>0,"○","")を設定し、下方向にコピーして下さい。
    • good
    • 3
この回答へのお礼

どうもありがとうございます!こうやってあいまい検索の式を表せるのか!と感動しました!!
で、やってみたのですが、どうやら反対みたいなのです。
A列のデータがB列にある場合、A列のデータ存在に対してC列に○をつけたいのです。(説明が下手ですみません。分かりますか?)
ちなみに、A列には1~2393行までデータが入っていて、B列には1~1596までしかデータが入っていません。
アドバイス、お願いします!

お礼日時:2007/03/16 11:24

no3です。


初回のご回答補足で「反対」とのご指摘を勘違いしておりました、お詫びします。
私案では、A列に対応したC列に照合結果を表示する事はできません。
仮にA列の名称の○○部分を特定できるルールがあれば可能か知れませんが、バリエーションが多いと思いますのでVBAを利用する方法で再質問をして頂いた方が早期解決かと思います。
    • good
    • 0
この回答へのお礼

いえいえ、ご親切にありがとうございました。
私もいろいろと考えた結果、最初に教えていただいた関数を使って照合させて、C列に○がついたものを再度A列で検索していくことにしました。
おっしゃるとおり、関数で解決する問題ではないのかもしれません。
ありがとうございました!

お礼日時:2007/03/26 11:39

◆これで、いかがでしょうか?


C1=IF(B1="","",IF(COUNTIF(A:A,"*"&B1&"*")>0,"○",""))

◆それ以外にも、こんな方法もありますよ
C1=IF(B1="","",IF(COUNT(INDEX(FIND(B1,$A$1:$A$5),)),"○",""))

>Vlookupだと、このようなあいまい検索はできませんよね?
C1=IF(B1="","",IF(ISNA(VLOOKUP("*"&B1&"*",$A$1:$A$7,1,0)),"","○"))

★下にコピー
    • good
    • 1
この回答へのお礼

ありがとうございます。
御礼が遅くなってすみません。
やはり希望通りにはいかないようです。
でも、Vlookupであいまい検索ができることがわかっただけでありがたいです!

お礼日時:2007/03/26 11:35

no1です。


C1セルに=IF(COUNTIF(B:B,"*"&A1&"*")>0,"○","")を設定し、下方向にコピーして下さい。
    • good
    • 0
この回答へのお礼

たびたびすみません。
今度はまったく○がつかなくなりました。
Aが空白セルだとC列に○がついています。

お礼日時:2007/03/16 14:52

あまり自信は無いですが、【IF】を使って文字列を参照させて


C列に表示させるしか、無いかと思います。

私も同じ様な事があって、この方法で回避しました。
他にも、やり方はあるのかもしれませんが・・・


Excelは基本的に入力規則が決まっているのが前提らしいので、
最初に決めておくのがよいのでしょうね。
    • good
    • 0
この回答へのお礼

ありがとうございます。
おっしゃるとおり、最初から入力規則を決めておけばいいのですが、
今回はもともとあるデータが元になっているため、どうしようもありません。。。

お礼日時:2007/03/16 11:20

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

このQ&Aを見た人はこんなQ&Aも見ています


おすすめ情報