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

كيف يمكنك العثور على القيم المشتركة بين ثلاثة أعمدة في Excel؟

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

غالبًا ما يتضمّن العمل مع البيانات في Excel مقارنة القوائم لتحديد العناصر المشتركة أو المكررة. وعلى الرغم من أن مقارنة عمودين لتحديد القيم المشتركة تُعد مهمة شائعة، إلا أن هناك حالات تتطلب تحديد القيم التي تظهر في ثلاثة أعمدة منفصلة في آنٍ واحد. فعلى سبيل المثال، عند دمج بيانات الاستبيانات أو سجلات المبيعات أو تحليل الإدخالات المكررة عبر قوائم متعددة، يصبح من الضروري استخراج مجموعة العناصر الموجودة في الأعمدة الثلاثة بدقة—كما يظهر في لقطة الشاشة أدناه. يقدم هذا المقال عدة طرق عملية لحل هذه المهمة في Excel، مما يمكّنك من تحديد القيم المشتركة بين ثلاثة أعمدة بكفاءة وموثوقية، سواء كنت تفضّل استخدام الصيغ أو VBA.

العثور على القيم المشتركة في 3 أعمدة

العثور على القيم المشتركة في 3 أعمدة باستخدام صيغ الصفائف

ماكرو VBA لاستخراج القيم الموجودة في الأعمدة الثلاثة جميعها


سهم أزرق فقاعة جهة اليمينالعثور على القيم المشتركة في 3 أعمدة باستخدام صيغ الصفائف

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

أدخل هذه الصيغة الصفيفية في خلية فارغة حيث تريد عرض أول قيمة مشتركة:

=LOOKUP("zzz",CHOOSE({1,2},"",INDEX(A$2:A$10,MATCH(0,COUNTIF(E$1:E1,A$2:A$10)+IF(IF(COUNTIF(B$2:B$8,A$2:A$10)>0,1,0)+IF(COUNTIF(C$2:C$9,A$2:A$10)>0,1,0)=2,0,1),0))))

كيفية استخدام هذه الصيغة الصفيفية:

  • بعد إدخال الصيغة في الخلية المحددة، اضغط علىShift + Ctrl + Enter (وليس مفتاح Enter فقط). سيقوم Excel بإحاطة الصيغة بأقواس مجعّدة للإشارة إلى أنها صيغة صفيفية.
  • اسحب الصيغة لأسفل العمود حتى تظهر خلايا فارغة، مما يُظهر جميع القيم المشتركة بين الأعمدة الثلاثة، حيث تدل الخلايا الفارغة على عدم وجود مطابقات إضافية.

العثور على القيم المشتركة في 3 أعمدة باستخدام صيغة صفيف

ملاحظات وشرح للمعاملات:

  1. إذا كنت تفضل صيغة صفيفية مختلفة، فإن هذه الصيغة أيضًا تُرجع جميع القيم الفريدة الموجودة في الأعمدة الثلاثة:
    =INDEX($A$2:$A$10, MATCH(0, COUNTIF($E$1:E1, $A$2:$A$10)+IF(IF(COUNTIF($B$2:$B$8, $A$2:$A$10)>0,1,0)+IF(COUNTIF($C$2:$C$9, $A$2:$A$10)>0,1,0)=2,0,1),0))
    مرة أخرى، تذكّر الضغط علىShift + Ctrl + Enter بعد كتابة الصيغة أو لصقها.
  2. في هذه الصيغ:
    • A2:A10،B2:B8، وC2:C9 هي النطاقات في كل عمود من الأعمدة الثلاثة التي ترغب في مقارنتها.
    • E1 تشير إلى الخلية الموجودة مباشرةً فوق المكان الذي تبدأ فيه صيغتك (لمنطق الاستبعاد). قم بتعديل مراجع الخلايا لتتناسب مع النطاق الفعلي لديك والموقع الذي ترغب في ظهور النتائج فيه.
  3. تعمل هذه الطرق بكفاءة مع مجموعات البيانات المتوسطة، لكنها قد تتباطأ عند التعامل مع أحجام بيانات كبيرة جدًّا بسبب الأعباء الحسابية المرتبطة بصيغ الصفائف.
  4. احرص على تجنّب تعديل نطاق المصدر أثناء التنفيذ، فقد يؤدي ذلك إلى نتائج غير دقيقة أو أخطاء في الصيغ.
  5. إذا احتوت النتيجة على صفوف فارغة، فهذا يعني أن جميع القيم المشتركة قد تم استخراجها بالفعل، ولا تحتوي الخلايا المتبقية على أي تقاطعات إضافية.
