جدول المحتويات
يشرح هذا البرنامج التعليمي كيفية استخدام دالة MATCH في Excel مع أمثلة الصيغ. يوضح أيضًا كيفية تحسين صيغ البحث الخاصة بك عن طريق إنشاء صيغة ديناميكية باستخدام VLOOKUP و MATCH.
في Microsoft Excel ، هناك العديد من وظائف البحث / المرجع المختلفة التي يمكن أن تساعدك في العثور على قيمة معينة في نطاق من الخلايا ، و MATCH هو واحد منهم. بشكل أساسي ، يحدد موقعًا نسبيًا لعنصر ما في نطاق من الخلايا. ومع ذلك ، يمكن لوظيفة MATCH أن تفعل أكثر بكثير من جوهرها الخالص.
وظيفة Excel MATCH - بناء الجملة وتستخدم
تبحث وظيفة MATCH في Excel عن قيمة محددة في نطاق من الخلايا ، وإرجاع الموضع النسبي لتلك القيمة.
يكون بناء الجملة لدالة MATCH كما يلي:
MATCH (lookup_value، lookup_array، [match_type])Lookup_value (مطلوب) - القيمة التي تريد البحث عنها. يمكن أن تكون قيمة رقمية أو نصية أو منطقية بالإضافة إلى مرجع خلية.
Lookup_array (مطلوب) - نطاق الخلايا للبحث فيه.
Match_type (اختياري) - يحدد نوع المطابقة. يمكن أن تكون إحدى هذه القيم: 1 ، 0 ، -1. تقوم الوسيطة match_type المعينة على 0 بإرجاع المطابقة التامة فقط ، بينما يسمح النوعان الآخران بالمطابقة التقريبية.
- 1 أو مهملة (افتراضي) - ابحث عن أكبر قيمة في صفيف بحث أصغر من أو يساوي قيمة البحث. يتطلب فرز مجموعة البحث بترتيب تصاعدي ،المصنف للتنزيل
أمثلة صيغ Excel MATCH (ملف .xlsx)
من الأصغر إلى الأكبر أو من A إلى Z. - 0 - ابحث عن القيمة الأولى في المصفوفة التي تساوي تمامًا لقيمة البحث. لا يوجد فرز مطلوب.
- -1 - ابحث عن أصغر قيمة في المصفوفة أكبر من قيمة البحث أو مساوية لها. يجب فرز مصفوفة البحث بترتيب تنازلي ، من الأكبر إلى الأصغر أو من Z إلى A.
لفهم دالة MATCH بشكل أفضل ، دعنا نصنع صيغة بسيطة بناءً على هذه البيانات: أسماء الطلاب في العمود A ودرجات امتحاناتهم في العمود B ، مرتبة من الأكبر إلى الأصغر. لمعرفة أين يقف طالب معين (على سبيل المثال ، Laura ) من بين آخرين ، استخدم هذه الصيغة البسيطة:
=MATCH("Laura", A2:A8, 0)
اختياريًا ، يمكنك وضع قيمة البحث في بعض خلية (E1 في هذا المثال) وقم بالإشارة إلى تلك الخلية في صيغة Excel Match الخاصة بك:
=MATCH(E1, A2:A8, 0)
كما ترى في لقطة الشاشة أعلاه ، أسماء الطلاب يتم إدخالها بترتيب عشوائي ، وبالتالي قمنا بتعيين الوسيطة match_type على 0 (مطابقة تامة) ، لأن نوع المطابقة هذا فقط لا يتطلب قيم فرز في مصفوفة البحث. من الناحية الفنية ، تُرجع صيغة المطابقة الموضع النسبي للورا في النطاق. ولكن نظرًا لتصنيف الدرجات من الأكبر إلى الأصغر ، فإنها تخبرنا أيضًا أن Laura حصلت على خامس أفضل نتيجة بين جميع الطلاب.
نصيحة. في Excel 365 و Excel 2021 ، يمكنك استخدام وظيفة XMATCH ، وهي وريثة حديثة وأكثر قوةمن MATCH.
4 أشياء يجب أن تعرفها عن وظيفة MATCH
كما رأيت للتو ، فإن استخدام MATCH في Excel أمر سهل. ومع ذلك ، كما هو الحال مع أي وظيفة أخرى تقريبًا ، هناك بعض الخصائص المحددة التي يجب أن تكون على دراية بها:
- تعرض دالة MATCH الموضع النسبي لقيمة البحث في المصفوفة ، وليس القيمة نفسها.
- MATCH غير حساسة لحالة الأحرف ، مما يعني أنها لا تميز بين الأحرف الصغيرة والكبيرة عند التعامل مع القيم النصية.
- إذا يحتوي صفيف البحث على عدة تكرارات لقيمة البحث ، يتم إرجاع موضع القيمة الأولى.
- إذا لم يتم العثور على قيمة البحث في صفيف البحث ، يتم إرجاع الخطأ # N / A.
كيفية استخدام MATCH في Excel - أمثلة الصيغة
الآن بعد أن عرفت الاستخدامات الأساسية لوظيفة Excel MATCH ، دعنا نناقش بعض أمثلة الصيغ الأخرى التي تتجاوز الأساسيات.
تطابق جزئي مع أحرف البدل
مثل العديد من الوظائف الأخرى ، تتفهم MATCH أحرف البدل التالية:
- علامة الاستفهام (؟) - تحل محل أي حرف واحد
- النجمة (*) - تحل محل أي s معادلة الأحرف
ملاحظة. لا يمكن استخدام أحرف البدل إلا في صيغ المطابقة مع تعيين match_type على 0.
تكون صيغة المطابقة مع أحرف البدل مفيدة في المواقف التي لا تريد فيها مطابقة سلسلة النص بأكملها ، ولكن فقط بعض الأحرف أو جزء منها من السلسلة.لتوضيح هذه النقطة ، ضع في اعتبارك المثال التالي.
لنفترض أن لديك قائمة بائعي التجزئة الإقليميين وأرقام مبيعاتهم للشهر الماضي. تريد العثور على موضع نسبي لمورد معين في القائمة (مرتبة حسب مبالغ المبيعات بترتيب تنازلي) ولكن لا يمكنك تذكر اسمه تمامًا ، على الرغم من أنك تتذكر بعض الأحرف الأولى.
افتراض البائع الأسماء موجودة في النطاق A2: A11 ، وأنت تبحث عن الاسم الذي يبدأ بـ "car" ، فإن الصيغة تسير على النحو التالي:
=MATCH("car*", A2:A11,0)
لجعل صيغة المطابقة الخاصة بنا أكثر تنوعًا ، يمكنك كتابة قيمة البحث في بعض الخلايا (E1 في هذا المثال) ، وربط تلك الخلية بحرف البدل ، مثل هذا:
=MATCH(E1&"*", A2:A11,0)
كما هو موضح في لقطة الشاشة أدناه ، الصيغة إرجاع 2 ، وهو موضع "Carter":
لاستبدال حرف واحد فقط في قيمة البحث ، استخدم "؟" عامل تشغيل أحرف البدل ، مثل هذا:
=MATCH("ba?er", A2:A11,0)
ستتطابق الصيغة أعلاه مع الاسم " Baker " وتعيد تشغيل موضعها النسبي ، وهو 5.
صيغة MATCH الحساسة لحالة الأحرف
كما هو مذكور في بداية هذا البرنامج التعليمي ، لا تميز وظيفة MATCH الأحرف الكبيرة والصغيرة. لإنشاء صيغة مطابقة حساسة لحالة الأحرف ، استخدم MATCH مع الدالة EXACT التي تقارن الخلايا تمامًا ، بما في ذلك حالة الأحرف.
إليك الصيغة العامة لحالة الأحرف للمطابقةdata:
MATCH (TRUE، EXACT ( صفيف بحث ، قيمة البحث )، 0)تعمل الصيغة مع المنطق التالي:
- تقارن الدالة EXACT قيمة البحث مع كل عنصر من عناصر صفيف البحث. إذا كانت الخلايا التي تمت مقارنتها متساوية تمامًا ، فستُرجع الدالة TRUE ، و FALSE بخلاف ذلك.
- وبعد ذلك ، تقارن الدالة MATCH TRUE (وهي lookup_value ) مع كل قيمة في المصفوفة تم إرجاعها بواسطة EXACT ، ويعيد موضع التطابق الأول.
يُرجى الانتباه إلى أنها صيغة مصفوفة تتطلب الضغط على Ctrl + Shift + Enter لتكتمل بشكل صحيح.
بافتراض أن لديك قيمة البحث موجودة في الخلية E1 وصفيف البحث هو A2: A9 ، الصيغة كما يلي:
=MATCH(TRUE, EXACT(A2:A9,E1),0)
تُظهر لقطة الشاشة التالية صيغة المطابقة الحساسة لحالة الأحرف في Excel:
مقارنة عمودين للمطابقات والاختلافات (ISNA MATCH)
يعد التحقق من قائمتين للمطابقات والاختلافات أحد أكثر المهام شيوعًا في Excel ، ويمكن أن يكون بعدة طرق. صيغة ISNA / MATCH هي واحدة منها:
IF (ISNA (MATCH ( القيمة الأولى في List1 ، List2 ، 0))، "Not in List 1"، " ")لأي قيمة من القائمة 2 غير موجودة في القائمة 1 ، تُرجع الصيغة" ليس في القائمة 1 ". وإليك الطريقة:
- تبحث دالة MATCH عن قيمة من القائمة 1 داخل القائمة 2. إذا تم العثور على قيمة ، فإنها تُرجع موضعها النسبي ، الخطأ # N / Aبخلاف ذلك.
- تقوم وظيفة ISNA في Excel بعمل شيء واحد فقط - يتحقق من وجود أخطاء # N / A (بمعنى "غير متوفر"). إذا كانت القيمة المحددة هي الخطأ # N / A ، فإن الدالة تُرجع TRUE ، أو FALSE بخلاف ذلك. في حالتنا ، تعني TRUE أن القيمة من القائمة 1 غير موجودة في القائمة 2 (أي أن الخطأ # N / A يتم إرجاعه بواسطة MATCH).
- لأنه قد يكون محيرًا جدًا للمستخدمين لديك لرؤية TRUE للقيم التي لا تظهر في القائمة 1 ، يمكنك التفاف الدالة IF حول ISNA لعرض " ليس في القائمة 1 " بدلاً من ذلك ، أو أي نص تريده.
على سبيل المثال ، لمقارنة القيم الموجودة في العمود B مقابل القيم الموجودة في العمود A ، تأخذ الصيغة الشكل التالي (حيث B2 هي الخلية العليا):
=IF(ISNA(MATCH(B2,A:A,0)), "Not in List 1", "")
كما تتذكر ، وظيفة MATCH في Excel غير حساس لحالة الأحرف في حد ذاته. لجعله يميز حالة الأحرف ، قم بتضمين الدالة EXACT في الوسيطة lookup_array ، وتذكر الضغط على Ctrl + Shift + Enter لإكمال صيغة الصفيف :
=IF(ISNA(MATCH(TRUE, EXACT(A:A, B2),0)), "Not in List 1", "")
تُظهر لقطة الشاشة التالية كلا الصيغتين قيد العمل:
لمعرفة طرق أخرى لمقارنة قائمتين في Excel ، يرجى الاطلاع على البرنامج التعليمي التالي: كيف لمقارنة عمودين في Excel.
Excel VLOOKUP و MATCH
يفترض هذا المثال أن لديك بالفعل بعض المعرفة الأساسية بوظيفة Excel VLOOKUP. وإذا قمت بذلك ، فمن المحتمل أنك واجهت قيودًا عديدة (يمكن أن تكون النظرة العامة التفصيلية لهاوجدت في لماذا لا يعمل Excel VLOOKUP) وتبحث عن بديل أكثر قوة.
أحد أكثر عيوب VLOOKUP المزعجة هو أنه يتوقف عن العمل بعد إدراج أو حذف عمود داخل جدول بحث. يحدث هذا لأن VLOOKUP يسحب قيمة مطابقة بناءً على رقم عمود الإرجاع الذي تحدده (رقم الفهرس). نظرًا لأن رقم الفهرس هو "مشفر بشكل ثابت" في الصيغة ، فإن Excel غير قادر على ضبطه عند إضافة عمود (أعمدة) جديد إلى الجدول أو حذفه منه.
برنامج Excel تتعامل وظيفة MATCH مع الموضع النسبي لقيمة البحث ، مما يجعلها مناسبة تمامًا للوسيطة col_index_num الخاصة بـ VLOOKUP. بمعنى آخر ، بدلاً من تحديد عمود الإرجاع كرقم ثابت ، يمكنك استخدام MATCH للحصول على الموضع الحالي لهذا العمود.
لتسهيل فهم الأمور ، دعنا نستخدم الجدول مع درجات امتحان الطلاب مرة أخرى (على غرار ما استخدمناه في بداية هذا البرنامج التعليمي) ، ولكن هذه المرة سنقوم باسترداد النتيجة الحقيقية وليس الموضع النسبي.
بافتراض أن قيمة البحث في الخلية F1 ، فإن مصفوفة الجدول هي $ A $ 1: $ C $ 2 (من الممارسات الجيدة قفلها باستخدام مراجع الخلية المطلقة إذا كنت تخطط لنسخ الصيغة إلى خلايا أخرى) ، فإن الصيغة تسير على النحو التالي:
=VLOOKUP(F1, $A$1:$C$8, 3, FALSE)
تم تعيين الوسيطة الثالثة ( col_index_num ) على 3 لأن درجة الرياضيات التي نريد سحبها هي العمود الثالث فيالطاولة. كما ترى في لقطة الشاشة أدناه ، تعمل صيغة Vlookup العادية هذه بشكل جيد:
ولكن فقط حتى تقوم بإدراج أو حذف عمود (أعمدة):
فلماذا #REF! خطأ؟ نظرًا لأن تعيين col_index_num على 3 يخبر Excel بالحصول على قيمة من العمود الثالث ، بينما يوجد الآن عمودان فقط في صفيف الجدول.
لمنع حدوث مثل هذه الأشياء ، يمكنك إجراء صيغة Vlookup أكثر ديناميكية من خلال تضمين دالة المطابقة التالية:
MATCH(E2,A1:C1,0)
حيث:
- E2 هي قيمة البحث ، والتي تساوي تمامًا إلى اسم عمود الإرجاع ، أي العمود الذي تريد سحب قيمة منه ( درجة الرياضيات في هذا المثال).
- A1: C1 هي صفيف البحث الذي يحتوي على رؤوس الجدول.
والآن ، قم بتضمين وظيفة المطابقة هذه في col_index_num وسيطة صيغة Vlookup الخاصة بك ، مثل هذا:
=VLOOKUP(F1,$A$1:$C$8, MATCH(E2,$A$1:$C$1, 0), FALSE)
وتأكد من أنه يعمل بشكل لا تشوبه شائبة بغض النظر عن عدد الأعمدة التي تضيفها أو تحذفها:
في لقطة الشاشة أعلاه ، قمت بتأمين جميع مراجع الخلايا للصيغة لتعمل بشكل صحيح حتى لو يقوم المستخدمون بنقله إلى مكان آخر في ورقة العمل. أ يمكنك أن ترى في لقطة الشاشة أدناه ، تعمل الصيغة بشكل جيد بعد حذف عمود ؛ علاوة على ذلك ، يعد Excel ذكيًا بما يكفي لضبط المراجع المطلقة بشكل صحيح في هذه الحالة:
Excel HLOOKUP و MATCH
بطريقة مماثلة ، يمكنك استخدام Excel MATCH وظيفة لتحسين صيغ HLOOKUP الخاصة بك. المبدأ العام هو نفسه في حالة Vlookup: يمكنك استخدام دالة Match للحصول على الموضع النسبي لعمود الإرجاع ، وتزويد هذا الرقم إلى row_index_num وسيطة صيغة Hlookup الخاصة بك.
بافتراض أن قيمة البحث موجودة في الخلية B5 ، صفيف الجدول هو B1: H3 ، اسم صف الإرجاع (قيمة البحث عن MATCH) موجود في الخلية A6 ورؤوس الصفوف A1: A3 ، الصيغة الكاملة كما يلي:
=HLOOKUP(B5, B1:H3, MATCH(A6, A1:A3, 0), FALSE)
كما رأيت للتو ، مزيج Hlookup / Vlookup & amp؛ المطابقة هي بالتأكيد تحسين على صيغ Hlookup و Vlookup العادية. ومع ذلك ، فإن وظيفة MATCH لا تلغي كل قيودها. على وجه الخصوص ، لا تزال صيغة Vlookup Match غير قادرة على النظر إلى يسارها ، ويفشل Hlookup Match في البحث في أي صف بخلاف الصف العلوي.
للتغلب على القيود المذكورة أعلاه (وبعض القيود الأخرى) ، ضع في اعتبارك استخدام مزيج من INDEX MATCH ، والذي يوفر طريقة قوية ومتعددة الاستخدامات للقيام بالبحث في Excel ، متفوقة على Vlookup و Hlookup في كثير من النواحي. يمكن العثور على الإرشادات التفصيلية وأمثلة الصيغة في INDEX & amp؛ MATCH in Excel - بديل أفضل لـ VLOOKUP.
هذه هي الطريقة التي تستخدم بها صيغ MATCH في Excel. نأمل أن تكون الأمثلة التي تمت مناقشتها في هذا البرنامج التعليمي مفيدة في عملك. أشكرك على القراءة وآمل أن أراك على مدونتنا الأسبوع المقبل!