Menu
flag Ar iconالعربيةdown icon

دالة INDEX MATCH في الاكسل: البحث يسارًا وفي اتجاهين

تجد =INDEX(C2:C6,MATCH(F2,A2:A6,0)) صف F2 في العمود A وتعيد القيمة من ذلك الصف في العمود C. تبحث إلى اليسار، وتبحث في اتجاهين، وتعمل في كل إصدارات الاكسل.

كل ورقة في هذه الصفحة تفاعلية: غيّر رقمًا أو صيغة وسيُعاد الحساب.

تجد =INDEX(C2:C6,MATCH(F2,A2:A6,0)) الصف الذي تظهر فيه F2 داخل A2:A6 وتعيد القيمة من الصف نفسه في C2:C6. تجد MATCH الموضع، وتجلب INDEX القيمة الموجودة في ذلك الموضع. تعمل في كل إصدارات الاكسل، وتستطيع البحث إلى اليسار.

سعر منتج
G2
ABCDEFG
1ProductCategoryPriceCodeLook forPrice
2AppleFruit$1.20P-101Pear$1.50
3PearFruit$1.50P-102
4CarrotVegetable$0.80P-205
5BreadBakery$2.40P-310
6MilkDairy$1.10P-412
انقر على خلية لترى صيغتها. غيّر رقمًا أو صيغة وستعيد الورقة الحساب.

غيّر F2 إلى Milk فتعيد G2 القيمة $1.10. وغيّر C2:C6 إلى B2:B6 فتعيد الفئة بدلًا من ذلك.

كيف تعمل INDEX وMATCH معًا

الصيغة خطوتان في خلية واحدة. وهنا هما في خليتين منفصلتين، لترى ما يعيده كل جزء.

الخطوتان، كل واحدة في خلية
G3
ABCDEFG
1ProductCategoryPriceCodeLook forBread
2AppleFruit$1.20P-101Position4
3PearFruit$1.50P-102Price$2.40
4CarrotVegetable$0.80P-205
5BreadBakery$2.40P-310
6MilkDairy$1.10P-412
انقر على خلية لترى صيغتها. غيّر رقمًا أو صيغة وستعيد الورقة الحساب.

تعيد MATCH(G1,A2:A6,0) القيمة 4، لأن Bread هو العنصر الرابع في A2:A6. وتعيد INDEX(C2:C6,4) العنصر الرابع في C2:C6، أي $2.40. ضع MATCH داخل INDEX مكان G2 فتحصل على صيغة الخلية الواحدة. قاعدتان تجعلانها تعمل:

  • يجب أن يبدأ النطاقان في الصف نفسه وأن يكون لهما الارتفاع نفسه. تعدّ MATCH(...,A2:A6,0) من الصف 2، لذا يجب أن تقرأ INDEX النطاق C2:C6، لا C1:C6 (الذي سيعيد الصف الذي فوقه).
  • اختم MATCH بالرقم 0. بدونه تجري MATCH مطابقة تقريبية تفترض أن العمود A مرتب، وعلى قائمة أسماء قد تعيد موضع الصف الخطأ. تتناول صفحة MATCH أنواع المطابقة الثلاثة فيها.

إذا لم تكن القيمة في القائمة، تعيد MATCH الخطأ #N/A وكذلك الصيغة كلها. وتعرض =IFNA(INDEX(C2:C6,MATCH(F2,A2:A6,0)),"Not found") نصًا بدلًا من ذلك.

البحث إلى اليسار

تعيد VLOOKUP الأعمدة الواقعة على يمين العمود الذي تبحث فيه. أما INDEX وMATCH فلا يهمهما الترتيب: ابحث في العمود D، وأعد العمود A.

اسم المنتج من رمزه
G2
ABCDEFG
1ProductCategoryPriceCodeCodeProduct
2AppleFruit$1.20P-101P-310Bread
3PearFruit$1.50P-102
4CarrotVegetable$0.80P-205
5BreadBakery$2.40P-310
6MilkDairy$1.10P-412
انقر على خلية لترى صيغتها. غيّر رقمًا أو صيغة وستعيد الورقة الحساب.

يعيد الرمز P-310 المنتج Bread. اكتب P-205 في F2 لتحصل على Carrot. ومع VLOOKUP كان عليك أن تنقل عمود Code إلى بداية الجدول أولًا.

البحث في اتجاهين: INDEX مع دالتي MATCH

