Skip to main content

كيفية مقارنة القيم المفصولة بفواصل في خليتين وإرجاع القيم المكررة أو الفريدة في Excel؟

Author: Siluvia Last Modified: 2025-05-30

كما هو موضح في لقطة الشاشة أدناه، هناك عمودان - العمود الأول والعمود الثاني، تحتوي كل خلية في العمود على أرقام مفصولة بفواصل. لمقارنة الأرقام المفصولة بفواصل في العمود الأول بمحتويات الخلية في نفس الصف من العمود الثاني وإرجاع جميع القيم المكررة أو الفريدة، ما الذي يمكنك فعله؟

يقدم هذا البرنامج التعليمي طريقتين لمساعدتك على إنجاز هذه المهمة.

compare comma separated values in two cells


قارن بين القيم المفصولة بفواصل في خليتين وأعد القيم المكررة أو الفريدة باستخدام الصيغ

يوفر هذا القسم صيغتين لمساعدتك على مقارنة القيم المفصولة بفواصل في خليتين وإرجاع القيم المكررة أو الفريدة بينهما.

ملاحظة: تعمل الصيغ التالية فقط في Excel 365. إذا كنت تستخدم إصدارات أخرى من Excel، جرب استخدام طريقة VBA أدناه.

خذ العمودين أعلاه كمثال، لمقارنة الأرقام المفصولة بفواصل في العمود الأول بالأرقام المفصولة بفواصل في نفس صف العمود الثاني وإرجاع القيم المكررة أو الفريدة، يرجى القيام بما يلي.

sample data

إرجاع القيم المكررة

1. حدد خلية لإخراج الأرقام المكررة بين الخليتين المحددتين اللتين تحتويان على أرقام مفصولة بفواصل، في هذه الحالة، اخترت الخلية D2، ثم أدخل الصيغة أدناه واضغط على مفتاح الإدخال Enter. حدد الخلية التي تحتوي على الصيغة واسحب مقبض التعبئة التلقائي الخاص بها للأسفل للحصول على الأرقام المكررة بين الخلايا في الصفوف الأخرى.

=LET(x, TRANSPOSE(TEXTSPLIT(TEXTJOIN(", ",TRUE,A2:B2), ", ")),y,UNIQUE(x),z,UNIQUE(x,,1), TEXTJOIN(", ",TRUE,IF(ISERROR(MATCH(y,z,0)),y, "")))

 compare to return duplicate values

إرجاع القيم الفريدة

للمساعدة في إرجاع الأرقام الفريدة بين الخليتين المحددتين اللتين تحتويان على أرقام مفصولة بفواصل في نفس الصف، يمكن أن تساعد الصيغة التالية.

1. حدد خلية لإخراج الأرقام الفريدة، في هذه الحالة، اخترت الخلية E2، ثم أدخل الصيغة أدناه واضغط على مفتاح الإدخال Enter. حدد الخلية التي تحتوي على الصيغة واسحب مقبض التعبئة التلقائي الخاص بها للأسفل للحصول على الأرقام الفريدة بين الخلايا في الصفوف الأخرى.

=TEXTJOIN(", ",TRUE,UNIQUE(TRANSPOSE(TEXTSPLIT(TEXTJOIN(", ",TRUE,A2:B2), ", ")),,1))

compare to return unique values

ملاحظات:

1) يمكن تطبيق الصيغتين أعلاه فقط في Excel 365. إذا كنت تستخدم إصدارًا آخر من Excel غير Excel 365، يرجى تجربة طريقة VBA التالية.
2) يجب أن تكون الخلايا المطلوب مقارنتها متجاورة مع بعضها البعض في نفس الصف أو العمود.
a screenshot of kutools for excel ai

اكتشف سحر Excel مع Kutools AI

  • التنفيذ الذكي: قم بعمليات الخلية، وتحليل البيانات، وإنشاء المخططات - كل ذلك يتم من خلال أوامر بسيطة.
  • الصيغ المخصصة: قم بإنشاء صيغ مصممة خصيصًا لتسهيل سير عملك.
  • برمجة VBA: كتابة وتطبيق أكواد VBA بسهولة.
  • تفسير الصيغ: فهم الصيغ المعقدة بسهولة.
  • ترجمة النصوص: تجاوز الحواجز اللغوية داخل جداول البيانات الخاصة بك.
عزز قدرات Excel لديك باستخدام أدوات تعمل بالذكاء الاصطناعي. قم بالتنزيل الآن وعش تجربة الكفاءة كما لم يحدث من قبل!

قارن بين عمودين بالقيم المفصولة بفواصل وأعد القيم المكررة أو الفريدة باستخدام VBA

تساعد الدالة المعرفة من قبل المستخدم المقدمة في هذا القسم على مقارنة القيم المفصولة بفواصل في خليتين محددتين وإرجاع القيم المكررة أو الفريدة بينهما. يرجى القيام بما يلي.

خذ نفس المثال أعلاه، لمقارنة الأرقام المفصولة بفواصل في العمود الأول بالأرقام المفصولة بفواصل في نفس صف العمود الثاني وإرجاع القيم المكررة أو الفريدة، يرجى تجربة الدالة المعرفة من قبل المستخدم في هذا القسم.

 sample data

