كيف تقارن القيم المفصولة بفواصل في خليتين وتُرجع القيم المكررة أو الفريدة في Excel؟
كما هو موضح في لقطة الشاشة أدناه، هناك عمودان – العمود1 والعمود2، ويحتوي كل خلية في العمود على أرقام مفصولة بفواصل. وللمقارنة بين الأرقام المفصولة بفواصل في العمود1 ومحتويات الخلية في نفس الصف من العمود2 وإرجاع جميع القيم المكررة أو الفريدة، ماذا يمكنك أن تفعل؟
يقدّم هذا البرنامج التعليمي طريقتين تساعدانك على إنجاز هذه المهمة بسلاسة.

مقارنة القيم المفصولة بفواصل في خليتين وإرجاع القيم المكررة أو الفريدة باستخدام الصيغ
يقدّم هذا القسم صيغتين تساعدانك على مقارنة القيم المفصولة بفواصل في خليتين، وإرجاع القيم المكررة أو الفريدة بينهما.
ملاحظة: الصيغ التالية تعمل فقط فيExcel لـ 365. إذا كنت تستخدم إصدارًا آخر من Excel،جرّب استخدام طريقة VBA أدناه.
باستخدام العمودين أعلاه كمثال، لمقارنة الأرقام المفصولة بفواصل في العمود 1 مع الأرقام المفصولة بفواصل في نفس الصف من العمود 2، ثم إرجاع القيم المكررة أو الفريدة، يُرجى اتباع الخطوات التالية.

إرجاع القيم المكررة
1. حدد خلية لإخراج الأرقام المكررة بين الخليتين المحدَّدتين اللتين تحتويان على أرقام مفصولة بفواصل؛ في هذه الحالة، سأختار الخلية D2، ثم أدخل الصيغة أدناه واضغط مفتاحEnter. بعد ذلك، حدد خلية الصيغة واسحبمقبض التعبئة التلقائية (AutoFill Handle)لأسفل للحصول على الأرقام المكررة بين الخلايا في الصفوف الأخرى.
=LET(x, TRANSPOSE(TEXTSPLIT(TEXTJOIN(", ",TRUE,A2:B2), ", ")),y,UNIQUE(x),z,UNIQUE(x,,1), TEXTJOIN(", ",TRUE,IF(ISERROR(MATCH(y,z,0)),y, «»)))

إرجاع القيم الفريدة
لإرجاع الأرقام الفريدة بين الخليتين المحدَّدتين اللتين تحتويان على أرقام مفصولة بفواصل في نفس الصف، يمكن أن تساعدك الصيغة التالية.
1. حدد خلية لإخراج الأرقام الفريدة؛ في هذه الحالة، سأختار الخلية E2، ثم أدخل الصيغة أدناه واضغط المفتاح.Enter. بعد ذلك، حدد خلية الصيغة واسحبمقبض التعبئة التلقائية (AutoFill Handle)لأسفل للحصول على الأرقام الفريدة من الخلايا في الصفوف الأخرى.
=TEXTJOIN(", ",TRUE,UNIQUE(TRANSPOSE(TEXTSPLIT(TEXTJOIN(", ",TRUE,A2:B2), ", ")),,1))

ملاحظات:

افتح سحر إكسل مع KUTOOLS AI
- التنفيذ الذكي: نفِّذ عمليات الخلايا، وحلِّل البيانات، وأنشئ المخططات البيانية — كل ذلك بأوامر بسيطة!
- الصيغ المخصصة: أنشئ صيغًا مخصصة لتبسيط سير عملك.
- برمجة VBA: اكتب وأَنفِذ أكواد VBA بسلاسة تامة.
- تفسير الصيغ: افهم الصيغ المعقدة بسهولة!
- ترجمة النصوص: اكسر الحواجز اللغوية في جداولك الإلكترونية!
مقارنة عمودين يحتويان على قيم مفصولة بفواصل وإرجاع القيم المكررة أو الفريدة باستخدام VBA
تساعدك الدالة المعرَّفة من قبل المستخدم المقدمة في هذا القسم على مقارنة القيم المفصولة بفواصل في خليتين معيَّنتين، وإرجاع القيم المكرَّرة أو الفريدة بينهما. يُرجى اتباع الخطوات التالية.
باستخدام نفس المثال أعلاه، لمقارنة الأرقام المفصولة بفواصل في العمود1 مع الأرقام المفصولة بفواصل في نفس الصف من العمود2 وإرجاع القيم المكررة أو الفريدة، جرّب الدالة المعرّفة من قبل المستخدم في هذا القسم.

1. في ملف العمل المفتوح، اضغط على المفاتيحAlt+F11لفتح نافذةMicrosoft Visual Basic for Applications.
2. في النافذةMicrosoft Visual Basic for Applications، انقر فوقInsert>Module، ثم انسخ كود VBA التالي في نافذةModule (Code).

