- ベストアンサー
近似値によるEXCELマッチング
2つのシートがあり、両方ともA列に会社名があり、B列以降は異なった情報が入っています。 このA列の会社名をマッチングさせて、ひとつのシート上に、情報を並べたいのですが、この会社列のデータが、同じ会社(マッチングさせたい情報)でも ●一方はカタカナ半角、一方はカタカナ全角 だったり、 ●一方は“・”有、一方は無し だったり ●一方は“株式会社”あり、一方は無し、もしくは“(株)” といった具合でVLOOKUP関数によるマッチングはできないので、 近似値でのマッチングができる関数などがあれば、 ご教示頂ければと思います。 どうぞ宜しくお願い致します。
- みんなの回答 (2)
- 専門家の回答
質問者が選んだベストアンサー
■一方はカタカナ半角、一方はカタカナ全角 半角化する関数 =ASC(A1) 全角化する関数 =JIS(A1) ■一方は“・”有、一方は無し ■一方は“株式会社”あり、一方は無し、もしくは“(株)” 置換する関数 "・"の消去 =SUBSUTITUTE(A1,"・","") (株)→株式会社の置き換え =SUBSUTITUTE(A1,"(株)","株式会社") ■近似値でのマッチングができる関数などがあれば =VLOOKUP(検索値&"*",範囲,列番号,FALSE) 上記の場合、検索値="ad"の場合、adで始まる最初の内容を表示します。 ワイルドカード(* ? ~)の説明 http://www.excel-img.com/database07.html
その他の回答 (1)
- imogasi
- ベストアンサー率27% (4737/17069)
結局A列の会社名を良く知っている人(例えば質問者や営業の方など) +常識で会社名をチェックする必要があります。 #1でご回答の方法も (1)そういうタイプでのばらばらであること (2)該当件数が多い(1,2件では手修正が早いということ) は人間が判断して使うか使わないかを決める必要がある。 関数は事項(1関数)ごとに1列いるので別列に結果が出て、収集が付かない。(IF関数でネストできる場合があるかもしれないが) プログラムは1社に対し色々な観点からチェックや修整正が1度にできるが。 ーー 一度最初に何も手を加えず会社名でソートしてみることはお勧めします。すると1文字違いなどが発見できることが多い。 例 本田商事ー>本多商事 ーー 結局言いたいことは、質問の県は、シコシコと1社(1行1行)人間がチェックして修正し統一するより他ありません。 関数などはその1部の事項の手助けでありそれだけでは完全を着せません。 ーー 質問には(書いてないが)、およそ会社名が何社ぐらいあるのか書いておくのが、回答者が方法提示に大きく影響します。 会社名を一読して、誤りの累計を掴み、修正するプログラムを組めるならば98%は修正できると思いますが、プログラムではやってられない型も出てきます。 ーーー >近似値でのマッチングができる関数などがあれば そんな関数はありません。基本的にセルの値は確定値であり、その値を引数として関数は処理します。 ワイルドカードの利用ぐらいが思いつきますが、質問の場合には使えないでしょう。期待しても無駄です。 ーーー もともとこの問題(マッチング)はプログラムの組める人で無いと処理が無理な面があります。 もともと1意的な会社コードを持っていないと言う仕組みの根本的欠陥に起因する字体です。 ーー 全角半角は全角に統一 ・など記号は除去 (株)などは除去 株式会社(前・後)等も除去 (会社組織名も株式・有限。合資。合名・財団・社団ぐらいに止めておく。きりがないから)。 (株式会社本多と本多株式会社、本多有限会社のタイプは無いか小数だろうから1たん無視して抹消し、後にサブ番号でも手作業でつける) 以上で修正会社名を作ることをお勧めします。私の経験からです。質問者がプログラムが組めればいいのだが。
お礼
ご回答ありがとうございます。 >>近似値でのマッチングができる関数などがあれば >>そんな関数はありません。基本的にセルの値は確定値であり、その値>>を引数として関数は処理します。 >>ワイルドカードの利用ぐらいが思いつきますが、質問の場合には使え>>ないでしょう。期待しても無駄です。 そうですね。0と1の世界ですからね。 >>質問には(書いてないが)、およそ会社名が何社ぐらいあるのか書い>>ておくのが、回答者が方法提示に大きく影響します。 件数は約1700対260件です。記入なく失礼致しました。 >>以上で修正会社名を作ることをお勧めします。私の経験からです。質>>問者がプログラムが組めればいいのだが。 プログラムは組めません。#1でご回答頂いた、関数を用いてマッチングできる様、近づけていきたいと思います。 ありがとうございました。
お礼
ご回答ありがとうございます。 早速試してみます!!(嬉!)