- 締切済み
vlookup関数について教えてください
こんにちは。 とあるシステムへ取り込むデータを作成するために、以下のような処理を行いたいです。 取引先ファイル①:株式会社 A社 株式会社 B社 ・ ・ ・ 株式会社 Z社 〇〇 △△様 データは500件ほどあります。 取引先ファイル②:株式会社A社 株式会社B社 ・ ・ ・ 株式会社Z社 〇〇 △△様 ①のファイルと②のファイルの取引先は7~8割は一致していますが、完全ではありません。 vlookup関数で、①のファイルの取引先名を検索値として入力して、②のファイルに同名の取引先を表示したいのですが、株式会社と会社名の後にスペースが入っている関係で検索がきれいにできません。 ワイルドカードを使って検索すればうまくいくかと思ったのですが、会社名ごとにアスタリスクの中の名称を変えなければならないので、現実的ではありません。 vlookup関数のうまい使い方をご存じのかたお教えください。
- みんなの回答 (5)
- 専門家の回答
みんなの回答
- kkkkkm
- ベストアンサー率66% (1734/2604)
社名にスペースがある場合 株式会社あ い社 などの場合 D列のデータからスペースを削除したデータを別の列に作ってそこを参照 E1に =SUBSTITUTE(SUBSTITUTE(D1," ","")," ","") 元の式の D:DをE:Eに変更 するとか VLOOKUPを以下のようにしていける場合もあると思います。 =VLOOKUP("*" & IF(FIND("株式会社",A1)=1,TRIM(MID(A1,6,LEN(A1))),TRIM(LEFT(A1,LEN(A1)-5))) & "*",D:D,1,FALSE) セルや列の位置は、回答No.4の添付画像の位置をもとにしています。
- kkkkkm
- ベストアンサー率66% (1734/2604)
- kkkkkm
- ベストアンサー率66% (1734/2604)
> 確認していると、前(株)と後(株)が混在していました。 バージョンによって使えないかもしれませんが(Office365だと使えるみたいです) G1の式 =VLOOKUP("*" & CONCAT(TEXTSPLIT(A1,{"株式会社"," "})) & "*",D:D,1,FALSE) 上記が使えない場合は H1の式 =VLOOKUP("*" & SUBSTITUTE(SUBSTITUTE(A1,"株式会社","")," ","") & "*",D:D,1,FALSE) 質問のスペースが全角したので全角にしてますが半角でしたら" "を" "にするか 両方設定して置換部分を以下のようにしてください CONCAT(TEXTSPLIT(A1,{"株式会社"," "," "})) SUBSTITUTE(SUBSTITUTE(SUBSTITUTE(A1,"株式会社","")," ","")," ","") 他にも社名以外で取り除きたい文字があれば上記のパターンで追加してみてください。
- msMike
- ベストアンサー率20% (364/1805)
- kkkkkm
- ベストアンサー率66% (1734/2604)
お礼
補足
ありがとうございます。 MID関数勉強になります。 確認していると、前(株)と後(株)が混在していました。 この場合だとさすがに難しいですよね・・・?