البحث عن القيم باستخدام VLOOKUP أو INDEX أو MATCH

تلميح

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

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

تعد الدالتان VLOOKUPوHLOOKUP ، جنبا إلى جنب مع INDEXوMATCH، بعض الدالات الأكثر فائدة في Excel.

ملاحظة

لم تعد ميزة "معالج البحث" متوفرة في Excel.

فيما يلي مثال على كيفية استخدام VLOOKUP.

‎=VLOOKUP(B2,C2:E7,3,TRUE)‎

في هذا المثال، B2 هو الوسيطة الأولى - عنصر من البيانات التي تحتاج الدالة إلى العمل. بالنسبة إلى VLOOKUP، هذه الوسيطة الأولى هي القيمة التي تريد البحث عنها. يمكن أن تكون هذه الوسيطة مرجع خلية أو قيمة ثابتة مثل "smith" أو 21000. الوسيطة الثانية هي نطاق الخلايا، C2-:E7، الذي تريد البحث فيه عن القيمة التي تريد البحث عنها. الوسيطة الثالثة هي العمود الموجود في نطاق الخلايا هذا الذي يحتوي على القيمة التي تسعى لها.

وتُعد الوسيطة الرابعة اختيارية. أدخل إما TRUE أو FALSE. إذا أدخلت TRUE أو تركت الوسيطة فارغة، فستُرجع الدالة تطابقاً تقريبياً للقيمة التي تحددها في الوسيطة الأولى. إذا أدخلت FALSE، فستتطابق الدالة مع القيمة التي توفرها الوسيطة الأولى. وبعبارة أخرى، فإن ترك الوسيطة الرابعة فارغة - أو إدخال TRUE - يمنحك المزيد من المرونة.

يوضّح لك هذا المثال طريقة عمل الدالة. عند إدخال قيمة في الخلية B2 (الوسيطة الأولى)، تبحث الدالة VLOOKUP في الخلايا الموجودة في النطاق C2:E7 (الوسيطة الثانية) وترجع أقرب تطابق تقريبي من العمود الثالث في النطاق، العمود E (الوسيطة الثالثة).

استخدام نموذجي للدالة VLOOKUP

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

عندما تكون مرتاحا مع VLOOKUP، تكون الدالة HLOOKUP سهلة الاستخدام بنفس القدر. يمكنك إدخال الوسيطات نفسها، ولكنها تبحث في صفوف بدلا من الأعمدة.

استخدام INDEX وMATCH بدلا من VLOOKUP

هناك قيود معينة على استخدام VLOOKUP - يمكن لدالة VLOOKUP البحث عن قيمة فقط من اليسار إلى اليمين. وهذا يعني أن العمود الذي يحتوي على القيمة التي تبحث عنها يجب أن يكون دائما موجودا إلى يسار العمود الذي يحتوي على القيمة المرجعة. الآن إذا لم يتم إنشاء جدول البيانات بهذه الطريقة، فلا تستخدم VLOOKUP. استخدم تركيبة الدالتين INDEX وMATCH بدلا من ذلك.

يُظهر هذا المثل قائمة صغيرة حيث أن القيمة "شيكاغو" التي نريد البحث عنها ليست ضمن العمود الموجود في أقصى اليمين. لذا لا يمكننا استخدام VLOOKUP. بدلاّ من ذلك، سنستخدم دالة MATCH للعثور على "شيكاغو" ضمن النطاق B1:B11. تم العثور عليها في الصف 4. بعد ذلك، تستخدم INDEX هذه القيمة كوسيطة بحث، وتعثر على سكان "شيكاغو" ضمن العمود الرابع (العمود D). تظهر الصيغة المستخدمة في الخلية A14.

استخدام INDEX وMATCH للبحث عن قيمة

لذلك، ما عليك سوى التجربة.

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

مثال على VLOOKUP في العمل

انسخ البيانات التالية في جدول بيانات فارغ.

تلميح

قبل لصق البيانات في Excel، قم بتعيين عرض الأعمدة للأعمدة من A إلى C إلى 250 بكسل، وانقر فوق التفاف النص (علامة التبويب الشريط الرئيسي ، المجموعة محاذاة ).

