আপনার মন্তব্যগুলির পাশাপাশি আপনার প্রশ্নের প্রশ্নে মনে হচ্ছে যে যদি একটি বাক্যাংশের কোনও শব্দ সংলগ্ন বাক্যাংশের কোনও শব্দের সাথে মিলে যায় তবে আপনি সত্য ফিরিয়ে দিতে চান। এটি করার একটি উপায় হ'ল একটি ব্যবহারকারী সংজ্ঞায়িত ফাংশন (ভিবিএ)। নিম্নলিখিত যে কোনও শব্দ অন্তর্ভুক্ত নয় arrExclude
, যা আপনি উপযুক্ত হিসাবে যুক্ত করতে পারেন। এটি অক্ষর, সংখ্যা বা ফাঁকা স্থান নয় এমন কোনও অক্ষর এবং কেবলমাত্র একটি একক অক্ষর সমন্বিত কোনও শব্দ বাদ দেবে।
এটি আপনার পক্ষে কাজ করে কিনা দেখুন।
আর একটি বিকল্প হ'ল এমএস দ্বারা এক্সেল সংস্করণ 2007 এবং তার পরে প্রদত্ত ফ্রি ফজী লুকআপ অ্যাড-ইনটি একবার দেখুন।
এই ব্যবহারকারী সংজ্ঞায়িত ফাংশন (ইউডিএফ) প্রবেশ করতে alt-F11
ভিজ্যুয়াল বেসিক সম্পাদক খুলুন। আপনার প্রকল্পটি প্রকল্প এক্সপ্লোরার উইন্ডোতে হাইলাইট হয়েছে তা নিশ্চিত করুন। তারপরে উপরের মেনু থেকে, Insert/Module
নীচের কোডটি নির্বাচন করুন এবং উইন্ডোতে খোলে যা পেস্ট করুন।
এই ব্যবহারকারী সংজ্ঞায়িত ফাংশন (ইউডিএফ) ব্যবহার করতে, একটি সূত্র লিখুন
=WordMatch(A1,B1)
কিছু কোষে
EDIT2: Find Matches
বিভাগটি ম্যাকের ক্ষেত্রে আরও ভাল কাজ করে কিনা তা দেখার জন্য এটি পরিবর্তন করা হয়েছে
Option Explicit
Option Base 0
Option Compare Text
Function WordMatch(S1 As String, S2 As String) As Boolean
Dim arrExclude() As Variant
Dim V1 As Variant, V2 As Variant
Dim I As Long, J As Long, S As String
Dim RE As Object
Dim sF As String, sS As String
'Will also exclude single letter words
arrExclude = Array("The", "And", "Trust", "Family", "II", "III", "Jr", "Sr", "Mr", "Mrs", "Ms")
'Remove all except letters, digits, and spaces
'remove extra spaces
'Consider whether to retain hyphens
Set RE = CreateObject("vbscript.regexp")
With RE
.Pattern = "[^A-Z0-9 ]+|\b\S\b|\b(?:" & Join(arrExclude, "|") & ")\b"
.Global = True
.ignorecase = True
End With
With WorksheetFunction
V1 = Split(.Trim(RE.Replace(S1, "")))
V2 = Split(.Trim(RE.Replace(S2, "")))
End With
'Find Matches
If UBound(V1) <= UBound(V2) Then
sS = " " & Join(V2) & " "
For I = 0 To UBound(V1)
sF = " " & V1(I) & " "
If InStr(sS, sF) > 0 Then
WordMatch = True
Exit Function
End If
Next I
Else
sS = " " & Join(V1) & " "
For I = 0 To UBound(V2)
sF = " " & V2(I) & " "
If InStr(sS, sF) > 0 Then
WordMatch = True
Exit Function
End If
Next I
End If
WordMatch = False
End Function
সম্পাদনা: আপনার মূল উদাহরণ দুটি ব্যবহার করে ফলাফলের স্ক্রিনশট এখানে দেওয়া হয়েছে, এবং নীচের একটি মন্তব্যে আপনি যে উদাহরণ দিয়েছেন যেখানে আপনি নির্দেশ করেছেন যে আপনার কোনও সমস্যা হচ্ছে।