دالة Excel XMATCH مع أمثلة الصيغة

  • شارك هذا
Michael Brown
البحث ولكنه يعمل بشكل صحيح فقط في القوائم المصنفة. في البيانات غير المفروزة ، يمكن أن تُرجع نتائج خاطئة قد تبدو طبيعية جدًا للوهلة الأولى.

لا يوفر بناء جملة MATCH وسيطة وضع البحث على الإطلاق.

يعالج XMATCH المصفوفات في الأصل

على عكس سابقتها ، تم تصميم وظيفة XMATCH لبرنامج Excel الديناميكي وتعالج المصفوفات في الأصل ، دون الحاجة إلى الضغط على Ctrl + Shift + Enter. هذا يجعل من السهل إنشاء الصيغ وتحريرها ، خاصة عند استخدام بعض الوظائف المختلفة معًا. ما عليك سوى مقارنة الحلول التالية:

  • الصيغة الحساسة لحالة الأحرف: XMATCH

    يقدم البرنامج التعليمي وظيفة Excel XMATCH الجديدة ويوضح كيف أنها أفضل من MATCH لحل بعض المهام الشائعة.

    في Excel 365 ، تمت إضافة وظيفة XMATCH لتحل محل دالة MATCH. ولكن قبل أن تبدأ في ترقية الصيغ الحالية ، سيكون من الحكمة فهم جميع مزايا الوظيفة الجديدة وكيف تختلف عن الوظيفة القديمة.

    باختصار ، وظيفة XMATCH هي نفسها MATCH ولكنها أكثر مرونة و قوي. يمكنه البحث في المصفوفات الرأسية والأفقية ، والبحث من أول إلى آخر أو من الأخير إلى الأول ، والعثور على التطابقات الدقيقة والتقريبية والجزئية ، واستخدام خوارزمية بحث ثنائية أسرع.

    وظيفة Excel XMATCH

    ترجع الدالة XMATCH في Excel الموضع النسبي لقيمة في صفيف أو نطاق من الخلايا.

    تحتوي على بناء الجملة التالي:

    XMATCH (lookup_value) ، lookup_array، [match_mode]، [search_mode])

    المكان:

    Lookup_value (مطلوب) - القيمة التي يجب البحث عنها.

    Lookup_array (مطلوب) - صفيف أو نطاق من الخلايا حيث يتم البحث.

    Match_mode (اختياري) - يحدد نوع المطابقة المراد استخدامه:

    • 0 أو محذوف (افتراضي) - مطابقة تامة
    • -1 - مطابقة تامة أو أصغر قيمة تالية
    • 1 - مطابقة تامة أو القيمة التالية الأكبر
    • 2 - مطابقة أحرف البدل ( *،؟)

    Search_mode (اختياري) - يحدد اتجاه البحث والخوارزمية:

    • 1 أو محذوف (افتراضي) -مباراة أو تالية أكبر. لا يتطلب أي فرز.

    عندما يتم تعيين الوسيطة match_mode / match_type على -1:

    • MATCH searches للمطابقة التامة أو التالية الأكبر. يتطلب فرز صفيف البحث بترتيب تنازلي.
    • يبحث XMATCH عن التطابق التام أو الأصغر التالي. لا يتطلب أي فرز.

    بحث حرف البدل

    للعثور على تطابقات جزئية مع XMATCH ، تحتاج إلى ضبط الوسيطة match_mode على 2.

    لا تحتوي وظيفة MATCH على خيار وضع مطابقة أحرف بدل خاص. في معظم الحالات ، ستقوم بتكوينه للمطابقة التامة ( match_type مضبوطة على 0) ، والتي تعمل أيضًا مع عمليات بحث أحرف البدل.

    وضع البحث

    مثل XLOOKUP الجديد وظيفة ، XMATCH لها وسيطة search_mode خاصة تسمح لك بتحديد اتجاه البحث :

    • 1 أو الإهمال (افتراضي) - البحث أولاً إلى -last.
    • -1 - البحث العكسي أخيرًا إلى أول.

    واختر خوارزمية بحث ثنائي ، وهي سريعة وفعالة جدًا في البيانات المصنفة .

    • 2 - البحث الثنائي على البيانات المصنفة تصاعديًا
    • -2 - البحث الثنائي على البيانات المصنفة تنازليًا.

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

  • -1 - البحث بترتيب عكسي من الأخير إلى الأول.
  • 2 - البحث الثنائي تصاعديًا. يتطلب lookup_array ليتم فرزها بترتيب تصاعدي.
  • -2 - بحث ثنائي تنازلي. يتطلب lookup_array ليتم فرزها بترتيب تنازلي.

البحث الثنائي هو خوارزمية أسرع تعمل بكفاءة على المصفوفات التي تم فرزها. لمزيد من المعلومات ، يرجى الاطلاع على وضع البحث.

