العثور على القيم المفقودة
ثمة حالات تتطلب مقارنة قائمتين في Excel للتحقق مما إذا كانت قيمة من القائمة A موجودة في القائمة B. على سبيل المثال، لديك قائمة منتجات وتريد التأكد من وجودها في قائمة المنتجات التي قدّمها لك المورِّد. ولإنجاز هذه المهمة، نعرض أدناه ثلاث طرق—اختر ما يناسبك منها دون تردد!

العثور على القيم المفقودة باستخدام MATCH وISNA وIF
العثور على القيم المفقودة باستخدام VLOOKUP وISNA وIF
العثور على القيم المفقودة باستخدام COUNTIF وIF
العثور على القيم المفقودة باستخدام MATCH وISNA وIF
لمعرفةما إذا كانت جميع المنتجات في قائمتك موجودة في قائمة المورِّدكما هو موضح في لقطة الشاشة أعلاه، ابدأ باستخدام دالة MATCH لاسترداد موضع منتج من قائمتك (قيمة القائمة A) في قائمة المورِّد (القائمة B). ستُرجع الدالة خطأ #N/A إذا لم يُعثر على المنتج. بعد ذلك، مرِّر النتيجة إلى دالة ISNA لتحويل أخطاء #N/A إلى قيم TRUE، ما يشير إلى أن هذه المنتجات مفقودة. وأخيرًا، استخدم دالة IF للحصول على النتيجة التي تتوقعها.
الصيغة العامة
=IF(ISNA(MATCH()))«lookup_value»,lookup_range,0)),«Missing»,«Found»)
√ ملاحظة: يمكنك تغيير القيمتين «Missing» و«Found» إلى أي قيمتين تفضلهما.
- lookup_value: القيمة التي تستخدمها دالة MATCH لتحديد موضعها إذا وُجدت فيlookup_range، أو إرجاع خطأ #N/A إذا لم تُوجد. وتشير هنا إلى المنتجات في قائمتك.
- lookup_range: النطاق الذي تتم مقارنته بـlookup_value، ويشير هنا إلى قائمة منتجات المورِّد.
لمعرفةما إذا كانت جميع المنتجات في قائمتك موجودة في قائمة المورِّد، يُرجى نسخ الصيغة أدناه أو إدخالها في الخلية H6، ثم الضغط علىEnterللحصول على النتيجة:
=IF(ISNA(MATCH()))30002,$B$6:$B$10,0)),«Missing»,«Found»)
أو، استخدم مرجع الخلية لجعل الصيغة ديناميكية:
=IF(ISNA(MATCH()))G6,$B$6:$B$10,0)),«Missing»,«Found»)
√ ملاحظة: تشير علامات الدولار ($) أعلاه إلى مراجع مطلقة، ما يعني أننطاق_البحثفي الصيغة لن يتغيّر عند نسخ الصيغة أو نقلها إلى خلايا أخرى. ومع ذلك، لم تُضف علامات الدولار إلىقيمة_البحثلأنك تريد أن تظل ديناميكية. بعد إدخال الصيغة، اسحب مقبض التعبئة لأسفل لتطبيقها على الخلايا الموجودة أدناه.

شرح الصيغة
سنستخدم هنا الصيغة أدناه كمثال:
=IF()ISNA()MATCH(G8,$B$6:$B$10,0)),«Missing»,«Found»)
- MATCH(G8,$B$6:$B$10,0):يُلزم معاملmatch_type ذو القيمة0 دالةMATCH بإرجاع رقم يشير إلى موضع أول تطابق للقيمة3004 (الموجودة في الخلية G8) ضمن المصفوفة$B$6:$B$10. ولكن بما أن الدالة لم تعثر على هذه القيمة في مصفوفة البحث، فإنها سترجع خطأً من نوع#N/A.
- ISNA()MATCH(G8,$B$6:$B$10,0))=ISNA()#N/A):تُستخدم دالة ISNA لتحديد ما إذا كانت القيمة تحتوي على خطأ «#N/A» أم لا. فإذا كانت كذلك، تُرجع الدالة TRUE؛ أما إذا كانت القيمة أي شيء آخر غير هذا الخطأ، فتُرجع FALSE. وبناءً عليه، فإن صيغة ISNA هذه سترجعTRUE.
- IF()ISNA()MATCH(G8,$B$6:$B$10,0)),«Missing»,«Found») = IF(TRUE,«Missing»,«Found»):ستُرجع دالة IF القيمة «Missing» إذا كانت نتيجة الدالتين ISNA وMATCH هي TRUE، وإلا فستُرجع «Found». لذلك، ستُرجع الصيغةMissing.
العثور على القيم المفقودة باستخدام VLOOKUP وISNA وIF
لمعرفة ما إذا كانت جميع المنتجات في قائمتك موجودة في قائمة مورّدك، يمكنك استبدال دالة MATCH أعلاه بدالة VLOOKUP، لأنها تعمل بنفس طريقة MATCH حيث تُرجع خطأ #N/A إذا لم تكن القيمة موجودة في القائمة الأخرى، أو بعبارة أخرى، فهي مفقودة.
الصيغة العامة
=IF(ISNA(VLOOKUP()))«lookup_value»,lookup_range,1,FALSE)),«Missing»,«Found»)
√ ملاحظة: يمكنك تغيير القيمتين «Missing» و«Found» إلى أي قيم تريدها.
- lookup_value: القيمة التي تستخدمها دالة VLOOKUP للعثور على موضعها فيlookup_range، وإذا وُجدت، يتم استرداد القيمة المقابلة لها؛ أما إذا لم تُوجد، فتُرجع الخطأ #N/A. وتشير هنا إلى المنتجات في قائمتك.
- lookup_range: هو نطاق الخلايا الذي يُقارَن معlookup_value، ويشير هنا إلى قائمة منتجات المورِّد.
لمعرفة ما إذا كانت جميع المنتجات في قائمتك موجودة في قائمة مورّدك، يُرجى نسخ الصيغة أدناه أو إدخالها في الخلية H6، ثم اضغطEnterللحصول على النتيجة:
=IF(ISNA(VLOOKUP()))30002,$B$6:$B$10،1،FALSE))،«Missing»،«Found»)
أو، استخدم مرجع الخلية لجعل الصيغة ديناميكية:
=IF(ISNA(VLOOKUP()))G6,$B$6:$B$10،1،FALSE))،«Missing»،«Found»)
√ ملاحظة: تشير علامات الدولار ($) أعلاه إلى مراجع مطلقة، ما يعني أننطاق_البحثفي الصيغة لن يتغيّر عند نقل الصيغة أو نسخها إلى خلايا أخرى. ومع ذلك، لم تُضف علامات الدولار إلىقيمة_البحثلأنك تريد أن تكون ديناميكية. بعد إدخال الصيغة، اسحب مقبض التعبئة لأسفل لتطبيق الصيغة على الخلايا الموجودة أدناه.

