البحث عن آخر قيمة مطابقة
إرجاع أحدث تطابق باستخدام تقنيات البحث العكسي
البحث عن آخر قيمة مطابقة درس مجاني في Excel Formulas Academy على CoddyKit. هذا هو الدرس 2 من أصل 4. يمكنك قراءة الدرس كاملاً أدناه مجاناً — ثم تمرن عليه مباشرة في المتصفح باستخدام محرر أكواد مدمج ومدرس ذكاء اصطناعي متاح 24/7. هذا الدرس جزء من مسار التعلم في Excel Formulas Academy، وتقدمك يتزامن عبر الويب وتطبيق CoddyKit. تتضمن دورة Excel Formulas Academy 4 دروس في المجموع.
مشكلة العثور على التطابق الأخير
تُرجع معظم عمليات البحث أول تطابق تعثر عليه. لكنك قد ترغب أحيانًا في الحصول على آخر تطابق: أحدث سعر لمنتج، أو آخر تحديث لحالة، أو آخر إدخال لعميل.
عندما تكبر القائمة بمرور الوقت ويتكرر المفتاح نفسه عدة مرات، يكون الصف الأدنى عادةً هو الأحدث. أما VLOOKUP أو MATCH القياسي مع التطابق الدقيق، فسيختار الصف العلوي بدلًا من ذلك.
يوضح هذا الدرس عدة طرق موثوقة لاستخراج آخر قيمة مطابقة.
لماذا يعثر MATCH الدقيق على أول تطابق
تفحص MATCH(value, range, 0) النطاق من الأعلى إلى الأسفل وتتوقف عند أول تطابق دقيق تمامًا. إذا ظهر "Apple" في الصفوف 2 و5 و9، فستُرجع MATCH القيمة 2.
يكون ذلك مثاليًا عندما تكون المفاتيح فريدة، لكنه يتجاهل الصفوف الأحدث. وللوصول إلى آخر ظهور، نحتاج إلى أسلوب يبحث من الأسفل أو يُرجع موضع آخر تطابق.
=MATCH("Apple", A2:A10, 0)XLOOKUP مع البحث العكسي
إذا كان لديك إصدار حديث من Excel أو Google Sheets، فإن XLOOKUP يجعل ذلك سهلًا. يتحكم الوسيطان الخامس والسادس فيه في وضع التطابق واتجاه البحث.
مرّر -1 باعتباره وسيط وضع البحث للبحث من الأخير إلى الأول. عندئذٍ تُرجع XLOOKUP القيمة المرتبطة بالمفتاح المطابق في الصف الأدنى.
يبحث هذا المثال عن المنتج الموجود في G1 ضمن A2:A10، ويُرجع السعر المطابق من B2:B10، مع بدء البحث من الأسفل.
=XLOOKUP(G1, A2:A10, B2:B10, "Not found", 0, -1)خدعة LOOKUP الكلاسيكية
في جداول البيانات الأقدم، تستخدم خدعة معروفة LOOKUP مع الرقم 2 وعملية قسمة ذكية تعتمد على شرط.
ينتج التعبير 1/(A2:A10=G1) القيمة 1 للصفوف المطابقة، وينتج خطأ قسمة للصفوف غير المطابقة. وعند بحث LOOKUP عن 2، وهي قيمة أكبر من أي قيمة موجودة، فإنه يتجاوز الأخطاء ويصل إلى آخر قيمة 1 صحيحة، ثم يُرجع القيمة المطابقة من B2:B10.
=LOOKUP(2, 1/(A2:A10=G1), B2:B10)كيف تعمل خدعة LOOKUP
تتبّع التعبير 1/(A2:A10=G1) خطوةً بخطوة:
- تنتج الصفوف التي يطابق فيها المفتاح القيمة
1/TRUE= 1. - تنتج الصفوف غير المطابقة القيمة
1/FALSE= خطأ #DIV/0!.
يتجاهل LOOKUP الأخطاء، وعندما لا يعثر على هدفه (2)، يُرجع النتيجة المتوافقة مع آخر إدخال غير متضمن لخطأ. وبما أن جميع التطابقات تساوي 1، فإن آخر قيمة 1 هي التي تُعتمد، فتحصل على قيمة صف آخر تطابق.
=LOOKUP(2, 1/(A2:A10=G1), B2:B10)آخر تطابق باستخدام INDEX وMATCH
يمكنك أيضًا الاستمرار في استخدام عائلة INDEX-MATCH. تكمن الفكرة في العثور على موضع آخر تطابق، ثم تمريره إلى INDEX.
باستخدام خدعة القسمة نفسها داخل MATCH، ابحث عن 2 في 1/(A2:A10=G1) للحصول على موضع صف آخر تطابق. مرّر ذلك الموضع إلى INDEX على عمود الإرجاع.
=INDEX(B2:B10, MATCH(2, 1/(A2:A10=G1)))لماذا يعثر MATCH(2, ...) على آخر تطابق
عند حذف الوسيط الثالث من MATCH، تكون قيمته الافتراضية 1، أي تطابق تقريبي مع بيانات مرتبة تصاعديًا. عندئذٍ يبحث MATCH عن أكبر قيمة أقل من 2 أو مساوية لها.
تحتوي المصفوفة 1/(A2:A10=G1) على قيم 1 وأخطاء فقط. وأكبر قيمة لا تتجاوز 2 هي 1، لذلك يُرجع MATCH موضع آخر قيمة 1 من هذه القيم. وهذا الموضع هو بالضبط صف آخر تطابق.
=MATCH(2, 1/(A2:A10=G1))مثال عملي
لنفترض أن A2:A10 تسرد حالات الطلب "Order-7" المسجلة بمرور الوقت، وأن B2:B10 تحتوي على نص الحالة. يظهر "Order-7" في الصفوف 3 و6 و9.
- تضع مصفوفة التطابق علامة على الصفوف 3 و6 و9 بالقيمة 1، وتحوي بقية الصفوف أخطاء.
- تُرجع MATCH(2, ...) القيمة 9 باعتبارها الموضع، مع العد من بداية النطاق، أي آخر تطابق.
- تُرجع INDEX الحالة من ذلك الصف الأخير، أي أحدث حالة.
=INDEX(B2:B10, MATCH(2, 1/(A2:A10=G1)))اختيار الطريقة المناسبة
أي نهج ينبغي لك استخدامه؟
- XLOOKUP مع -1: الخيار الأنظف والأسهل قراءةً إذا كان تطبيقك يدعمه.
- LOOKUP(2, 1/...): يعمل في كل مكان تقريبًا، ولا يتطلب إصدارًا خاصًا.
- INDEX-MATCH(2, 1/...): مفيد عندما تحتاج أيضًا إلى الموضع أو ترغب في الإرجاع من عمود مختلف.
تُعطي الطرق الثلاث الإجابة نفسها؛ فاختر بناءً على الأدوات المتاحة لديك ومدى سهولة قراءة الصيغة التي تريده.
أخطاء شائعة
انتبه إلى المشكلات التالية:
- أحجام النطاقات غير المتطابقة: يجب أن يكون لنطاق الشرط ونطاق الإرجاع الارتفاع نفسه، وإلا فلن تتطابق الصفوف.
- التكرارات المخفية: قد تجعل المسافات الزائدة "Apple " مختلفة عن "Apple"؛ لذا نظّف النص أولًا باستخدام TRIM.
- عدم وجود أي تطابق: تُرجع الخدعة خطأً إذا لم يوجد تطابق. غلّفها داخل
IFERRORلتوفير قيمة بديلة مناسبة.
=IFERROR(LOOKUP(2, 1/(A2:A10=G1), B2:B10), "Not found")آخر تطابق باستخدام معايير متعددة
يمكنك دمج خدعة العثور على آخر تطابق مع شرطين. اضرب اختباري الشرطين داخل عملية القسمة، بحيث لا تنتج القيمة 1 إلا الصفوف التي تستوفي المفتاحين معًا.
على سبيل المثال، ابحث عن أحدث سعر يكون فيه المنتج مساويًا لـ G1 والمنطقة مساويةً لـ G2. وستصل خدعة LOOKUP(2, ...) مع ذلك إلى آخر صف مستوفٍ للشروط.
يفيد هذا في السجلات التي تتضمن طوابع زمنية، حيث يظهر المنتج نفسه في عدة مناطق.
=LOOKUP(2, 1/((A2:A10=G1)*(B2:B10=G2)), C2:C10)تحقق سريع
اختبر مدى استيعابك لعمليات البحث عن آخر تطابق.
مراجعة الدرس
لإرجاع آخر قيمة مطابقة بدلًا من أول قيمة:
- استخدم
XLOOKUP(..., -1)للبحث من الأسفل إلى الأعلى حيثما كان متاحًا. - استخدم خدعة
LOOKUP(2, 1/(range=key), result)الكلاسيكية في أي إصدار. - استخدم
INDEX(result, MATCH(2, 1/(range=key)))عندما تحتاج أيضًا إلى الموضع.
تذكر أن تحافظ على أحجام النطاقات نفسها، وأن تزيل المسافات الزائدة، وأن تغلف الصيغة داخل IFERROR لمزيد من الأمان.
=XLOOKUP(G1, A2:A10, B2:B10, "Not found", 0, -1)الأسئلة الشائعة
هل درس «البحث عن آخر قيمة مطابقة» مجاني؟
نعم — نص درس «البحث عن آخر قيمة مطابقة» كامل متاح مجاناً هنا على الويب. لتمرينه بشكل تفاعلي (محرر أكواد مدمج ومدرس ذكاء اصطناعي متاح 24/7) وفتح باقي دورة Excel Formulas Academy، انتقل إلى CoddyKit PRO. تتضمن دورة Excel Formulas Academy 4 دروس في المجموع.
ماذا ستتعلم في «البحث عن آخر قيمة مطابقة»؟
إرجاع أحدث تطابق باستخدام تقنيات البحث العكسي تتمرن على Excel Formulas Academy مع أكواد عملية تشغلها مباشرة في المتصفح، ومدرس ذكاء اصطناعي متاح 24/7 يجيب على أسئلتك أثناء عملك.
هل أحتاج إلى خبرة سابقة لأبدأ Excel Formulas Academy؟
لا تُشترط خبرة سابقة. Excel Formulas Academy على CoddyKit منظم للمبتدئين حتى المتقدمين، لذا يمكنك البدء من هنا أو من البداية والتقدم بسرعتك الخاصة. هذا هو الدرس 2 من أصل 4.
كم من الوقت يستغرق درس «البحث عن آخر قيمة مطابقة»؟
معظم دروس CoddyKit تستغرق حوالي 5–10 دقائق. كل منها موجز وتفاعلي، لذا تحرز تقدماً مستمراً وتستأنف من حيث توقفت عبر الويب والتطبيق.
هل يمكنني كتابة وتشغيل أكواد في درس Excel Formulas Academy هذا؟
نعم. كل درس في Excel Formulas Academy يتضمن محرر أكواد مدمج، لذا تكتب وتشغل أكواداً حقيقية مباشرة في متصفحك وتحصل على تعليقات فورية من الذكاء الاصطناعي — بدون إعداد محلي.
جميع الدروس في هذه الدورة
- عمليات البحث ثنائية الاتجاه باستخدام INDEX-MATCH-MATCH
- البحث عن آخر قيمة مطابقة
- عمليات البحث متعددة المعايير باستخدام INDEX-MATCH
- المطابقة التقريبية لجداول الشرائح