3

同様のテキストを含むが区切り文字が異なる2つのセルをExcelで比較したいとします。私は区切り文字を比較しながら区切り文字を無視したい。複数の区切り文字を含むテキストを含む2つのセルの文字列比較

例:

John Doe: Mary Ann. Are Married/ 
John Doe Mary Ann Are Married 

マクロを完全に認識していません。すべてのリードは高く評価されています!

+2

'何もない両方のセルで区切り記号を置き換えるために式' = SUBSTITUTE()を使用し、次いで比較。 – JNevill

+0

いくつの区切り文字を使用していますか? 3つだけ表示されますか? –

+0

はい。示されたものだけ。 – vnkrishna

答えて

2

あなたはこれを試すことができます。

Function CompareByLetter(t1 As String, t2 As String) As Boolean 
CompareByLetter = CleanString(t1) = CleanString(t2) 
End Function 
Function CleanString(t As String) As String 
Dim t1, x, c 
For x = 1 To Len(t) 
    c = Asc(UCase(Mid(t, x, 1))) 
    If (c >= 65 And c <= 90) Or c = 32 Then t1 = t1 & Mid(t, x, 1) 
Next x 
CleanString = t1 
End Function 

は、その後、あなたが数式としてそれを使用することができます。

=CompareByLetter(A1,A2)

このマクロはちょうどのみ保ち文字とスペースで文字列を比較します。

=CleanString(A1)を使用して、他の文字をすべて文字列から削除することもできます。右(添付資料参照)左側にオフクリックしてInsert -> Module

右側のモジュールウィンドウにコードを貼り付けを選択し、プロジェクト内のオープンExcelをこれを使用してALT+F11

を押して

。その後

VBA Window

Image mirror since Stackoverflow image hosting seems down

、あなたは式と同じような機能を使用することができるはずです。

セルに=CompareByLetter(A1,A2)と入力してください。あなたはOffice 365のExcelをお持ちの場合

+1

私はちょうど理由として答えとして追加しました。私はあなたの方法を好む。あなたはコードをどこに置くべきかを説明したいかもしれません。 –

2

は、我々はこの配列数式を使用することができます:配列数式なので

=TEXTJOIN("",TRUE,IF(((CODE(UPPER(MID(A1,ROW(INDIRECT("1:" & LEN(A1))),1)))>=65)*(CODE(UPPER(MID(A1,ROW(INDIRECT("1:" & LEN(A1))),1)))<=90))+(CODE(UPPER(MID(A1,ROW(INDIRECT("1:" & LEN(A1))),1)))=32),MID(A1,ROW(INDIRECT("1:" & LEN(A1))),1),""))=TEXTJOIN("",TRUE,IF(((CODE(UPPER(MID(A2,ROW(INDIRECT("1:" & LEN(A2))),1)))>=65)*(CODE(UPPER(MID(A2,ROW(INDIRECT("1:" & LEN(A2))),1)))<=90))+(CODE(UPPER(MID(A2,ROW(INDIRECT("1:" & LEN(A2))),1)))=32),MID(A2,ROW(INDIRECT("1:" & LEN(A2))),1),"")) 

をそれが編集モードを終了するときはCtrl-Shiftキーを押しながら入力する代わりに入力して確認する必要があります。正しく実行された場合、Excelは{}を数式の周りに置きます。

![enter image description here

+1

@ user1274820 Office 365 Excelが必要です。 TEXTJOINは比較的新しい機能です。 –

+1

@ user1274820 TEXTJOIN()の使用を模倣するUDFについてはこちらをご覧ください:http://stackoverflow.com/questions/39532189/vlookup-with-multiple-criteria-returning-values-in-one-cell –

関連する問題