شرح الصيغة
سنستخدم هنا الصيغة أدناه كمثال:
=IF()ISNA()VLOOKUP(G8,$B$6:$B$10,1,FALSE)),«Missing»,«Found»)
- VLOOKUP(G8,$B$6:$B$10,1,FALSE):يُجبر المعاملFALSE دالة VLOOKUP على البحث عن قيمة تتطابق تمامًا مع3004، وهي القيمة الموجودة في الخلية G8. فإذا وُجدت القيمة المطلوبة3004 في العمود الأول من المصفوفة$B$6:$B$10(المُشار إليها كمصفوفة)1)، فستُرجع الدالة تلك القيمة؛ وإلا فستُرجع خطأً من نوع#N/A. وهنا، وبما أن القيمة 3004 غير موجودة في المصفوفة، فإن النتيجة ستكون#N/A.
- ISNA()VLOOKUP(G8,$B$6:$B$10,1,FALSE))=ISNA()#N/A):تُستخدم دالة ISNA لتحديد ما إذا كانت القيمة تمثّل خطأً من نوع «#N/A» أم لا. فإذا كانت كذلك، تُرجع الدالةTRUE؛ أما إذا كانت القيمة أي شيء آخر غير هذا الخطأ، فتُرجع FALSE. ولذلك، ستُرجع صيغة ISNA هذهTRUE.
- IF()ISNA()VLOOKUP(G8,$B$6:$B$10,1,FALSE)),«Missing»,«Found») = IF(TRUE,«Missing»,«Found»):ستُرجع دالة IF القيمة «Missing» إذا كانت نتيجة الدالتين ISNA وVLOOKUP هي TRUE، وإلا فستُرجع «Found». لذلك، سترجع الصيغةMissing.
العثور على القيم المفقودة باستخدام COUNTIF وIF
لمعرفة ما إذا كانت جميع المنتجات في قائمتك موجودة في قائمة مورّدك، يمكنك استخدام صيغة أبسط مع دالتَي COUNTIF وIF. تستفيد هذه الصيغة من حقيقة أن Excel سيُقيّم أي رقم باستثناء الصفر (0) على أنه TRUE. لذا، إذا كانت القيمة موجودة في القائمة الأخرى، فستُعيد دالة COUNTIF عدد مرات ظهورها في تلك القائمة، وعندها ستتعامل دالة IF مع هذا الرقم كقيمة TRUE؛ أما إذا لم تكن القيمة موجودة في القائمة، فستُعيد دالة COUNTIF 0، وستتعامل دالة IF معها كقيمة FALSE.
الصيغة العامة
=IF(COUNTIF())«lookup_range»,lookup_value),«Found»,«Missing»)
√ ملاحظة: يمكنك تغيير القيمتين «Found» و«Missing» إلى أي قيم تريدها.
- lookup_range: نطاق الخلايا الذي يُقارَن بـlookup_value، ويشير هنا إلى قائمة منتجات المورِّد.
- lookup_value: القيمة التي تستخدمها دالة COUNTIF لإرجاع عدد مرات ظهورها فيlookup_range. وتشير هنا إلى المنتجات في قائمتك.
لمعرفة ما إذا كانت جميع المنتجات في قائمتك موجودة في قائمة مورّدك، يُرجى نسخ الصيغة أدناه أو إدخالها في الخلية H6، ثم اضغطEnterللحصول على النتيجة:
=IF(COUNTIF())$B$6:$B$10,30002)،«Found»،«Missing»)
أو، استخدم مرجع الخلية لجعل الصيغة ديناميكية:
=IF(COUNTIF())$B$6:$B$10,G6)،«Found»،«Missing»)
√ ملاحظة: تشير علامات الدولار ($) أعلاه إلى مراجع مطلقة، ما يعني أننطاق_البحثفي الصيغة لن يتغيّر عند نقل الصيغة أو نسخها إلى خلايا أخرى. ومع ذلك، لم تُضف علامات الدولار إلىقيمة_البحثلأنك تريد أن تكون ديناميكية. بعد إدخال الصيغة، اسحب مقبض التعبئة لأسفل لتطبيق الصيغة على الخلايا الموجودة أدناه.

