XLOOKUP مقابل INDEX-MATCH في Excel (جميع المقارنات الممكنة)

  • شارك هذا
Hugh West

سأقوم اليوم بإجراء تحليل مقارن لـ وظائف XLOOKUP مقابل وظائف INDEX-MATCH في Excel . في الإصدارات السابقة من Excel ، كنا نستخدم وظائف HLOOKUP و VLOOKUP و INDEX-MATCH للبحث عن قيمة محددة في نطاق من الخلايا. ومع ذلك ، مع ظهور Office 365 ، زودنا Excel بوظيفة جديدة وديناميكية تسمى وظيفة XLOOKUP لإجراء عملية مماثلة بشكل أكثر تعقيدًا. في هذه المقالة ، سأحاول مقارنة الوظائف المستخدمة على نطاق واسع ، XLOOKUP و INDEX-MATCH .

تنزيل Practice Workbook

احصل على نموذج الملف هذا لفهم أفضل.

XLOOKUP مقابل INDEX-MATCH Functions.xlsx

مقدمة إلى دالة XLOOKUP

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

بناء الجملة:

= XLOOKUP (lookup_value، lookup_array، return_array، [if_not_found] ، [match_mode]، [search_mode])

الوسيطات:

  • Lookup_value : إنها القيمة التي نحن البحث في عمود محدد من النطاق.
  • Lookup_array : إنها المصفوفة التي نبحث فيها عن lookup_value . يمكن أن يكون كلا من صف والمباراة الأولى أو الأخيرة. للحصول على القيمة الأولى المطابقة ، اضبط وسيطة نوع البحث على 1 . وللحصول على القيمة الأخيرة المطابقة ، اضبط الوسيطة search_type على -1 . لكن في INDEX-MATCH ليس لديك خيار. ستحصل فقط على القيمة الأولى التي تطابق.
  • للحصول على الطالب الأول الذي حصل على 100 ، يمكنك استخدام هذه الصيغة XLOOKUP في الخلية G5 .
=XLOOKUP(100,D5:D16,C5:C16,"Not Found",0,1)

  • إلى جانبها ، ستحصل على آخر طالب مع 100 باستخدام هذه الصيغة XLOOKUP .
=XLOOKUP(100,D5:D16,C5:C16,"Not Found",0,-1)

  • على العكس من ذلك ، ستحصل فقط على القيمة الأولى التي تتطابق مع هذه الصيغة INDEX-MATCH .
=INDEX(B5:E16,MATCH(100,D5:D16,0),2)

7. XLOOKUP و INDEX-MATCH في حالة قيم البحث المتعددة

في هذا المثال ، سوف نوضح XLOOKUP مقابل INDEX-MATCH في حالة وجود قيم بحث متعددة. هناك تشابه بين الوظيفتين في هذا الصدد. كلاهما يسمح بعدة lookup_values ​​ (Array Formula).

  • بالنسبة للدالة XLOOKUP ، ستعمل الصيغة التالية.
=XLOOKUP(G5:G8,B5:B16,E5:E16,"Not Found",0,1)

  • ثم ، بالنسبة إلى INDEX-MATCH ، ستعمل الوظيفة التالية أيضًا.
=INDEX(B5:E16,MATCH(G5:G8,B5:B16,0),4)

مزايا & amp؛ عيوب وظيفة XLOOKUP

هناك مزايا وعيوب معينة لاستخدام وظيفة XLOOKUP . دعونا نراهم بإيجاز.

المزايا

  • إعداد قيمة افتراضية لعدم وجود حالات مطابقة.
  • يمكن البحث عن التطابقات التقريبية دون فرز lookup_array .
  • حق الوصول للبحث من الخلية الأولى والخلية الأخيرة في lookup_array .

العيوب

  • يعمل بشكل أبطأ من INDEX-MATCH وظيفة .
  • متوفرة في Office 365 فقط.

