Note: The other languages of the website are Google-translated. Back to English

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

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

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


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

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

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

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

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

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

=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 ، ثم أدخل الصيغة أدناه واضغط على أدخل مفتاح. حدد خلية الصيغة واسحب لها مقبض الملء التلقائي لأسفل للحصول على الأرقام الفريدة بين الخلايا في الصفوف الأخرى.

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

ملاحظة:

1) لا يمكن تطبيق الصيغتين المذكورتين أعلاه إلا في Excel لـ 365. إذا كنت تستخدم إصدارًا من Excel بخلاف Excel for 365 ، فالرجاء تجربة طريقة VBA التالية.
2) يجب أن تكون الخلايا المراد مقارنتها متجاورة في نفس الصف أو العمود.

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

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

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

1. في المصنف الافتتاحي ، اضغط على قديم + F11 مفاتيح لفتح ميكروسوفت فيسوال باسيك للتطبيقات نافذة.

2. في ال ميكروسوفت فيسوال باسيك للتطبيقات الإطار، انقر فوق إدراج > وحدة، وانسخ التعليمات البرمجية لـ 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. بعد لصق الكود في ملف وحدة (كود) نافذة ، اذهب للنقر الأدوات > المحلية لفتح المراجع - VBAProject النافذة ، تحقق من وقت تشغيل البرمجة لـ Microsoft ثم انقر فوق OK .

4. اضغط على قديم + Q مفاتيح لإغلاق ميكروسوفت فيسوال باسيك للتطبيقات نافذة.

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

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

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

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

=COMPARE(A2,B2,TRUE)

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

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

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

=COMPARE(A2,B2,FALSE)


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

Kutools for Excel يحل معظم مشاكلك ويزيد إنتاجيتك بنسبة 80٪

  • إعادة استخدام: أدخل بسرعة الصيغ المعقدة والرسوم البيانية وأي شيء استخدمته من قبل ؛ تشفير الخلايا مع كلمة السر إنشاء قائمة بريدية وإرسال رسائل البريد الإلكتروني ...
  • سوبر فورميولا بار (بسهولة تحرير أسطر متعددة من النص والصيغة) ؛ تخطيط القراءة (قراءة وتحرير أعداد كبيرة من الخلايا بسهولة) ؛ لصق في النطاق المصفى
  • دمج الخلايا / الصفوف / الأعمدة دون فقدان البيانات ؛ تقسيم محتوى الخلايا ؛ ادمج الصفوف / الأعمدة المكررة... منع تكرار الخلايا؛ قارن النطاقات
  • حدد مكرر أو فريد صفوف حدد صفوف فارغة (جميع الخلايا فارغة) ؛ البحث الفائق والبحث الغامض في العديد من المصنفات. تحديد عشوائي ...
  • نسخة طبق الأصل خلايا متعددة بدون تغيير مرجع الصيغة ؛ إنشاء المراجع تلقائيًا إلى أوراق متعددة أدخل الرموز النقطية، مربعات الاختيار والمزيد ...
  • استخراج النص، إضافة نص ، إزالة حسب الموضع ، إزالة الفضاء؛ إنشاء وطباعة المجاميع الفرعية لترحيل الصفحات ؛ التحويل بين محتوى الخلايا والتعليقات
  • سوبر تصفية (حفظ وتطبيق مخططات التصفية على أوراق أخرى) ؛ فرز متقدم حسب الشهر / الأسبوع / اليوم ، التكرار والمزيد ؛ مرشح خاص بواسطة bold، italic ...
  • اجمع بين المصنفات وأوراق العمل؛ دمج الجداول على أساس الأعمدة الرئيسية ؛ تقسيم البيانات إلى أوراق متعددة; تحويل دفعة xls و xlsx و PDF
  • أكثر من 300 ميزة قوية. يدعم Office / Excel 2007-2021 و 365. يدعم جميع اللغات. سهولة النشر في مؤسستك أو مؤسستك. الميزات الكاملة نسخة تجريبية مجانية لمدة 30 يومًا. ضمان استرداد الأموال لمدة 60 يومًا.
علامة تبويب kte 201905

يجلب Office Tab الواجهة المبوبة إلى Office ، ويجعل عملك أسهل بكثير

  • تمكين التحرير والقراءة المبوبة في Word و Excel و PowerPointوالناشر والوصول و Visio والمشروع.
  • فتح وإنشاء مستندات متعددة في علامات تبويب جديدة من نفس النافذة ، بدلاً من النوافذ الجديدة.
  • يزيد من إنتاجيتك بنسبة 50٪ ، ويقلل مئات النقرات بالماوس كل يوم!
أوفيسيتاب القاع
فرز التعليقات حسب
التعليقات (0)
لا يوجد تقييم. كن أول من يقيم!
لا توجد تعليقات منشورة هنا حتى الآن
اترك تعليقاتك
النشر كضيف
×
قيم المنشور:
0   الشخصيات
المواقع المقترحة

تواصل معنا

حقوق التأليف والنشر © 2009 - شبكة الاتصالات العالمية.extendoffice.com. | كل الحقوق محفوظة. مشغل بواسطة ExtendOffice. | | خريطة الموقع
Microsoft وشعار Office هما علامتان تجاريتان أو علامتان تجاريتان مسجلتان لشركة Microsoft Corporation في الولايات المتحدة و / أو دول أخرى.
محمي بواسطة Sectigo SSL