الكثافة اللزوجة درجة الحرارة
0,457 3,55 500
0.525 3.25 400
0.606 2.93 300
0.675 2.75 250
0.746 2.57 200
0.835 2.38 150
0.946 2.17 100
1.09 1.95 50
1.29 1.71 0
الصيغة الوصف النتيجة
‎=VLOOKUP‎(1,‎A2:C10,2)‎ تبحث عن القيمة 1 في العمود A، باستخدام التطابق التقريبي، وتعثر على أكبر قيمة أقل من أو تساوي 1 في العمود A، وهي 0.946، ثم تُرجع القيمة من العمود B في الصف نفسه. 2.17
‎=VLOOKUP(1,‎A2:C10,3,TRUE)‎ تبحث عن القيمة 1 في العمود A، باستخدام التطابق التقريبي، وتعثر على أكبر قيمة أقل من أو تساوي 1 في العمود A، وهي 0.946، ثم تُرجع القيمة من العمود C في الصف نفسه. 100
‎=VLOOKUP‎(0.7,‎A2:C10,3,FALSE)‎ تبحث عن القيمة 0.7 في العمود A، باستخدام التطابق التام. ونظراً إلى عدم وجود تطابق تام في العمود A، يتم إرجاع خطأ. ‎#N/A
‎=VLOOKUP‎(0.1,‎A2:C10,2,TRUE)‎ تبحث عن القيمة 0.1 في العمود A، باستخدام التطابق التام. ونظراً لكون 0.1 أقل من أصغر قيمة في العمود A، يتم إرجاع خطأ. ‎#N/A
‎=VLOOKUP‎(2,‎A2:C10,2,TRUE)‎ تبحث عن القيمة 2 في العمود A، باستخدام التطابق التقريبي، وتعثر على أكبر قيمة أقل من أو تساوي 2 في العمود A، وهي 1.29، ثم تُرجع القيمة من العمود B في الصف نفسه. 1.71

مثال على HLOOKUP

انسخ كل الخلايا في هذا الجدول، والصقها في الخلية A1 في ورقة عمل فارغة في Excel.

تلميح

قبل لصق البيانات في Excel، قم بتعيين عرض الأعمدة للأعمدة من A إلى C إلى 250 بكسل، وانقر فوق التفاف النص (علامة التبويب الشريط الرئيسي ، المجموعة محاذاة ).

المحاور الصواميل مسامير الربط
4 4 9
5 7 10
6 8 11
الصيغة الوصف النتيجة
A1:C4, 2, TRUE)‎,"المحاور") ‎=HLOOKUP تبحث عن "المحاور" في الصف 1، وتُرجع القيمة من الصف 2 الموجود في نفس العمود (العمود A). 4
A1:C4,3,FALSE)‎,"الصواميل") ‎=HLOOKUP تبحث عن "الصواميل" في الصف 1، وتُرجع القيمة من الصف 3 الموجود في نفس العمود (العمود B). 7
‎=HLOOKUP("B", A1:C4, 3, TRUE)‎ تبحث عن "B" في الصف 1، وتُرجع القيمة من الصف 3 الموجود في نفس العمود. نظراً لعدم العثور على تطابق تام للحرف "B"، سيتم استخدام أكبر قيمة في الصف 1 أقل من "B": وهي "المحاور" في العمود A. 5
A1:C4,4)‎,"قلاووظ") ‎=HLOOKUP تبحث عن "قلاووظ" في الصف 1، وتُرجع القيمة من الصف 4 الموجود في نفس العمود (العمود C). 11
‎=HLOOKUP(3, {1,2,3;"a","b","c";"d","e","f"}, 2, TRUE‭) تبحث عن الرقم 3 في ثابت الصفيف المتضمن للصفوف الثلاث، وتُرجع القيمة من الصف 2 الموجود في نفس العمود (وهو العمود الثالث في هذه الحالة). توجد ثلاثة صفوف في ثابت الصفيف، يتم الفصل بين كل صف وآخر بواسطة الفاصلة المنقوطة (;). نظراً لوجود "c" في الصف 2 وفي نفس العمود كما هو الحال في رقم 3، فسيتم إرجاع "c". c