Advantages & amp؛ amp؛ عيوب وظائف INDEX-MATCH

حصلت وظائف INDEX-MATCH أيضًا على بعض الإيجابيات والسلبيات التالية.

المزايا

  • يعمل أسرع من وظيفة XLOOKUP .
  • متوفرة في الإصدارات القديمة Excel .

العيوب

  • لا يمكن معالجة الأخطاء عند عدم العثور على تطابق.
  • يحتاج إلى فرز lookup_array للمطابقات التقريبية.
  • إرجاع القيمة الأولى فقط عندما تتطابق القيم المتعددة مع lookup_value .

الاستنتاج

أخيرًا ، وصلنا إلى نهاية مقالنا الطويل. حاولنا هنا إنشاء تحليل مقارن للوظائف XLOOKUP مقابل وظائف INDEX-MATCH في Excel. دعنا نعرف اقتراحاتك الثاقبة في هذا الشأن. اتبع ExcelWIKI لمزيد من الدروس.

العمود.
  • Return_array: هو العمود الذي ستُرجع منه القيمة المقابلة لـ lookup_value .
  • الوسائط الاختيارية:

    • If_not_found : إنها القيمة التي سيتم إرجاعها في حالة عدم احتواء lookup_array على lookup_value.
    • Match_mode : هو رقم يشير إلى نوع تطابق lookup_value الذي تريده. هذا جدل إختياري. يمكن أن يحتوي على أربع قيم.
    1. عندما يكون 0 ، XLOOKUP سيبحث عن تطابق تام (افتراضي).
    2. عندما يكون 1 ، سيبحث XLOOKUP أولاً عن تطابق تام. إذا لم يتم العثور على تطابق تام ، فسوف يتطابق مع القيمة الأصغر التالية.
    3. عندما تكون -1 ، سيبحث XLOOKUP أولاً عن التطابق التام. إذا لم يتم العثور على تطابق تام ، فسوف يتطابق مع القيمة الأكبر التالية.
    4. عندما يكون 2 ​​ ، سيبحث XLOOKUP أولاً عن تطابق تقريبي باستخدام أحرف البدل ( ينطبق على قيم البحث عن السلسلة فقط).
    • Search_mode : هو رقم يشير إلى نوع عملية البحث التي أجريت على lookup_array. هذا أيضًا اختياري. يمكن أن يحتوي أيضًا على أربع قيم:
    1. إذا كان 1 ، XLOOKUP سيبحث من أعلى إلى أسفل في lookup_array (افتراضي).
    2. عندما يكون -1 ، XLOOKUP سيبحث من أسفل إلى أعلى في
    3. إذا كان 2 ، XLOOKUP ستجريبحث ثنائي بترتيب تصاعدي.
    4. عندما يكون -2 ، XLOOKUP سيجري بحثًا ثنائيًا بترتيب تنازلي.

    مقدمة إلى وظائف INDEX-MATCH

    تُستخدم مجموعة وظائف INDEX-MATCH لجلب قيمة من موقع معين ومطابقتها مع نطاق المصدر.

    بناء الجملة:

    = INDEX (صفيف ، MATCH (lookup_value ، lookup_array ، match_type) ، no_of_column)

    الوسيطات:

    لوظيفة INDEX:

    • Array : هو نطاق من الخلايا التي نريد استخراج قيمة منها.
    • MATCH (lookup_value، lookup_array، match_type): إنه رقم صف النطاق حيث يتطابق lookup_value مع قيمة محددة في lookup_array .
    • No_of_column: إنه رقم عمود المصفوفة الذي نريد أن نعيد منه قيمة تقابل lookup_value .

    لوظيفة MATCH:

    • Lookup_value: إنها القيمة التي نبحث عنها.
    • Looku p_array: إنها المصفوفة التي نبحث فيها عن lookup_value . يمكن أن يكون صفًا وعمودًا.
    • Match_type: إنه عدد صحيح يشير إلى نوع التطابق الذي نبحث عنه. هذا اختياري.
    1. عندما يكون -1 ، MATCH سيبحث أولاً عن تطابق تام. في حالة عدم العثور على تطابق تام ، سيبحث عن القيمة الأكبر التالية (افتراضي)(عكس XLOOKUP ).

    لكن الشرط هو أنه يجب فرز lookup_array بترتيب تصاعدي. وإلا فسيظهر خطأ.

    1. عندما يكون 1 ، تطابق سيبحث أيضًا أولاً عن تطابق تام. في حالة عدم العثور على تطابق تام ، سيبحث عن القيمة الأصغر التالية (المقابلة لـ XLOOKUP ).

    لكن الشرط هو أن lookup_array يجب فرزها بترتيب تنازلي هذه المرة. وإلا فسيظهر خطأ.

    1. عندما يكون 0 ، MATCH سيبحث عن تطابق تام.

    قراءة المزيد: كيفية تحديد بيانات معينة في Excel (6 طرق)

    7 مقارنات بين استخدامات XLOOKUP ووظائف INDEX-MATCH

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

    نقطة المناقشة التشابه / الاختلاف الشرح
    Column lookup_array التشابه يدعم كلاهما عمودًا باعتباره lookup_array.
    البحث عن الصفوف_الصفيف التشابه كلاهما يدعم صفًا مثل lookup_array.
    لا يوجد تطابق لقيمة lookup_value عدم التشابه يحتوي XLOOKUP على خيار الإعداد الافتراضي لعدم تطابقابحث عن القيمة. ولكن لا تحتوي INDEX-MATCH.
    تطابق تقريبي تشابه جزئي يمكن لـ XLOOKUP اكتشاف الأصغر التالي أو القيمة الأكبر التالية في حالة عدم وجود تطابق تام. يمكن لـ INDEX-MATCH أيضًا القيام بذلك ، ولكن يجب فرز lookup_array بترتيب تصاعدي أو تنازلي.
    مطابقة أحرف البدل التشابه كلاهما يدعم مطابقة أحرف البدل.
    مطابقة القيم المتعددة التشابه الجزئي يمكن لـ XLOOKUP اكتشاف إما القيمة الأولى أو الأخيرة عندما تتطابق قيم متعددة. ولكن يمكن لـ INDEX-MATCH إرجاع القيمة الأولى المطابقة فقط.
    صيغة المصفوفة التشابه كلاهما يدعم المصفوفة الصيغة.

    1. XLOOKUP و INDEX-MATCH لقيمة البحث في العمود

    هناك تشابه بين الوظيفتين في هذا الجانب. بالنسبة لـ XLOOKUP و INDEX-MATCH ، يمكن أن يكون lookup_array عمودًا لكلتا الوظيفتين. نحن هنا نبحث عن العلامات الدقيقة في الفيزياء لاسم الطالب في C ell F5 ، Jennifer Marlo . أردنا البحث من أعلى إلى أسفل في العمود Student Name وإرجاع " Not Found " في حالة عدم العثور على تطابق.

    • لـ XLOOKUP ، طبق الصيغة في الخلية G5 .
    =XLOOKUP(F5,C5:C16,D5:D16,"Not Found",0,1)

    • بالنسبة إلى INDEX-MATCH ، استخدم هذه الصيغة في خلية G5 .
    =INDEX(B5:D16,MATCH(F5,C5:C16,0),3)

    اقرأ المزيد: كيفية مطابقة معايير متعددة من مصفوفات مختلفة في Excel

    2. XLOOKUP و INDEX-MATCH لقيمة البحث في الصف

    يوجد أيضًا تشابه بين الوظيفتين في هذا الجانب . بالنسبة إلى XLOOKUP و INDEX-MATCH ، يمكن أيضًا أن يكون lookup_array صفًا لكلتا الوظيفتين. للتوضيح ، لدينا مجموعة بيانات جديدة مع معرفات ، الأسماء ، و العلامات في الفيزياء و الدرجات .

    دعنا نفكر للحظة أن هذه مجموعة بيانات واسعة جدًا ، ولا نعرف ما هو رقم العمود الدرجة . بعد ذلك ، لمعرفة درجة طالب معين ، يتعين علينا استخدام صف العنوان (B4: E4) باعتباره lookup_array والكلمة " Grade " على أنها lookup_value . يمكننا تحقيق ذلك باستخدام كل من XLOOKUP و INDEX-MATCH .

    • لمعرفة درجة الطالب الثالث ، ستكون الصيغة XLOOKUP مثل هذه في خلية G5 .
    =XLOOKUP("Grade",B4:E4,B7:E7,"Not Found",0,1)

    • لهذه الحالة ، ستكون الصيغة INDEX-MATCH هي:
    =INDEX(B5:E16,3,MATCH("Grade",B4:E4,0))

    3. XLOOKUP و INDEX-MATCH عند عدم وجود تطابق

    تختلف الوظيفتان في هذا الجانب. إذا كانت lookup_value لا تتطابق مع أي قيمة في lookup_array ، فيمكنك تعيين قيمة ثابتة ليتم إرجاعها في XLOOKUP . للقيام بذلك ، عليك ضبط ذلكالقيمة في الوسيطة if_not_found . من ناحية أخرى ، لا يوجد مثل هذا الخيار في INDEX-MATCH . سيعود خطأ. يجب عليك استخدام الدالة IFERROR بالخارج لمعالجة الخطأ. في مجموعة البيانات المقدمة ، سنكتشف اسم الطالب بالمعرف 100 .

    • لهذا ، استخدم الصيغة التالية XLOOKUP في الخلية G5 .
    =XLOOKUP(100,B5:B16,C5:C16,"Not Found",0,1)

    • من ناحية أخرى ، قم بتطبيق هذا صيغة INDEX-MATCH .
    =INDEX(B5:E16,MATCH(100,B5:B16,0),2)

    • لأنها تعرض خطأ ، يجب استخدام وظيفة IFERROR بالخارج لمعالجة هذا الخطأ.
    =IFERROR(INDEX(B5:E16,MATCH(100,B5:B16,0),2),"Not Found")

    قراءات مماثلة

    • Excel INDEX MATCH لإرجاع قيم متعددة في خلية واحدة
    • معادلة Excel INDEX-MATCH لإرجاع قيم متعددة أفقيًا
    • كيفية استخدام صيغة INDEX-MATCH في Excel لإنشاء نتائج متعددة
    • [تم الإصلاح!] INDEX MATCH لا يُرجع القيمة الصحيحة في Excel (5 أسباب)
    • كيفية استخدام INDEX MATCH بدلاً من VLOOKUP في Excel (3 طرق)

    4. XLOOKUP و INDEX-MATCH في حالة المطابقات التقريبية

    يوجد تشابه جزئي بين الوظيفتين في هذا الجانب. في الدالة XLOOKUP ، إذا لم تتطابق قيمة lookup_value مع أي قيمة في lookup_array ، فيمكنك تعديل الصيغة لإرجاع القيمة الأصغر التالية أو القيمة الأكبر التالية . ضع الحجة match_type إلى -1 إذا كنت تريد القيمة الأصغر التالية وقم بتعيينها على 1 إذا كنت تريد القيمة الأكبر التالية.

    على سبيل المثال ، سنكتشف الطالب بعلامة 50 أو العلامة الأكبر التالية.

    • للعثور على القيمة ، قم بتطبيق صيغة XLOOKUP .
    =XLOOKUP(50,D5:D16,C5:C16,"Not Found",1,1)

    • كما ترى ، لا يوجد طالب بعلامة 50 . هذا هو السبب في أنه يظهر على الفور بعد 50 ، 51 بواسطة ديزموند هايز .

    هناك نفس الخيار في صيغة INDEX-MATCH . لكن العيب هو أنه يجب عليك فرز lookup_array بترتيب تنازلي إذا كنت تريد القيمة الأكبر التالية. خلاف ذلك ، فإنه سيعيد خطأ. وللحصول على القيمة الأصغر التالية ، يجب عليك الفرز بترتيب تصاعدي.

    • أولاً ، أدخل هذه الصيغة في خلية G5 .
    =INDEX(B5:E16,MATCH(50,D5:D16,-1),2)

    • نتيجة لذلك ، سترى أن النتيجة تعرض خطأ # N / A .
    • لذلك ، قم بفرز نطاق الخلايا D5: D16 بترتيب تصاعدي وستحصل على القيمة الصحيحة.

    ملاحظة خاصة:في وظيفة XLOOKUP، يعمل -1للقيمة الأصغر التالية ، ولكن في INDEX-MATCH، -1يعمل مع القيمة الأكبر التالية. وبالمثل في الدالة XLOOKUP، يعمل 1 للقيمة الأكبر التالية ، ولكن في INDEX-MATCH ، يعمل 1للقيمة الأصغر التالية.

    اقرأ المزيد: كيفية الاستخدامINDEX و Match for Partial Match (طريقتان)

    5. XLOOKUP و INDEX-MATCH في حالة مطابقة أحرف البدل

    هناك تشابه بين الوظيفتين في هذا الجانب. يدعم كل من XLOOKUP و INDEX-MATCH Wildcards . هنا ، سوف نتعرف على أي طالب يحمل الاسم الثاني " مارلو ". دعنا نتبع الخطوات أدناه لرؤية مقارنة XLOOKUP مقابل INDEX-MATCH .

    • أولاً ، قم بتطبيق هذه الصيغة XLOOKUP في خلية G5 للحصول على الإخراج.
    =XLOOKUP("*Marlo*",C5:C16,C5:C16,"Not Found",2,1)

    ملاحظة:لاستخدام أحرف البدل في XLOOKUP، يجب عليك تعيين الوسيطة match_typeعلى 2 ​​. خلاف ذلك ، لن يعمل.

    • من ناحية أخرى ، ستكون صيغة INDEX-MATCH لإنجاز نفس المهمة على هذا النحو.
    =INDEX(B5:E16,MATCH("*Marlo*",C5:C16,0),2)

    قراءة المزيد: INDEX MATCH معايير متعددة مع Wildcard في Excel (دليل كامل )

    6. XLOOKUP و INDEX-MATCH عند قيمة بحث تطابق قيم متعددة

    يوضح هذا المثال XLOOKUP مقابل INDEX-MATCH عندما قيم متعددة تطابق قيمة البحث. هناك أيضًا تشابه جزئي بين الوظيفتين في هذا الصدد. يقوم كل من XLOOKUP و INDEX-MATCH بإرجاع قيمة واحدة فقط في حالة تطابق القيم المتعددة في lookup_array مع lookup_value . ولكن في وظيفة XLOOKUP ، يمكنك تعديل البحث للحصول على أي منهما

    هيو ويست مدرب ومحلل إكسل ذو خبرة عالية ولديه أكثر من 10 سنوات من الخبرة في هذا المجال. حاصل على درجة البكالوريوس في المحاسبة والمالية ودرجة الماجستير في إدارة الأعمال. لدى هيو شغف بالتدريس وقد طور منهجًا تعليميًا فريدًا يسهل اتباعه وفهمه. ساعدت معرفته الخبيرة ببرنامج Excel الآلاف من الطلاب والمهنيين في جميع أنحاء العالم على تحسين مهاراتهم والتميز في حياتهم المهنية. من خلال مدونته ، يشارك Hugh معرفته مع العالم ، ويقدم دروسًا مجانية في Excel وتدريبًا عبر الإنترنت لمساعدة الأفراد والشركات على تحقيق إمكاناتهم الكاملة.