لقطة شاشة لـ kutools for excel الذكاء الاصطناعي

افتح سحر إكسل مع KUTOOLS AI

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

ماكرو VBA لاستخراج القيم الموجودة في الأعمدة الثلاثة جميعها

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

1. انقر علىالمطوّر > Visual Basicلفتح محرر VBA (إذا لم تكن علامة التبويب)المطوّرظاهرة، يمكنك تمكينها عبرملف > خيارات > تخصيص الشريط).

2. في محرر VBA، انقر علىإدراج > وحدة نمطيةلإنشاء وحدة جديدة. ثم الصق الكود أدناه في نافذة الوحدة:

Sub FindCommonValuesThreeColumns()
    Dim dict1 As Object
    Dim dict2 As Object
    Dim dict3 As Object
    Dim resultDict As Object
    Dim rngA As Range
    Dim rngB As Range
    Dim rngC As Range
    Dim cell As Range
    Dim outputRow As Long
    Dim key As Variant
    
    On Error Resume Next
    
    Set dict1 = CreateObject("Scripting.Dictionary")
    Set dict2 = CreateObject("Scripting.Dictionary")
    Set dict3 = CreateObject("Scripting.Dictionary")
    Set resultDict = CreateObject("Scripting.Dictionary")

    ' Prompt the user to select the three column ranges
    Set rngA = Application.InputBox("Select the first column range", "KutoolsforExcel", Selection.Address, Type:=8)
    Set rngB = Application.InputBox("Select the second column range", "KutoolsforExcel", Selection.Address, Type:=8)
    Set rngC = Application.InputBox("Select the third column range", "KutoolsforExcel", Selection.Address, Type:=8)

    ' Store all unique values from each column into corresponding dictionaries
    For Each cell In rngA
        If Not dict1.exists(cell.Value) And cell.Value <> "" Then
            dict1.Add cell.Value, 1
        End If
    Next

    For Each cell In rngB
        If Not dict2.exists(cell.Value) And cell.Value <> "" Then
            dict2.Add cell.Value, 1
        End If
    Next

    For Each cell In rngC
        If Not dict3.exists(cell.Value) And cell.Value <> "" Then
            dict3.Add cell.Value, 1
        End If
    Next

    ' Check which values exist in all three dictionaries
    For Each key In dict1.keys
        If dict2.exists(key) And dict3.exists(key) Then
            resultDict.Add key, 1
        End If
    Next

    ' Output result to next empty column on the active sheet
    outputRow = 1
    For Each key In resultDict.keys
        Cells(outputRow, Columns.Count).End(xlToLeft).Offset(0, 1).Value = key
        outputRow = outputRow + 1
    Next

    MsgBox "Common values extracted next to your data.", vbInformation, "KutoolsforExcel"
End Sub

3. في نافذة VBA، ومع تحديد الوحدة النمطية، اضغط علىF5 أو انقر زرتشغيل (▶) لتنفيذ الكود. بعد ذلك، سيتم مطالبتك بالتسلسل باختيار كل نطاق من نطاقات الأعمدة الثلاثة التي ترغب في مقارنتها. استخدم الماوس لتحديد الخلايا المناسبة في كل مطالبة.

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

تُعد هذه الطريقة فعّالة للغاية عند التعامل مع مجموعات بيانات كبيرة أو ديناميكية، ويمكن توسيعها بسهولة لتغطية أربعة أعمدة أو أكثر من خلال تكرار منطق القاموس. تذكّر دائمًا حفظ ملفك قبل تشغيل الماكرو، إذ لا يمكن التراجع عن التغييرات غير المحفوظة إذا قررت العودة إلى الحالة السابقة.

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

🤖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 يومًا بكامل الميزات— بدون تسجيل، بدون بطاقة ائتمان
  • أفضل قيمة— وفِّر مقارنةً بشراء الإضافات بشكل منفصل