ما هو إصدار Excel الذي يحتوي على XMATCH؟

تتوفر وظيفة XMATCH فقط في Excel لـ Microsoft 365 و Excel 2021. في Excel 2019 و Excel 2016 والإصدارات الأقدم الإصدارات ، هذه الوظيفة غير مدعومة.

صيغة XMATCH الأساسية في Excel

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

لنفترض أن لديك قائمة بالمحيطات مرتبة حسب حجمها (C2: C6) وترغب في العثور على رتبة محيط معين. للقيام بذلك ، ما عليك سوى استخدام اسم المحيط ، قل Indian ، كقيمة البحث وقائمة الأسماء الكاملة كمصفوفة البحث:

=XMATCH("Indian", C2:C6)

الصيغة أكثر مرونة ، أدخل محيط الاهتمام في بعض الخلايا ، قل F1:

=XMATCH(F1, C2:C6)

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

تعمل الصيغة المماثلة بشكل مثالي مع مصفوفة أفقية أيضًا. كل ما عليك فعله هو ضبط مرجع lookup_array :

=XMATCH(B5, B1:F1)

وظيفة Excel XMATCH - أشياء يجب تذكرها

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

  • إذا كان هناك تكراران أو أكثر لقيمة البحث في صفيف البحث ، فإن موضع يتم إرجاع أول تطابق إذا تم تعيين الوسيطة search_mode على 1 أو تم حذفها. مع تعيين search_mode على -1 ، تبحث الوظيفة بترتيب عكسي وتعيد موضع آخر تطابق كما هو موضح في هذا المثال.
  • إذا كانت قيمة البحث لم يتم العثور على ، حدث خطأ # N / A.
  • وظيفة XMATCH غير حساسة لحالة الأحرف بطبيعتها ولا يمكنها تمييز حالة الأحرف. للتمييز بين الأحرف الصغيرة والكبيرة ، استخدم صيغة XMATCH الحساسة لحالة الأحرف.

كيفية استخدام XMATCH في Excel - أمثلة الصيغة

ستساعدك الأمثلة التالية على اكتساب المزيد من الفهم حول دالة XMATCH واستخداماتها العملية.

تطابق تام مقابل تطابق تقريبي

يتم التحكم في سلوك المطابقة لـ XMATCH بواسطة الوسيطة الاختيارية match_mode :

  • 0 أو محذوف (افتراضي) - تبحث الصيغة فقط عن المطابقة التامة. إذا لم يتم العثور على تطابق تام ، أتم إرجاع الخطأ # N / A.
  • -1 - تبحث الصيغة عن المطابقة التامة أولاً ، ثم عن العنصر الأصغر التالي.
  • 1 - تبحث الصيغة عن المطابقة التامة أولاً ، و ثم للعنصر الأكبر التالي.

والآن ، دعنا نرى كيف تؤثر أوضاع المطابقة المختلفة على نتيجة الصيغة. لنفترض أنك تريد معرفة مكان وجود منطقة معينة ، على سبيل المثال 80.000.000 كيلومتر مربع ، بين جميع المحيطات.

تطابق تام

إذا كنت تستخدم 0 لـ match_mode ، فأنت ' سوف تحصل على خطأ # N / A ، لأن الصيغة لا يمكنها العثور على قيمة مساوية تمامًا لقيمة البحث:

=XMATCH(80000000, C2:C6, 0)

التالي الأصغر عنصر

إذا كنت تستخدم -1 من أجل match_mode ، ستُرجع الصيغة 3 ، لأن أقرب تطابق أصغر من قيمة البحث هو 70،560،000 ، وهو العنصر الثالث في صفيف البحث:

=XMATCH(80000000, C2:C6, -1)

العنصر الأكبر التالي

إذا كنت تستخدم 1 لـ match_mode ، فستخرج الصيغة 2 ، لأن أقرب تطابق أكبر من قيمة البحث هو 85133000 ، وهو العنصر الثاني في صفيف البحث :

=XMATCH(80000000, C2:C6, -1)

توضح الصورة أدناه جميع النتائج:

كيفية مطابقة النص الجزئي في Excel مع أحرف البدل

تحتوي وظيفة XMATCH على وضع تطابق خاص لأحرف البدل: تم تعيين الوسيطة match_mode على 2.

في وضع مطابقة أحرف البدل ، تقبل صيغة XMATCH حرف البدل التالي الأحرف:

  • علامة الاستفهام (؟) لمطابقة أي حرف واحد.
  • النجمة (*) لمطابقة أي حرفتسلسل من الأحرف.

يرجى مراعاة أن أحرف البدل تعمل فقط مع النص وليس الأرقام.

على سبيل المثال ، للعثور على موضع العنصر الأول الذي يبدأ بـ "الجنوب" ، الصيغة هي:

=XMATCH("south*", B2:B6, 2)

أو يمكنك كتابة تعبير حرف البدل في بعض الخلايا ، على سبيل المثال F1 ، وتوفير مرجع الخلية للوسيطة lookup_value :

=XMATCH(F1, B2:B6, 2)

مع معظم وظائف Excel ، يمكنك استخدام علامة التلدة (~) لمعاملة العلامة النجمية (~ *) أو علامة الاستفهام (~؟) على أنها حرفية الشخصيات ، وليس أحرف البدل. مع XMATCH ، ليست هناك حاجة للتيلدا. إذا لم تحدد وضع مطابقة أحرف البدل ، فسيقوم XMATCH بفرض ذلك؟ و * هي أحرف عادية.

على سبيل المثال ، ستبحث الصيغة أدناه في النطاق A2: A7 بالضبط عن حرف النجمة:

=XMATCH("*", A2:A7)

بحث XMATCH العكسي للعثور على آخر تطابق

في حالة وجود عدة تكرارات لقيمة البحث في مصفوفة البحث ، قد تحتاج أحيانًا إلى الحصول على موضع آخر ظهور .

يتم التحكم في اتجاه البحث في الوسيطة الرابعة من XMATCH المسمى search_mode . للبحث بترتيب عكسي ، أي من أسفل إلى أعلى في مصفوفة رأسية ومن اليمين إلى اليسار في مصفوفة أفقية ، يجب ضبط وضع_البحث على -1.

في هذا المثال ، سيعيد موضع السجل الأخير لقيمة بحث محددة (يرجى الاطلاع على لقطة الشاشة أدناه). لهذا ، قم بإعداد الحجج على أنهايتبع:

  • Lookup_value - مندوب المبيعات المستهدف في H1
  • Lookup_array - أسماء مندوبي المبيعات في C2: C10
  • Match_mode هو 0 أو تم حذفه (مطابقة تامة)
  • Search_mode هو -1 (من الأخير إلى الأول)

وضع الأربعة الوسيطات معًا ، نحصل على هذه الصيغة:

=XMATCH(H1, C2:C10, 0, -1)

التي تُرجع رقم البيع الأخير الذي أجرته Laura:

How to قارن عمودين في Excel للمطابقة

لمقارنة قائمتين للمطابقات ، يمكنك استخدام دالة XMATCH مع IF و ISNA:

IF (ISNA (XMATCH ( target_list، search_list، 0))، "No match"، "Match")

على سبيل المثال ، لمقارنة القائمة 2 في B2: B10 بالقائمة 1 في A2: A10 ، تأخذ الصيغة الشكل التالي:

=IF(ISNA(XMATCH(B2:B10, A2:A9)), "", "Match in List 1")

في هذا المثال ، نحدد التطابقات فقط ، وبالتالي فإن الوسيطة value_if_true لوظيفة IF هي سلسلة فارغة ("").

أدخل الصيغة أعلاه في الخلية العلوية (C2 في حالتنا) ، واضغط على Enter ، وسوف "تنسكب" في الخلايا الأخرى تلقائيًا (i يسمى t نطاق الانسكاب):

كيف تعمل هذه الصيغة

في قلب الصيغة ، تبحث دالة XMATCH لقيمة من القائمة 2 داخل القائمة 1. إذا تم العثور على قيمة ، يتم إرجاع موضعها النسبي ، وإلا فسيتم إرجاع الخطأ # N / A. في حالتنا ، نتيجة XMATCH هي المصفوفة التالية:

{#N/A;#N/A;2;#N/A;4;#N/A;#N/A;8;#N/A}

يتم تغذية هذه المجموعة بوظيفة ISNA ليتم فحصها بحثًا عن أخطاء # N / A.لكل خطأ # N / A ، ترجع ISNA TRUE ؛ لأية قيمة أخرى - FALSE. كنتيجة لذلك ، ينتج المصفوفة التالية من القيم المنطقية ، حيث تمثل TRUE غير متطابقات ، وتمثل FALSE المطابقات:

{TRUE;TRUE;FALSE;TRUE;FALSE;TRUE;TRUE;FALSE;TRUE}

تنتقل المصفوفة أعلاه إلى الاختبار المنطقي لوظيفة IF . اعتمادًا على كيفية تكوين الوسيطتين الأخيرتين ، ستخرج الصيغة النص المقابل. في حالتنا ، هي سلسلة فارغة ("") لغير المطابقات ( value_if_true ) و "مطابقة في القائمة 1" للمطابقات ( value_if_false ).

ملحوظة. تعمل هذه الصيغة فقط في Excel 365 و Excel 2021 اللذين يدعمان المصفوفات الديناميكية. إذا كنت تستخدم Excel 2019 أو Excel 2016 أو إصدارًا سابقًا ، فيرجى التحقق من الحلول الأخرى: كيفية مقارنة عمودين في Excel.

INDEX XMATCH في Excel

يمكن استخدام XMATCH مع الدالة INDEX لاسترداد قيمة من عمود آخر مرتبط بقيمة البحث ، تمامًا مثل صيغة INDEX MATCH. الطريقة العامة هي كما يلي:

INDEX ( إرجاع _ صفيف ، XMATCH ( lookup_value ، lookup_array )

المنطق واضح جدًا ويسهل اتباعه:

تحسب الدالة XMATCH الموضع النسبي لقيمة البحث في صفيف البحث وتمررها إلى الوسيطة row_num الخاصة بـ INDEX. استنادًا إلى الصف number ، ترجع الدالة INDEX قيمة من أي عمود تحدده.

على سبيل المثال ، للبحث عن المنطقةالمحيط في E1 ، يمكنك استخدام هذه الصيغة:

=INDEX(B2:B6, XMATCH(E1, A2:A6))

INDEX XMATCH XMATCH لإجراء بحث ثنائي الأبعاد

إلى ابحث في الأعمدة والصفوف في وقت واحد ، واستخدم INDEX مع دالتين XMATCH. سيحصل XMATCH الأول على رقم الصف وسيحصل الثاني على رقم العمود:

INDEX ( بيانات ، XMATCH ( lookup_value ، عمودي _ lookup_array ) ، XMATCH ( قيمة البحث ، أفقي _ lookup_array ))

تشبه الصيغة INDEX MATCH إلا أنك يمكن حذف الوسيطة match_mode نظرًا لأنها تتطابق افتراضيًا مع المطابقة التامة.

على سبيل المثال ، لاسترداد رقم مبيعات لعنصر معين (G1) في شهر معين (G2) ، تكون الصيغة :

=INDEX(B2:D8, XMATCH(G1, A2:A8), XMATCH(G2, B1:D1))

حيث B2: D8 هي خلايا بيانات باستثناء رؤوس الصفوف والأعمدة ، A2: A8 هي قائمة بالعناصر و B1: D1 هي أسماء الأشهر.

صيغة XMATCH الحساسة لحالة الأحرف

كما ذكرنا سابقًا ، تعتبر وظيفة Excel XMATCH غير حساسة لحالة الأحرف حسب التصميم. لإجبارها على التمييز بين حالة النص ، استخدم XMATCH مع وظيفة EXACT:

MATCH (TRUE، EXACT ( lookup_array ، lookup_value ))

للبحث في عكس الترتيب من الأخير إلى الأول:

MATCH (TRUE، EXACT ( lookup_array ، lookup_value )، 0، -1)

يوضح المثال التالي هذه الصيغة العامة في العمل. لنفترض أن لديك قائمة بمعرفات المنتج الحساسة لحالة الأحرف في B2: B11. أنت تبحث عنابحث عن الموضع النسبي للعنصر في E1. الصيغة الحساسة لحالة الأحرف في E2 بسيطة مثل:

=XMATCH(TRUE, EXACT(B2:B11, E1))

كيف تعمل هذه الصيغة:

تقارن الدالة EXACT قيمة البحث مقابل كل عنصر في صفيف البحث. إذا كانت القيم المقارنة متساوية تمامًا ، بما في ذلك حالة الأحرف ، فتُرجع الدالة TRUE و FALSE بخلاف ذلك. ينتقل هذا الصفيف من القيم المنطقية (حيث تمثل TRUE المطابقات التامة) إلى الوسيطة lookup_array في XMATCH. ونظرًا لأن قيمة البحث هي TRUE ، فإن دالة XMATCH ترجع موضع أول تطابق تام تم العثور عليه أو آخر تطابق تام ، اعتمادًا على كيفية تكوين الوسيطة وضع_البحث .

XMATCH مقابل. تم تصميم MATCH في Excel

XMATCH كبديل أكثر قوة ومتعدد الاستخدامات لـ MATCH ، وبالتالي فإن هاتين الوظيفتين لهما الكثير من القواسم المشتركة. ومع ذلك ، هناك اختلافات جوهرية.

سلوك افتراضي مختلف

وظيفة MATCH الافتراضية للمطابقة التامة أو العنصر الأصغر التالي ( نوع المطابقة مضبوط على 1 أو تم حذفه).

وظيفة XMATCH الافتراضية للمطابقة التامة ( match_mode مضبوطة على 0 أو محذوفة).

سلوك مختلف للمطابقة التقريبية

عندما تم تعيين الوسيطة / match_type على 1:

  • MATCH للبحث عن المطابقة التامة أو الأصغر التالي. يتطلب أن يتم فرز صفيف البحث بترتيب تصاعدي.
  • يبحث XMATCH عن الدقة

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