2017-03-03 15 views
1

Excel 2010を使用しています。従業員のリストを含む2つのデータセットがあります。データは似ていますが正確ではありません。データセットAの名前はB.おおよその一致検索 - Excelの類似したテキスト文字列(VBAおよびファジーマッチアドインなし)

データセットA

John Smith Jr. 

Dan Rogers 

Jane Doe 

データセットBのデータセットである場合にルックアップするために必要

SMITH, JOHN 

ROGERS, DANIEL 

DOE, JANE 

は運なしで部分一致式を探してみました。 VBAを使用しない式を探したり、ファジー・マッチ・エクセル・アドインを探します。

おかげ

+1

これはどのツールでも行うことは難しいですが、VBAなしでExcelで実行すると、fakey soundex、ngram、またはlevenshteinの距離関数が少なくともカヌーバナナです。 – JNevill

答えて

0

すべてのデータは、あなたが与える例のようなものである場合には、部分一致のための必要はありません:あなたは直接秒1にあなたの最初の列を変換することができます。

は、最初の名前を取得します:列Bに

=LEFT(A1,FIND(" ",A1)-1) 

は、最後の名前を取得します:コラムC

それでは、データセットAが列Aにあなただけの次の操作を行うことができていると仮定しましょう

=LEFT(RIGHT(A1,LEN(A1)-LEN(B1)-1),FIND(" ",A1,LEN(B1)+2)-LEN(B1)-2) 

次に、あなたは、列DにおけるデータセットBの形式を模倣することができます

=UPPER(C1)&", "&UPPER(B1) 

そして、古典的な完全一致を使用して、列DをデータセットBと一致させてください。

私はあなたのデータは、このロジックでめちゃくちゃになりますミドルネームを持っているかもしれない疑いがあるが、上記の限り、あなたがする必要がある場合は、データセットAのあなたの名前はすべての形式で

FirstNameinDataSetB LastNameinDataSetB AnyThingAfterDoesntMatter 

あるとして動作しますそれを1つの数式で実行すると、1つの手順の数式を補うことができます。

関連する問題