1. في المصنف المفتوح، اضغط على مفتاحي Alt + F11 لفتح نافذة Microsoft Visual Basic for Applications.

2. في نافذة Microsoft Visual Basic for Applications، انقر فوق إدراج > وحدة، وانسخ الكود البرمجي التالي VBA في نافذة الوحدة (الرمز).

 copy anf paste the code into the module

كود 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. بعد لصق الكود في نافذة الوحدة (الرمز)، انتقل إلى النقر فوق أدوات > مراجع لفتح نافذة مراجع – مشروع VBA، وتحقق من مربع تشغيل البرامج النصية لـ Microsoft واضغط على زر موافق.

 click Tools > References and check Microsoft Scripting Runtime box

4. اضغط على مفتاحي Alt + Q لإغلاق نافذة Microsoft Visual Basic for Applications.

5. الآن تحتاج إلى تطبيق دالتين بشكل منفصل لإرجاع القيم المكررة والفريدة من خليتين تحتويان على قيم مفصولة بفواصل.

إرجاع القيمة المكررة

حدد خلية لإخراج الأرقام المكررة، في هذا المثال، اخترت الخلية D2، ثم أدخل الصيغة أدناه واضغط على مفتاح الإدخال Enter للحصول على الأرقام المكررة بين الخلية A2 و B2.

حدد الخلية التي تحتوي على الصيغة واسحب مقبض التعبئة التلقائي الخاص بها للأسفل للحصول على الأرقام المكررة بين الخلايا في الصفوف الأخرى.

=COMPARE(A2,B2,TRUE)

 use formula to return duplicate value

إرجاع القيم الفريدة

حدد خلية لإخراج الأرقام الفريدة، في هذا المثال، اخترت الخلية E2، ثم أدخل الصيغة أدناه واضغط على مفتاح الإدخال Enter للحصول على الأرقام الفريدة بين الخلية A2 و B2.

حدد الخلية التي تحتوي على الصيغة واسحب مقبض التعبئة التلقائي الخاص بها للأسفل للحصول على الأرقام الفريدة بين الخلايا في الصفوف الأخرى.

=COMPARE(A2,B2,FALSE)

 use formula to return unique value

أفضل أدوات الإنتاجية لمكتب العمل

🤖 Kutools AI Aide: أحدث ثورة في تحليل البيانات من خلال: التنفيذ الذكي |توليد الشيفرة |إنشاء الصيغ المخصصة |تحليل البيانات وتوليد الرسوم البيانية |استدعاء الوظائف المحسنة
الميزات الشائعة: البحث، تمييز أو وضع علامة على المكررات | حذف الصفوف الفارغة | دمج الأعمدة أو العنوان دون فقدان البيانات | تقريب ...
بحث متقدم: بحث V متعدد المعايير | بحث V متعدد القيم | بحث في عدة ورقات | مطابقة غامضة ....
قائمة منسدلة متقدمة: إنشاء قائمة منسدلة بسرعة | قائمة منسدلة تابعة | قائمة منسدلة متعددة الاختيار ....
إدارة الأعمدة: إضافة عدد محدد من الأعمدة | نقل الأعمدة | تبديل حالة إظهار الأعمدة المخفية | مقارنة النطاق والأعمدة ...
ميزات مميزة: التركيز على الشبكة | عرض التصميم | شريط الصيغ المحسن | أدوات المصنف & أدوات الورقة العمل | مكتبة النص التلقائي (Auto Text) | منتقي التاريخ | دمج البيانات | تشفير/فك تشفير الخلايا | إرسال البريد الإلكتروني حسب القائمة | مرشح متقدم | تصفية خاصة (تصفية الخلايا التي تحتوي على خط عريض/مائل/يتوسطه خط...) ...
أفضل15 مجموعة أدوات:12 أداة نصية (إضافة نص، حذف الأحرف المحددة، ...) | أكثر من50 نوع من الرسوم البيانية (مخطط جانت، ...) | أكثر من40 صيغة عملية (حساب العمر بناءً على تاريخ الميلاد، ...) |19 أداة إدراج (إدراج رمز الاستجابة السريعة، إدراج صورة من المسار، ...) |12 أداة تحويل (تحويل إلى كلمات، تحويل العملة، ...) |7 أدوات دمج وتقسيم (دمج متقدم للصفوف، تقسيم الخلايا، ...) | ... والمزيد

عزز مهاراتك في Excel مع Kutools لـ Excel، واختبر الكفاءة كما لم يحدث من قبل. Kutools لـ Excel يقدم أكثر من300 ميزة متقدمة لزيادة الإنتاجية وتوفير وقت الحفظ. انقر هنا للحصول على الميزة التي تحتاجها أكثر...


Office Tab يقدم واجهة التبويب لـ Office، ويجعل عملك أسهل بكثير

  • تمكين تحرير وقراءة المستندات عبر التبويبات في Word وExcel وPowerPoint.
  • افتح وأنشئ عدة مستندات في تبويبات جديدة ضمن نفس النافذة، بدلاً من فتحها في نوافذ منفصلة.
  • يزيد إنتاجيتك بنسبة50%، ويقلل مئات النقرات بالماوس يومياً!