أمثلة INDEX وMATCH

يستخدم هذا المثال الأخير الدالتين INDEX وMATCH معا لإرجاع أقرب رقم فاتورة وتاريخ مطابق لكل من خمس مدن. نظرا لإرجاع التاريخ كرقم، نستخدم الدالة TEXT لتنسيقه كتاريخ. تستخدم الدالة INDEX في الواقع نتيجة الدالة MATCH كوسيطة لها. يتم استخدام الدالتين INDEX وMATCH معاً مرتين في كل صيغة – أولاً، لإرجاع رقم الفاتورة، ثم لإرجاع التاريخ.

انسخ كل الخلايا في هذا الجدول، والصقها في الخلية A1 في ورقة عمل فارغة في Excel.

تلميح

قبل لصق البيانات في Excel، قم بتعيين عرض الأعمدة للأعمدة من A إلى D إلى 250 بكسل، وانقر فوق التفاف النص (علامة التبويب الشريط الرئيسي ، المجموعة محاذاة ).

الفاتورة المدينة تاريخ الفاتورة الفاتورة ذات التاريخ الأقرب حسب المدينة، مع التاريخ
3115 جدة 07/04/12 (‎$B$2:$B$33,0),3),"m/d/yy"‎,"جدة")TEXT(INDEX($A$2:$C$33,MATCH‎ & " تاريخ الفاتورة: ,‎$B$2:$B$33,0),1)& "‎,"جدة")‎"&INDEX($A$2:$C$33,MATCH =جدة"=
3137 جدة 09/04/12 (‎$B$2:$B$33,0),3),"m/d/yy"‎,"الرياض")TEXT(INDEX($A$2:$C$33,MATCH‎ & " تاريخ الفاتورة: ,‎$B$2:$B$33,0),1)& "‎,"الرياض")‎"&INDEX($A$2:$C$33,MATCH =الرياض"=
3154 جدة 11/04/12 (‎$B$2:$B$33,0),3),"m/d/yy"‎,"الخبر")TEXT(INDEX($A$2:$C$33,MATCH‎ & " تاريخ الفاتورة: ,‎$B$2:$B$33,0),1)& "‎,"الخبر")‎"&INDEX($A$2:$C$33,MATCH =الخبر"=
3191 جدة 21/04/12 (‎$B$2:$B$33,0),3),"m/d/yy"‎,"الدمام")TEXT(INDEX($A$2:$C$33,MATCH‎ & " تاريخ الفاتورة: ,‎$B$2:$B$33,0),1)& "‎,"الدمام")‎"&INDEX($A$2:$C$33,MATCH =الدمام"=
3293 جدة 25/04/12 (‎$B$2:$B$33,0),3),"m/d/yy"‎,"المدينة")TEXT(INDEX($A$2:$C$33,MATCH‎ & " تاريخ الفاتورة: ,‎$B$2:$B$33,0),1)& "‎,"المدينة")‎"&INDEX($A$2:$C$33,MATCH =المدينة"=
3331 جدة 27/04/12
3350 جدة 28/04/12
3390 جدة 01/05/12
3441 جدة 02/05/12
3517 جدة 08/05/12
3124 الرياض 09/04/12
3155 الرياض 11/04/12
3177 الرياض 19/04/12
3357 الرياض 28/04/12
3492 الرياض 06/05/12
3316 الخبر 25/04/12
3346 الخبر 28/04/12
3372 الخبر 01/05/12
3414 الخبر 01/05/12
3451 الخبر 02/05/12
3467 الخبر 02/05/12
3474 الخبر 04/05/12
3490 الخبر 05/05/12
3503 الخبر 08/05/12
3151 الدمام 09/04/12
3438 الدمام 02/05/12
3471 الدمام 04/05/12
3160 المدينة 18/04/12
3328 المدينة 26/04/12
3368 المدينة 29/04/12
3420 المدينة 01/05/12
3501 المدينة 06/05/12

اطلع أيضاً على

بطاقة مرجعية سريعة: معلومات تذكيرية حول VLOOKUP

دالات البحث والمراجع (مرجع)

استخدام الوسيطة table_array في دالة VLOOKUP

بدء استخدام Excel مجانا على الويب