0
在兩列中有大量的數據。我必須打印這兩個字符串是否匹配或不匹配到第三列作爲匹配/不匹配。Excel中的字符串比較VBA
For example- YES & YeS match
yes & YES match
ye2 & yes No match & so on
我一直在這樣做,手動檢查每列中的值,然後寫入匹配/不匹配。希望有一些幫助,使過程自動化。
在兩列中有大量的數據。我必須打印這兩個字符串是否匹配或不匹配到第三列作爲匹配/不匹配。Excel中的字符串比較VBA
For example- YES & YeS match
yes & YES match
ye2 & yes No match & so on
我一直在這樣做,手動檢查每列中的值,然後寫入匹配/不匹配。希望有一些幫助,使過程自動化。
你並不真的需要VBA來做到這一點,但如果是的話,你可以簡單地寫一個UDF指定(在模塊的頂部)你使用Compare text選項。
Option Compare Text
Public Function compareText(ByVal str1 As String, ByVal str2 As String) As String
If str1 = str2 Then
compareText = "Match"
Else
compareText = "Do not match"
End If
End Function
一旦加入,說你有在細胞A1
和B1
數據,那麼你只需添加到細胞C1
公式=compareText(A1,B1)
和滾動下來的其他值。
請注意,這是最有效的方法,因爲Option Compare Text
將執行字符串的二進制比較(在比較之前不必將任何字符串轉換爲UPPER
,如果數據量真的很大,會影響性能正如你所說)。
做[這個問題](http://superuser.com/questions/284022/comparing-two-strings-in-excel)的答案給你答案?總而言之,如果您只是在'C1'中放入'= EXACT(A1,B1)'並複製下來,您將獲得布爾值以確定它們是否匹配,而無需使用VBA。要獲得匹配/不匹配,只需將該布爾值放入「IF」語句。 – eirikdaude
@eirikdaude我已經嘗試過這個EXACT語句,對於像YES&yEs這樣的例子,雖然這兩個字符串是相等的,但它使我的值爲false。 –
'= A1 = B1'是否有效?這似乎是在我測試時做的,而「EXACT」給我的結果和你一樣。如果有效,我會將我的評論寫成答案並刪除評論。 – eirikdaude