شرح الصيغة
سنستخدم هنا الصيغة أدناه كمثال:
=IF()COUNTIF($B$6:$B$10,G8),«Found»,«Missing»)
- COUNTIF($B$6:$B$10,G8): تعد دالةCOUNTIF عدد المرات التي تظهر فيها القيمة3004 —وهي القيمة الموجودة في الخلية G8— ضمن النطاق$B$6:$B$10. ومن الواضح أن القيمة 3004 غير موجودة في هذا النطاق، لذا ستكون النتيجة0.
- IF()COUNTIF($B$6:$B$10,G8),«Found»,«Missing») = IF(0,«Found»,«Missing»): ستُقيَّم دالة IF القيمة 0 على أنها FALSE، ولذلك سترجع الصيغةMissing، وهي القيمة المُرجَعة عندما تكون الحجة الأولى FALSE.
الدوال ذات الصلة
تُعد دالة IF إحدى أبسط الدوال وأكثرها فائدة في مصنف Excel، إذ تنفّذ اختبارًا منطقيًّا بسيطًا وتُرجع قيمةً ما إذا كانت النتيجة TRUE، أو قيمةً أخرى إذا كانت النتيجة FALSE.
تبحث دالة Excel MATCH عن قيمة معيّنة ضمن نطاق من الخلايا، وتعيد الموضع النسبي لتلك القيمة.
تبحث دالة Excel VLOOKUP عن قيمة عبر مطابقتها في العمود الأول من جدول، ثم تُرجع القيمة المقابلة من عمود معيّن ضمن نفس الصف.
دالة COUNTIF هي دالة إحصائية في Excel تُستخدم لحساب عدد الخلايا التي تستوفي شرطًا معيّنًا. وتدعم عوامل التشغيل المنطقية (، و<)، وأحرف البدل (؟ و*) للمطابقة الجزئية.
الصيغ ذات الصلة
البحث عن قيمة تحتوي على نص معيّن باستخدام أحرف البدل
للعثور على أول تطابق يحتوي على سلسلة نصية معيّنة في نطاق في Excel، يمكنك استخدام دالتي INDEX وتمييز الصيغ مع أحرف البدل – النجمة (*) وعلامة الاستفهام (؟).
المطابقة الجزئية باستخدام VLOOKUP
في بعض الأحيان، تحتاج إلى استرداد البيانات في Excel بناءً على معلومات جزئية. ولحل هذه المشكلة، يمكنك استخدام صيغة VLOOKUP مع أحرف البدل – النجمة (*) وعلامة الاستفهام (؟).
المطابقة التقريبية باستخدام INDEX وMATCH
في بعض الأحيان، نحتاج إلى إيجاد تطابقات تقريبية في Excel لتقييم أداء الموظفين، أو تصنيف درجات الطلاب، أو حساب رسوم البريد بناءً على الوزن، إلخ. في هذا البرنامج التعليمي، سنشرح كيفية استخدام دالتي INDEX وMATCH لاسترداد النتائج التي نحتاجها.
البحث عن أقرب قيمة مطابقة باستخدام معايير متعددة
في بعض الحالات، قد تحتاج إلى البحث عن أقرب قيمة مطابقة أو تقريبية بناءً على أكثر من معيار واحد. باستخدام مجموعة من دالات INDEX وMATCH وIF، يمكنك إنجاز ذلك بسرعة في Excel.
أفضل أدوات الإنتاجية للمكتب
Kutools لـ Excel - يساعدك على التميز بين الحشود
Kutools لـ Excel يضم أكثر من 300 ميزة،مما يضمن أن ما تحتاجه يكون على بعد نقرة واحدة فقط...
Office Tab - تمكين القراءة والتحرير بعلامات التبويب في Microsoft Office (بما في ذلك Excel)
- ثانية واحدة للتبديل بين عشرات المستندات المفتوحة!
- يوفر لك مئات النقرات يوميًا، وقل وداعًا لألم يد الفأرة!
- يزيد من إنتاجيتك بنسبة 50% عند عرض وتحرير مستندات متعددة.
- يجلب كفاءة علامات التبويب إلى Office (بما في ذلك Excel)، تمامًا كما في Chrome وEdge وFirefox.