• ベストアンサー

近似値によるEXCELマッチング

2つのシートがあり、両方ともA列に会社名があり、B列以降は異なった情報が入っています。 このA列の会社名をマッチングさせて、ひとつのシート上に、情報を並べたいのですが、この会社列のデータが、同じ会社(マッチングさせたい情報)でも ●一方はカタカナ半角、一方はカタカナ全角 だったり、 ●一方は“・”有、一方は無し だったり ●一方は“株式会社”あり、一方は無し、もしくは“(株)” といった具合でVLOOKUP関数によるマッチングはできないので、 近似値でのマッチングができる関数などがあれば、 ご教示頂ければと思います。 どうぞ宜しくお願い致します。

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

  • ベストアンサー
  • mshr1962
  • ベストアンサー率39% (7418/18948)
回答No.1

■一方はカタカナ半角、一方はカタカナ全角 半角化する関数 =ASC(A1) 全角化する関数 =JIS(A1) ■一方は“・”有、一方は無し ■一方は“株式会社”あり、一方は無し、もしくは“(株)” 置換する関数 "・"の消去 =SUBSUTITUTE(A1,"・","") (株)→株式会社の置き換え =SUBSUTITUTE(A1,"(株)","株式会社") ■近似値でのマッチングができる関数などがあれば =VLOOKUP(検索値&"*",範囲,列番号,FALSE) 上記の場合、検索値="ad"の場合、adで始まる最初の内容を表示します。 ワイルドカード(* ? ~)の説明 http://www.excel-img.com/database07.html

PrideOfUrawa
質問者

お礼

ご回答ありがとうございます。 早速試してみます!!(嬉!)

その他の回答 (1)

  • imogasi
  • ベストアンサー率27% (4737/17068)
回答No.2

結局A列の会社名を良く知っている人(例えば質問者や営業の方など) +常識で会社名をチェックする必要があります。 #1でご回答の方法も (1)そういうタイプでのばらばらであること (2)該当件数が多い(1,2件では手修正が早いということ) は人間が判断して使うか使わないかを決める必要がある。 関数は事項(1関数)ごとに1列いるので別列に結果が出て、収集が付かない。(IF関数でネストできる場合があるかもしれないが) プログラムは1社に対し色々な観点からチェックや修整正が1度にできるが。 ーー 一度最初に何も手を加えず会社名でソートしてみることはお勧めします。すると1文字違いなどが発見できることが多い。 例 本田商事ー>本多商事 ーー 結局言いたいことは、質問の県は、シコシコと1社(1行1行)人間がチェックして修正し統一するより他ありません。 関数などはその1部の事項の手助けでありそれだけでは完全を着せません。 ーー 質問には(書いてないが)、およそ会社名が何社ぐらいあるのか書いておくのが、回答者が方法提示に大きく影響します。 会社名を一読して、誤りの累計を掴み、修正するプログラムを組めるならば98%は修正できると思いますが、プログラムではやってられない型も出てきます。 ーーー >近似値でのマッチングができる関数などがあれば そんな関数はありません。基本的にセルの値は確定値であり、その値を引数として関数は処理します。 ワイルドカードの利用ぐらいが思いつきますが、質問の場合には使えないでしょう。期待しても無駄です。 ーーー もともとこの問題(マッチング)はプログラムの組める人で無いと処理が無理な面があります。 もともと1意的な会社コードを持っていないと言う仕組みの根本的欠陥に起因する字体です。 ーー 全角半角は全角に統一 ・など記号は除去 (株)などは除去 株式会社(前・後)等も除去 (会社組織名も株式・有限。合資。合名・財団・社団ぐらいに止めておく。きりがないから)。 (株式会社本多と本多株式会社、本多有限会社のタイプは無いか小数だろうから1たん無視して抹消し、後にサブ番号でも手作業でつける) 以上で修正会社名を作ることをお勧めします。私の経験からです。質問者がプログラムが組めればいいのだが。

PrideOfUrawa
質問者

お礼

ご回答ありがとうございます。 >>近似値でのマッチングができる関数などがあれば >>そんな関数はありません。基本的にセルの値は確定値であり、その値>>を引数として関数は処理します。 >>ワイルドカードの利用ぐらいが思いつきますが、質問の場合には使え>>ないでしょう。期待しても無駄です。 そうですね。0と1の世界ですからね。 >>質問には(書いてないが)、およそ会社名が何社ぐらいあるのか書い>>ておくのが、回答者が方法提示に大きく影響します。 件数は約1700対260件です。記入なく失礼致しました。 >>以上で修正会社名を作ることをお勧めします。私の経験からです。質>>問者がプログラムが組めればいいのだが。 プログラムは組めません。#1でご回答頂いた、関数を用いてマッチングできる様、近づけていきたいと思います。 ありがとうございました。

