
تُعدّ VLOOKUP من أكثر دوال Excel استخدامًا على الإطلاق. سواء كنت تربط معرّفات العملاء بأسمائهم، أو تسحب الأسعار من كتالوج منتجات، أو تدمج البيانات من ورقتَي عمل مختلفتَين، فإن VLOOKUP تُنجز المهمة بمعادلة واحدة. يغطي هذا الدليل كل ما تحتاجه: بناء الجملة، وأمثلة واقعية، والمشكلات الشائعة، ومتى يكون اختيار دالة أخرى قرارًا أفضل.
تعني VLOOKUP البحث الرأسي (Vertical Lookup). تبحث الدالة عن قيمة في العمود الأول من نطاق محدد، ثم تُعيد قيمة من عمود آخر في الصف ذاته. فكّر فيها كعملية بحث دقيقة: تُعطي Excel مفتاحًا، وتُخبرها أين تبحث، وتطلب منها إحضار معلومة معينة من السجل نفسه.
تشمل الاستخدامات الشائعة في الواقع العملي:
=VLOOKUP(lookup_value, table_array, col_index_num, [range_lookup])
لكل وسيطة دور محدد:
| الوسيطة | مطلوبة؟ | المعنى |
|---|---|---|
| lookup_value | نعم | القيمة التي تريد البحث عنها — مرجع خلية، أو رقم، أو سلسلة نصية. |
| table_array | نعم | النطاق الذي يحتوي على بياناتك. يجب أن يكون عمود البحث هو العمود الأقصى يسارًا في هذا النطاق. |
| col_index_num | نعم | رقم العمود (يُحسب من يسار table_array) الذي تريد إعادة قيمته. |
| range_lookup | لا | FALSE (أو 0) للمطابقة التامة؛ TRUE (أو 1) للمطابقة التقريبية. القيمة الافتراضية TRUE إذا حُذفت. |
تنبيه مهم: استخدم دائمًا FALSE للوسيطة الرابعة ما لم تكن تعمل مع جدول مرتّب وتحتاج فعلًا إلى مطابقة تقريبية (كجداول الدرجات أو الشرائح الضريبية). إهمال هذه الوسيطة أو استخدام TRUE على بيانات غير مرتّبة هو السبب الأكثر شيوعًا للنتائج الخاطئة.
تخيّل أنك تدير كتالوج منتجات صغيرًا في Sheet1 وتريد سحب الأسعار إلى نموذج طلب في Sheet2. إليك شكل البيانات في Sheet1:
| A — رمز SKU | B — اسم المنتج | C — السعر |
|---|---|---|
| P001 | Wireless Mouse | $29.99 |
| P002 | USB-C Hub | $49.99 |
| P003 | Mechanical Keyboard | $89.99 |
| P004 | Monitor Stand | $34.99 |
في Sheet2، يحتوي العمود A على رمز SKU الذي يُدخله المستخدم. لإعادة اسم المنتج في العمود B من Sheet2، اكتب:
=VLOOKUP(A2, Sheet1!$A$2:$C$5, 2, FALSE)
لإعادة السعر في العمود C من Sheet2، غيّر رقم فهرس العمود إلى 3:
=VLOOKUP(A2, Sheet1!$A$2:$C$5, 3, FALSE)
لاحظ علامات الدولار في Sheet1!$A$2:$C$5. تقوم هذه العلامات بتثبيت النطاق حتى لا ينزاح table_array عند نسخ الصيغة إلى صفوف أخرى. إذا لم تكن مُلمًّا بآلية عمل مراجع الخلايا، فإن مقالة مراجع الخلايا في Excel: المراجع النسبية والمطلقة تشرح هذا المفهوم بالتفصيل الكامل.
اضبط الوسيطة الرابعة على TRUE عندما يكون جدول البحث مرتّبًا تصاعديًا وتريد أقرب تطابق أقل من قيمة البحث. مثال كلاسيكي على ذلك تحويل الدرجة الخام إلى حرف تقديري:
=VLOOKUP(B2, $E$2:$F$6, 2, TRUE)
| E — الحد الأدنى للدرجة | F — التقدير |
|---|---|
| 0 | F |
| 60 | D |
| 70 | C |
| 80 | B |
| 90 | A |
درجة 85 ستُطابق صف 80 وستُعيد "B". يعمل هذا بشكل صحيح فقط لأن عمود الحد الأدنى للدرجة مرتّب من الأصغر إلى الأكبر.
هذا هو الخطأ الأكثر شيوعًا. يعني أن VLOOKUP لم تتمكن من إيجاد lookup_value في العمود الأول من جدولك. تحقق من:
لإخفاء الخطأ أثناء التصحيح، أحِط الصيغة بـ: =IFERROR(VLOOKUP(A2, $D$2:$F$10, 2, FALSE), "Not found")
يظهر هذا الخطأ عندما يكون col_index_num أكبر من عدد الأعمدة في table_array. مثلًا، تحديد العمود 5 في حين أن النطاق لا يتجاوز 3 أعمدة. أحصِ أعمدتك وخفّض الفهرس وفقًا لذلك.
ينتج عادةً عن كون col_index_num صفرًا أو قيمة غير رقمية. يجب أن يكون فهرس العمود عددًا صحيحًا موجبًا لا يقل عن 1.
إذا أهملت الوسيطة الرابعة (أو ضبطتها على TRUE) لكن جدولك غير مرتّب، فقد تُعيد VLOOKUP مطابقة تقريبية خاطئة بصمت — دون أي رسالة خطأ. استخدم دائمًا FALSE للمطابقة التامة.
يمكنك دمج VLOOKUP مع الدوال المنطقية للحصول على نتائج أكثر دقة. على سبيل المثال، عرض خصم فقط إذا نجح البحث:
=IF(IFERROR(VLOOKUP(A2, $D$2:$F$10, 3, FALSE), "") = "", "No discount", VLOOKUP(A2, $D$2:$F$10, 3, FALSE))
لمعرفة المزيد حول بناء الاختبارات المنطقية داخل الصيغ، راجع الدليل الشامل لـ دالة IF: الاختبارات المنطقية والدوال IF المتداخلة.
يمكنك الإشارة إلى بيانات من ورقة عمل أخرى بإضافة اسم الورقة كبادئة للنطاق:
=VLOOKUP(A2, Catalog!$A$2:$C$100, 2, FALSE)
للإشارة إلى مصنّف مختلف (في حالة فتحه):
=VLOOKUP(A2, [PriceList.xlsx]Sheet1!$A$2:$C$100, 2, FALSE)
إذا كان المصنّف مغلقًا، فسيعرض Excel مسار الملف الكامل تلقائيًا عند إنشاء الارتباط وكلا الملفَين مفتوحان.
يُزيل التوليف INDEX MATCH قيد العمود الأيسر ويكون أكثر متانة عند إضافة الأعمدة أو إعادة ترتيبها. إذا وجدت نفسك تصارع قيود VLOOKUP، فإن المقالة المخصصة لـ INDEX MATCH: طريقة البحث المتفوقة تُرشدك خلال مراحل التحوّل خطوة بخطوة.
المتاحة في Excel 365 وExcel 2021، XLOOKUP أبسط وأكثر قدرة:
=XLOOKUP(A2, Sheet1!$A$2:$A$5, Sheet1!$C$2:$C$5, "Not found")
تبحث في أي اتجاه، وتتعامل مع القيم المفقودة بشكل أصلي، ولا تتطلب فهرسًا رقميًا للعمود. إذا كان إصدار Excel الخاص بك يدعمها، فاعتمد XLOOKUP في جميع مشاريعك الجديدة.
تتكامل VLOOKUP بشكل ممتاز مع كثير من سير عمل Excel الأخرى. على سبيل المثال، كثيرًا ما تستخدم لوحة تحكم المبيعات لتتبع مؤشرات الأداء الرئيسية دالة VLOOKUP لسحب أسماء المنتجات أو مناطق مندوبي المبيعات من الجداول المرجعية إلى تقارير الملخصات. وبالمثل، يتضمن بناء قالب فاتورة احترافي في الغالب دالة VLOOKUP تسترد أسعار الوحدات من قائمة المنتجات بناءً على رموز الأصناف التي يُدخلها المستخدم.
بالنسبة للفِرق التي تتعامل مع مجموعات بيانات كبيرة، يُشكّل الجمع بين VLOOKUP والجداول المحورية (Pivot Tables) سير عمل منتجًا: استخدم VLOOKUP لإثراء البيانات الخام بتسميات الفئات، ثم لخّصها في جدول محوري.
إذا كنت تعرف ما تحتاجه لكنك لا تتذكر بناء الجملة الدقيق — مثلًا: "ابحث عن معرّف الموظف في العمود A من ورقة HR وأعد راتبه من العمود D" — فإن GPTExcel يُتيح لك وصف حاجتك بلغة طبيعية ويولّد صيغة VLOOKUP الصحيحة فورًا، جاهزةً للصقها في جدول البيانات.
السبب الأرجح هو عدم اتساق أنواع البيانات أو وجود مسافات زائدة في بعض الخلايا. طبّق =TRIM(A2) على قيم البحث وتأكد من أن جميع الإدخالات في عمود البحث مخزّنة بنوع البيانات نفسه (كل نصوص أو كل أرقام). يمكنك أيضًا استخدام =IFERROR(VLOOKUP(...), "Check data") لتحديد الصفوف التي تفشل دون تعطيل بقية تقريرك.
ليس بصيغة واحدة بالمفهوم التقليدي. تحتاج إلى دالة VLOOKUP منفصلة لكل عمود تريد إعادته، مع تغيير col_index_num فقط. في المقابل، تستطيع XLOOKUP في Excel 365 إعادة صف كامل من النتائج بصيغة واحدة عبر تحديد مصفوفة إعادة متعددة الأعمدة.
تُعيد VLOOKUP دائمًا القيمة المقابلة لـ أول تطابق تجده، مع المسح من أعلى إلى أسفل. إذا احتوى عمود البحث على قيم مكررة، فإن التطابقات اللاحقة تُتجاهل. في الحالات التي تنطوي على تكرارات، فكّر في استخدام جدول محوري أو أعمدة مساعدة لإزالة التكرار قبل عملية البحث.
لا. تتعامل VLOOKUP مع الأحرف الكبيرة والصغيرة باعتبارها متطابقة. البحث عن "apple" سيُطابق "Apple" أو "APPLE". إذا كنت بحاجة إلى بحث حساس لحالة الأحرف، فيجب استخدام صيغة مصفوفة تجمع EXACT() مع INDEX/MATCH بدلًا من ذلك.
تعلم كيف تقوم دالة TEXT في Excel بتحويل الأرقام والتواريخ والأوقات إلى سلاسل نصية منسقة باستخدام رموز التنسيق — مع أمثلة واقعية وحالات استخدام عملية.
تعرّف على كيفية عمل دالة IF في Excel، وكيفية تداخل دوال IF المتعددة، ومتى تستخدم البدائل الحديثة مثل IFS وSWITCH لكتابة منطق أوضح وأكثر قابلية للقراءة.
أتقن استخدام SUMIF وSUMIFS في Excel لجمع البيانات بناءً على شرط واحد أو شروط متعددة، مع صيغ حقيقية وأمثلة عملية وشرح تفصيلي خطوة بخطوة.