تأخذ INDEX رقم صف ورقم عمود. أعطها جدولًا كاملًا ودع دالة MATCH تجد الصف وأخرى تجد العمود.

المبيعات حسب المنطقة والشهر
B8
ABCD
1RegionJanFebMar
2North4,2003,9004,800
3South3,1003,6003,300
4East5,2004,7005,600
5West2,8003,0003,400
6RegionEast
7MonthMar
8Sales5,600
انقر على خلية لترى صيغتها. غيّر رقمًا أو صيغة وستعيد الورقة الحساب.

East هي الصف 3 في A2:A5 وMar هو العمود 3 في B1:D1، لذا تعيد INDEX الصف 3 والعمود 3 من B2:D5: 5,600. تبحث MATCH الخاصة بالصف نزولًا في العمود الأول، وتبحث MATCH الخاصة بالعمود أفقيًا في صف العناوين، ويتوافق النطاقان كلاهما مع الجدول B2:D5.

لماذا تتفوق INDEX MATCH على VLOOKUP

=VLOOKUP(F2, A2:D6, 3, FALSE)
=INDEX(C2:C6, MATCH(F2, A2:A6, 0))

تعيد الصيغتان السعر. ويظهر الفرق عندما تتغير الورقة:

  • إدراج عمود. أدرج عمودًا بين Category وPrice، فتبقى VLOOKUP تطلب العمود 3، وهو الآن العمود الجديد الفارغ. أما في نسخة INDEX فيعدّل الاكسل C2:C6 إلى D2:D6 فتستمر في العمل.
  • البحث إلى اليسار. كما ظهر أعلاه: لا تستطيعه VLOOKUP، وتستطيعه INDEX MATCH.

في Excel 2021 وMicrosoft 365، تفعل XLOOKUP الأمرين في دالة واحدة بوسائط أبسط. وتبقى INDEX MATCH الخيار للملفات التي يجب أن تُفتح في Excel 2019 أو ما قبله، وجزء INDEX مفيد وحده أيضًا. وللبحث بشرطين معًا، راجع البحث بعدة شروط.

تمرين: البحث إلى اليسار

تصدير المخزون
G2
ABCDEFG
1CodePriceStockProductLook forPrice
2P-101$1.2040AppleMilk
3P-102$1.5025Pear
4P-205$0.8060Carrot
5P-310$2.4015Bread
6P-412$1.1030Milk
انقر على خلية لترى صيغتها. غيّر رقمًا أو صيغة وستعيد الورقة الحساب.

دورك: أسماء المنتجات في العمود الأخير. في G2، أعد سعر المنتج الموجود في F2 باستخدام INDEX وMATCH.

تمرين: بحث في اتجاهين

درجات الاختبارات
B9
ABCD
1StudentMathScienceArt
2Ana788592
3Ben647188
4Cara958973
5Dev826779
6
7StudentCara
8SubjectScience
9Score
انقر على خلية لترى صيغتها. غيّر رقمًا أو صيغة وستعيد الورقة الحساب.

دورك: في B9، أعد درجة الطالب الموجود في B7 في المادة الموجودة في B8.

الأسئلة الشائعة

كيف تعمل INDEX MATCH؟

تجد MATCH موضع قيمة في عمود، وتعيد INDEX القيمة الموجودة في ذلك الموضع في عمود آخر. في =INDEX(C2:C6,MATCH("Pear",A2:A6,0))، تعيد MATCH القيمة 2 لأن Pear هو العنصر الثاني في A2:A6، وتعيد INDEX العنصر الثاني في C2:C6.

لماذا أستخدم INDEX MATCH بدلًا من VLOOKUP؟

لأنها تستطيع إرجاع عمود يقع يسار العمود الذي تبحث فيه، ولا تتعطل عند إدراج عمود داخل الجدول (لا يوجد رقم عمود يصبح قديمًا). في Excel 2021 وMicrosoft 365، تمنح XLOOKUP المزايا نفسها في دالة واحدة.

ماذا يعني الرقم 0 في MATCH؟

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

كيف أبحث في اتجاهين باستخدام INDEX MATCH؟

أعطِ INDEX جدولًا كاملًا ودالتي MATCH، واحدة للصف وأخرى للعمود: تعيد =INDEX(B2:D5,MATCH("South",A2:A5,0),MATCH("Feb",B1:D1,0)) القيمة التي يلتقي فيها صف South بعمود Feb.

رسم توضيحي للغات البرمجة في Coddy

تعلّم البرمجة مع Coddy

ابدأ الآن