関連するQ&A

  • エクセルでのマッチング

    「見込客」シート A列:担当者名 B列:電話番号 C列:メールアドレス 「受注」シート A列:担当者名 B列:電話番号 C列:メールアドレス これをマッチングして、見込客からの受注があったかをチェックしたいので、 「結果」シートに、マッチした結果のみを抽出する、ということは可能でしょうか? 今は、「結果」シートの各列に =VLOOKUP(見込客!A2,受注!A:A,1,FALSE) のようにしていますが、エクセルがめちゃめちゃ重くて使いづらいのです。 マクロなどは設定方法もわかりません。 よろしくお願いいたします。

  • エクセルでマッチング

    2つのエクセルファイルの内容をマッチングさせたいんですけど、 例えば、aaa.xlsとbbb.xlsというのがあって、 aaa.xlsのA列とbbb.xlsのA列にファイル名、 bbb.xlsのB列にパッケージ名が格納されていて、 aaa.xlsのA列の1行目から順に、bbb.xlsのA列と 同じファイル名が存在するかマッチングさせていき、 マッチした場合にマッチした行のパッケージ名を aaa.xlsのB列に表示させたいんですけど、 関数なりマクロなりを使ってなんとかならないでしょうか?

  • EXCELで

    EXCELでシート1のセルAにあるカタカナの全角の文字をシート2のセルAにカタカナ半角で表示したいのですがどうすればいいのでしょうか?

  • マッチングして結合

    3つのシートにそれぞれ以下のような表があるとします。 各シートは第1回から第3回までの小テスト結果で、1列目は学生id、2列目は点数とします。 (シート1) id s1 a 4 b 2 c 3 (シート2) id s2 a 3 b 1 (シート3) id s3 a 4 c 2 これらの表を id s1 s2 s3 a 4 3 2 b 2 1 c 4 2 というようにidでマッチングして結合したいのですがどのようにすればよいでしょうか。vlookup関数を調べたのですが、ぴったりの例が見つかりません。空欄(棄権)のところは#N/Aとなると思いますが。ご教示いただけるとありがたいです。

  • エクセルでのデータのマッチングその2

    以前以下の質問を投稿させて いただきました。 http://www.okweb.ne.jp/kotaeru.php3?q=659843 に対しまして 以下のお答えをいただくことが できました。 ----------以下お答えいただいたもの---------- Sheet1のA,B列に表1の内容が入っているものとします。 表2は一番左に一列挿入し、A,B,C列となっているものとします。 A1に以下の式を入れます。 =VLOOKUP(LEFT(B1,1),Sheet1!A:B,2,0) A2以下にA1の式をコピーします。 ・VLOOKUP()関数で値を検索しています。 ・LEFT()関数で「A01」の一番左の「A」だけ抽出しています。 --------------------------------------- 教えていただいたように おこなってみたのですが #N/A となってしまい、うまく成功しませんでした。 申し訳ございませんが どなたか再度ご指導いただけないでしょうか。 よろしくお願いします。

  • EXCEL 語句中の文字とマッチングさせる式を教え

    EXCEL関数式について教えてください。 A列のセルに地区名”東京”と入れたら、C列セル中の営業所一覧の正式名称の中の語句とマッチングし、B列セルに(C列セルの語句の地区名”東京”でマッチング)”○○会社 東京営業所”と表示される式を教えて頂けないでしょうか? A列(入力) B列(自動表示させる)    C列(リスト)       マッチングワード(地区名) 東京     ○○会社 東京営業所   ○○会社 東京営業所       東京 埼玉     ▽△会社 埼玉営業所   ▽△会社 埼玉営業所       埼玉 *地区名はダブルません。

  • エクセル 複数の文字列を別シートで重複個数を出す

    たくさんの質問を参考にしましたが、私のやりたい作業に活かせず困っています。 2つのSheetにそれぞれ別の情報(文字列と数字が混在した一覧)があります。 Sheet1には企業名が羅列しており、A列1行→P列140行まで入力してあります。 Sheet2にはJ列に企業名、他列には文字列、数字などの情報が入っています。 やりたい作業ですが、Sheet1の企業名と、Sheet2の企業名が一致する「数と企業名」を摘出したいです。 Sheet1とSheet2はそれぞれ同一企業名ではなく、バラバラです。 ◇Sheet1は固定企業名が1セルに1つ入っています。(重複無し) ◇Sheet2は毎月データが変更となり(列の項目に変更はありません)同一企業が複数入っています。 毎月、Sheet1の企業がSheet2のデータにどれだけあるのかを提出しなければなりません。 今までフィルタ機能を使って色を付けたり、入力して探したりしていましたが、毎月となると企業数が多すぎてどれだけ時間があっても足りません。 エクセルのバージョンは2010 エクセルの理解度は複雑ではない関数を多少使っている程度です。 ※補足 企業名は関数で(株)などは除いて表示した列もあります。 ※企業名は英語・漢字・カタカナ・全角・半角・記号が混在しますが統一すべきでしょうか? 提出期限が迫っており困っています。 どなたかアドバイスいただけないでしょうか。 わかりにくい説明で申し訳ございません。 よろしくお願いします。

  • エクセルでのマッチング

    色々エクセルでのマッチングのページを見ましたが自分の状況に該当するのがなかったので質問させて頂きます。 エクセルでのデータが2つあります。 Sheet1 A列→注文NO B列→金額 C列→製造番号 D列→金額 E列→商品名 Sheet2 A列→注文NO B列→金額 C列→品名 D列→数量 E列→単価 の2つのシートがあります。2つのシートを比較して、 A列の注文NOが一致してたら、Sheet1,Sheet2のG列に”注文NOが一致してます”と記載します。 さらに注文NOも一致し、同じ行の金額も一致したら、”金額も一致してます”とH列に記載します。 できましたら、 注文NOと金額が一致した物に関してSheet2のF列にSheet1の製造番号を記載するようなプログラムを作りたいと思います。 ↓に私が調べた結果、注文NOだけをキーにしてマッチングさせて、動くプログラムがありますしたが、2つをキーにする場合や別シートから一致したデータの一部を持ってくるものは探してもわかりませんでした。 http://www.okweb.ne.jp/kotaeru.php3?q=507722 質問された方と違い、データは人が入れていることもあり、間違いがある可能性があり2つ以上をキーにして、どこの製造番号の物かわかるようなプログラムをできる方教えて頂けませんでしょうか? ちょっと複雑ですのでここに出すべきか迷いましたが、プログラムの組める方、お願い致します。

  • エクセルでひらがな・漢字はそのままでカタカナを全角・英数字を半角にする方法

    エクセル2000を使っています。 会社で住所録作成を引き継ぎましたが、 一つのセルにひらがな、漢字、カタカナ、英数字 が半角・全角ごちゃ混ぜで入っているので 管理がしづらくて困っています。 例えば、 あいうアジアNET株式会社 株式会社ABC123 などなど・・・・ ひらがな・漢字はそのままで、 カタカナを全角、英数字を半角にする方法は ありませんか? 最初にASC関数を使ってみたらカタカナも半角になり、 Phonetic関数を使うと、 カタカナだけ全角になりましたが、 ひらがなまでカタカナになり・・・ JIS関数も試しましたが今度は英数字まで全角になり、 どうしたものかと困っております。 よろしくお願いします。

  • エクセルでのマッチング(ちょっと複雑)

    色々エクセルでのマッチングのページを見ましたが自分の状況に該当するのがなかったので質問させて頂きます。 エクセルでのデータが2つあります。 Sheet1 A列→注文NO B列→金額 C列→製造番号 D列→金額 E列→商品名 Sheet2 A列→注文NO B列→金額 C列→品名 D列→数量 E列→単価 の2つのシートがあります。2つのシートを比較して、 A列の注文NOが一致してたら、Sheet1,Sheet2のG列に”注文NOが一致してます”と記載します。 さらに注文NOも一致し、同じ行の金額も一致したら、”金額も一致してます”とH列に記載します。 できましたら、 注文NOと金額が一致した物に関してSheet2のF列にSheet1の製造番号を記載するようなプログラムを作りたいと思います。 シート1は2千件。シート2も同じく2千件くらいで、データはランダムに入ってます。 ↓に私が調べた結果、注文NOだけをキーにしてマッチングさせて、動くプログラムがありますした。ロジックとしてはシンプルで素晴らしいのですが、そっから先自分で組むことができませんでした。 2つをキーにする場合や別シートから一致したデータの一部を持ってくるものは探してもわかりませんでした。 http://www.okweb.ne.jp/kotaeru.php3?q=507722 質問された方と違い、データは人が入れていることもあり、間違いがある可能性があり2つ以上をキーにして、どこの製造番号の物かわかるようなプログラムをできる方教えて頂けませんでしょうか? ちょっと複雑ですのでここに出すべきか迷いましたが、プログラムの組める方、お願い致します。 エクセルで関数を使う方法ではなく、毎月チェックしないといけませんので、マクロで一発!で考えています。 宜しくお願い致します。

専門家に質問してみよう