دالة VLOOKUP تبحث عن قيمة في العمود الأول من نطاق تحدده، ثم ترجع القيمة الموجودة في الصف نفسه من عمود تحدده برقمه. صيغتها =VLOOKUP(lookup_value, table_array, col_index_num, range_lookup)، والوسيطة الأخيرة FALSE للتطابق التام أو TRUE للتطابق التقريبي. مثال: =VLOOKUP("Smith",A1:B100,2,FALSE).
استخدم VLOOKUP عندما تريد البحث عن عنصر في جدول بحسب الصف. مثلا: سعر قطعة غيار سيارة حسب رقم القطعة، أو اسم موظف حسب رقم الموظف. وأهم ما يغفل عنه كثيرون: إذا لم تكتب الوسيطة الأخيرة، فإن Excel يفترض التطابق التقريبي، وقد يرجع لك قيمة خاطئة دون أي رسالة خطأ. كل ما في هذه الصفحة مأخوذ من مقالة دعم Microsoft بالعربية كما قرأتها في أكتوبر 2026.
الوسيطات الأربع لدالة VLOOKUP
| الوسيطة | مطلوبة؟ | ماذا تكتب فيها |
|---|---|---|
| lookup_value | مطلوبة | القيمة التي تبحث عنها. يمكن أن تكون قيمة أو مرجعا لخلية، ويجب أن تكون موجودة في العمود الأول من النطاق. |
| table_array | مطلوبة | نطاق الخلايا الذي تبحث فيه الدالة. يمكنك استخدام نطاق أو جدول مسمى، ويجب أن يتضمن القيمة التي تبحث عنها والقيمة التي تريد إرجاعها. |
| col_index_num | مطلوبة | رقم العمود داخل النطاق الذي يحتوي على القيمة المرجعة، ويبدأ العد من 1 للعمود الأول في النطاق. |
| range_lookup | اختيارية | TRUE أو 1 للتطابق التقريبي، وFALSE أو 0 للتطابق التام. إذا تركتها فارغة فالافتراضي TRUE. |
وبصيغة أبسط تقول Microsoft إن الدالة تعني: =VLOOKUP(ما تريد البحث عنه، أين تريد البحث عنه، رقم العمود الذي يحتوي على القيمة المراد إرجاعها، تطابق تقريبي أو تام). اكتب الفواصل بين الوسيطات كما في الأمثلة.
قاعدة العمود الأول التي تحكم كل شيء
لا تبحث VLOOKUP إلا في العمود الأول من النطاق الذي تكتبه. فإذا كانت قيمة البحث في الخلية C2، فيجب أن يبدأ النطاق بالعمود C. وإذا امتد النطاق عبر الخلايا B2:D7، فيجب أن تكون قيمة البحث في العمود B.
ورقم العمود يحسب من بداية النطاق، لا من بداية الورقة. إذا حددت B2:D11 كنطاق، فإن B هو العمود الأول، وC هو العمود الثاني، وهكذا. لذلك فإن الرقم 2 في هذا النطاق يعني العمود C وليس العمود B.
كيف تكتب الدالة خطوة بخطوة
تحتاج إلى أربع معلومات قبل أن تكتب الصيغة:
- القيمة التي تريد البحث عنها، وتسمى قيمة البحث.
- النطاق الذي تقع فيه قيمة البحث، على أن تكون قيمة البحث في عموده الأول.
- رقم العمود في النطاق الذي يحتوي على القيمة المرجعة.
- اختياريا: TRUE إذا أردت تطابقا تقريبيا، أو FALSE إذا أردت تطابقا تاما.
ثم اجمعها هكذا: =VLOOKUP(قيمة البحث، النطاق الذي يحتوي على قيمة البحث، رقم العمود، TRUE أو FALSE). وعند الكتابة الفعلية في Excel تكون الصيغة بأحرف لاتينية وبالفواصل، مثل =VLOOKUP(A2,A10:C20,2,TRUE).
أمثلة جاهزة من Microsoft
| الصيغة | ماذا تفعل |
|---|---|
| =VLOOKUP(A2,A10:C20,2,TRUE) | تبحث عن قيمة A2 في العمود الأول من A10:C20 وترجع ما يقابلها من العمود الثاني، بتطابق تقريبي. |
| =VLOOKUP(90,A1:B100,2,TRUE) | تبحث عن أقرب قيمة إلى 90 في عمود مرتب، وترجع ما يقابلها من العمود الثاني. |
| =VLOOKUP("Smith",A1:B100,2,FALSE) | تبحث عن Smith بالضبط في العمود الأول، وترجع ما يقابله من العمود الثاني. |
| =VLOOKUP(A2,'تفاصيل العميل'!A:F,3,FALSE) | تبحث في ورقة أخرى اسمها تفاصيل العميل، وترجع القيمة من العمود الثالث بتطابق تام. |
التطابق التام أم التقريبي؟
التطابق التقريبي TRUE يفترض أن العمود الأول مرتب رقميا أو أبجديا، ثم يبحث عن أقرب قيمة. وهو الطريقة الافتراضية إذا لم تحدد شيئا. أما التطابق التام FALSE فيبحث عن القيمة الدقيقة في العمود الأول.
نصيحتي العملية: عند البحث عن رقم موظف أو رقم قطعة أو اسم، اكتب FALSE دائما. واترك TRUE للحالات التي تبحث فيها عن أقرب قيمة في عمود مرتب، وتأكد من ترتيب العمود الأول قبل استخدامه.
Want AI doing the heavy lifting in your marketing?
I build the systems that handle the boring 80 percent, so you get your week back. Done properly, with the human kept in.
المشاكل الشائعة وحلولها
| المشكلة | السبب | الحل |
|---|---|---|
| قيمة غير صحيحة | range_lookup هي TRUE أو غير مكتوبة، والعمود الأول غير مرتب. | رتب العمود الأول، أو استخدم FALSE للتطابق التام. |
| #N/A مع TRUE | قيمة البحث أصغر من أصغر قيمة في العمود الأول. | راجع قيمة البحث وبيانات العمود الأول. |
| #N/A مع FALSE | لم يعثر Excel على القيمة الدقيقة. | تأكد من وجود القيمة نفسها في العمود الأول. |
| #REF! | col_index_num أكبر من عدد الأعمدة في النطاق. | صغّر رقم العمود أو وسّع النطاق. |
| #VALUE! | col_index_num أقل من 1. | اكتب رقم عمود يبدأ من 1. |
| #NAME? | الصيغة تفتقد علامات الاقتباس حول النص. | ضع الاسم بين علامتي اقتباس، مثل =VLOOKUP("عبادي",B2:E7,2,FALSE). |
| #SPILL! | الصيغة تستخدم عمودا كاملا كقيمة بحث، مثل =VLOOKUP(A:A,A:C,2,FALSE). | استخدم @ هكذا =VLOOKUP(@A:A,A:C,2,FALSE)، أو أشر إلى خلية واحدة =VLOOKUP(A2,A:C,2,FALSE). |
أفضل الممارسات قبل أن تنسخ الصيغة
- استخدم المراجع المطلقة للنطاق، حتى تبحث الصيغة دائما في النطاق نفسه عند تعبئتها إلى الأسفل.
- لا تخزن الأرقام أو التواريخ في العمود الأول كقيم نصية، وإلا قد ترجع VLOOKUP قيمة غير متوقعة.
- رتب العمود الأول قبل استخدام VLOOKUP عندما تكون range_lookup هي TRUE.
- استخدم أحرف البدل مع FALSE والنص فقط: علامة الاستفهام ? تطابق حرفا واحدا، والنجمة * تطابق أي تسلسل من الأحرف، والتلدة ~ قبلهما للبحث عنهما نفسيهما. مثلا =VLOOKUP("Fontan?",B2:E7,2,FALSE) تجد Fontana مع اختلاف الحرف الأخير.
- تأكد من خلو العمود الأول من المسافات الزائدة في البداية أو النهاية، ومن الخلط بين علامات الاقتباس المستقيمة والمتعرجة، ومن الأحرف غير القابلة للطباعة. والدالتان CLEAN وTRIM تساعدان في التنظيف.
رأيي
أغلب أخطاء VLOOKUP التي أراها تأتي من ثلاثة أشياء: قيمة البحث ليست في العمود الأول، أو رقم العمود محسوب من بداية الورقة بدلا من بداية النطاق، أو نسيان FALSE في آخر الصيغة. صحح هذه الثلاثة وستختفي معظم المشاكل. وتنصح Microsoft نفسها بتجربة XLOOKUP، وهي نسخة محسنة من VLOOKUP تعمل في أي اتجاه وترجع تطابقات دقيقة بشكل افتراضي. إذا كنت تقرأ بالإنجليزية فلدي دليل لدالة XLOOKUP، وكذلك شرح VLOOKUP بالإنجليزية بأمثلة إضافية.
الأسئلة الشائعة
ما صيغة دالة VLOOKUP؟
=VLOOKUP(lookup_value, table_array, col_index_num, range_lookup). قيمة البحث، ثم النطاق، ثم رقم العمود المرجع، ثم TRUE أو FALSE.
لماذا يجب أن تكون قيمة البحث في العمود الأول؟
لأن VLOOKUP تبحث فقط في العمود الأول من النطاق. إذا كانت قيمة البحث في C2 فيجب أن يبدأ النطاق بالعمود C.
ما الفرق بين TRUE وFALSE في VLOOKUP؟
TRUE تطابق تقريبي يتطلب عمودا أول مرتبا، وهو الافتراضي. FALSE تطابق تام يبحث عن القيمة الدقيقة.
لماذا تظهر #N/A في VLOOKUP؟
مع FALSE تعني أن القيمة الدقيقة غير موجودة. ومع TRUE تظهر إذا كانت قيمة البحث أصغر من أصغر قيمة في العمود الأول.
لماذا تظهر #REF! في VLOOKUP؟
لأن رقم العمود col_index_num أكبر من عدد الأعمدة في النطاق.
ما البديل الأحدث لدالة VLOOKUP؟
XLOOKUP، وهي نسخة محسنة تعمل في أي اتجاه وترجع تطابقات دقيقة بشكل افتراضي.