KutoolsforOffice — حل واحد، خمس أدوات قوية.تحقيق المزيد بجهد أقل.

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

المؤلفSiluviaتاريخ التعديل

كما هو موضح في لقطة الشاشة أدناه، هناك عمودان – العمود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))

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

ملاحظات:

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

افتح سحر إكسل مع 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.

 انقر أدوات > مراجع وحدد مربع تشغيل Microsoft Scripting Runtime

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)

استخدام صيغة لإرجاع القيمة الفريدة

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

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

عزِّز مهاراتك في 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.

ExcelWordOutlookTabsPowerPoint
  • حزمة شاملة واحدة— إضافات Excel وWord وOutlook وPowerPoint بالإضافة إلى Office Tab Pro
  • برنامج تثبيت واحد، ترخيص واحد— الإعداد خلال دقائق (جاهز لـ MSI)
  • يعمل بشكل أفضل معًا— إنتاجية ميسَّرة عبر تطبيقات Office
  • تجربة مجانية لمدة 30 يومًا بكامل الميزات— بدون تسجيل، بدون بطاقة ائتمان
  • أفضل قيمة— وفِّر مقارنةً بشراء الإضافات بشكل منفصل