كود VBA: مقارنة القيم المفصولة بفواصل في خليتين وإرجاع القيم المكررة/الفريدة
Private Function COMPARE(Rng1, Rng2 As Range, Op As Boolean)
'Updated by Extendoffice 20221019
Dim R1Arr As Variant
Dim R2Arr As Variant
Dim Ans1 As String
Dim Ans2 As String
Dim Separator As String
Dim d1 As New Dictionary
Dim d2 As New Dictionary
Dim d3 As New Dictionary
Application.Volatile
Separator = ", "
R1Arr = Split(Rng1.Value, Separator)
R2Arr = Split(Rng2.Value, Separator)
Ans1 = ""
Ans2 = ""
For Each ch In R2Arr
If Not d2.Exists(ch) Then
d2.Add ch, "1"
End If
Next
If Op Then
For Each ch In R1Arr
If d2.Exists(ch) Then
If Not d3.Exists(ch) Then
d3.Add ch, "1"
Ans1 = Ans1 & ch & Separator
End If
End If
Next
If Ans1 <> "" Then
Ans1 = Mid(Ans1, 1, Len(Ans1) - Len(Separator))
End If
COMPARE = Ans1
Else
For Each ch In R1Arr
If Not d1.Exists(ch) Then
d1.Add ch, "1"
End If
Next
For Each ch In R1Arr
If Not d2.Exists(ch) Then
If Not d3.Exists(ch) Then
d3.Add ch, "1"
Ans2 = Ans2 & ch & Separator
End If
End If
Next
For Each ch In R2Arr
If Not d1.Exists(ch) Then
If Not d3.Exists(ch) Then
d3.Add ch, "1"
Ans2 = Ans2 & ch & Separator
End If
End If
Next
If Ans2 <> "" Then
Ans2 = Mid(Ans2, 1, Len(Ans2) - Len(Separator))
End If
COMPARE = Ans2
End If
End Function 3. بعد لصق الكود في النافذة،Module (Code)، انقر فوقTools > References لفتح نافذةReferences – VBAProject، ثم فعّل خانة الاختيارMicrosoft Scripting Runtime، وانقر على زرOK.

4. اضغط مفاتيحAlt+Q لإغلاق نافذةMicrosoft Visual Basic for Applications.
5. الآن، عليك تطبيق دالتين منفصلتين لإرجاع القيم المكررة والقيم الفريدة من الخليتين اللتين تحتويان على قيم مفصولة بفواصل.
إرجاع القيمة المكررة
حدد خلية لإخراج الأرقام المكررة؛ في هذا المثال، سأختار الخلية D2، ثم أدخل الصيغة أدناه واضغط مفتاحEnterللحصول على الأرقام المكررة بين الخليتين A2 وB2.
حدد خلية الصيغة، ثم اسحب مقبض التعبئة التلقائية (AutoFill Handle) لأسفل للحصول على الأرقام المكررة في الخلايا المقابلة بالصفوف الأخرى.
=COMPARE(A2,B2,TRUE)

إرجاع القيم الفريدة
حدد خلية لإخراج الأرقام الفريدة؛ في هذا المثال، سأختار الخلية E2، ثم أدخل الصيغة أدناه واضغط مفتاحEnterللحصول على الأرقام الفريدة الموجودة بين الخليتين A2 وB2.
حدد خلية الصيغة، ثم اسحب مقبض التعبئة التلقائية (AutoFill Handle) لأسفل للحصول على أرقام فريدة في الخلايا المقابلة بالصفوف الأخرى.
=COMPARE(A2,B2,FALSE)

أفضل أدوات الإنتاجية لمكتبتك
عزِّز مهاراتك في Excel باستخدام Kutools لـ Excel، وعايش الكفاءة كما لم تفعل من قبل.يقدّم Kutools لـ Excel أكثر من 300 ميزة متقدمة لتعزيز الإنتاجية ووقت الحفظ.انقر هنا للحصول على الميزة التي تحتاجها أكثر من غيرها...
يجلب Office Tab واجهة ذات علامات تبويب إلى Office، ويجعل عملك أسهل بكثير
- تمكّن من التحرير والقراءة باستخدام علامات التبويب في Word وExcel وPowerPoint، وPublisher وAccess وVisio وProject.
- افتح وأنشئ مستندات متعددة في علامات تبويب جديدة داخل النافذة نفسها، بدلاً من فتح نوافذ جديدة.
- يزيد إنتاجيتك بنسبة 50% ويوفّر لك مئات نقرات الفأرة كل يوم!
جميع الإضافات من Kutools في برنامج تثبيت واحد!
Kutools for Office حزمةٌ تحتوي على إضافاتٍ مخصصة لتطبيقات Excel وWord وOutlook وPowerPoint، إلى جانب Office Tab Pro، مما يجعلها الخيار المثالي للفِرق التي تعمل عبر تطبيقات Office.
- حزمة شاملة واحدة— إضافات Excel وWord وOutlook وPowerPoint بالإضافة إلى Office Tab Pro
- برنامج تثبيت واحد، ترخيص واحد— الإعداد خلال دقائق (جاهز لـ MSI)
- يعمل بشكل أفضل معًا— إنتاجية ميسَّرة عبر تطبيقات Office
- تجربة مجانية لمدة 30 يومًا بكامل الميزات— بدون تسجيل، بدون بطاقة ائتمان
- أفضل قيمة— وفِّر مقارنةً بشراء الإضافات بشكل منفصل