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

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

تشير الدالة VLOOKUP في أبسط نموذج لها إلى ما يلي:

=VLOOKUP(ما تريد البحث عنه، أين تريد البحث عنه، رقم العمود في النطاق الذي يحتوي على القيمة المراد إرجاعها، إرجاع تطابق – تقريبي أو تام يشار إليه بـ 1/TRUE، أو 0/FALSE).

لا يدعم المستعرض الفيديو.

تلميح: لاستخدام الدالة VLOOKUP بشكل صحيح، يجب عليك تنظيم بياناتك بحيث تكون القيمة التي تبحث عنها (فاكهة) إلى يمين القيمة المرجعة (مقدار) التي تريد العثور عليها.

استخدام الدالة VLOOKUP للبحث عن قيمة في جدول.

بناء الجملة 

VLOOKUP (lookup_value, table_array, col_index_num, [range_lookup])

على سبيل المثال:

  • =VLOOKUP(A2,A10:C20,2,TRUE)

  • FALSE),2,B2:E7,"أبو عبيدة"‎=IF(VLOOKUP

  • =VLOOKUP(A2,"تفاصيل العميل"!A:F,3,FALSE)

اسم الوسيطة

الوصف

lookup_value    (وسيطة مطلوبة)

القيمة التي تريد البحث عنها. يجب أن تكون القيمة التي تريد البحث عنها موجودة في العمود الأول التابع لنطاق الخلايا المحدد في وسيطة table-array.

على سبيل المثال، إذا امتدت الوسيطة table-array عبر الخلايا B2:D7، فيجب عندئذٍ أن تكون الوسيطة lookup_value في العمود B.

بإمكان Lookup_value أن تكون عبارة عن قيمة أو مرجع إلى خلية.

Table_array    (مطلوبة)

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

يجب أن يحتوي العمود الأول في نطاق الخلايا على lookup_value. ويجب أن يتضمّن نطاق الخلايا أيضاً القيمة المرتجعة التي تريد العثور عليها.

تعرّف على كيفية تحديد النطاقات في ورقة عمل.

col_index_num    (وسيطة مطلوبة)

رقم العمود (بدءاً من 1 للعمود الموجود إلى أقصى يمين table-array) الذي يحتوي على القيمة المرتجعة.

range_lookup   (اختياري)

القيمة المنطقية التي تحدد إذا كنت تريد من الدالة VLOOKUP البحث عن تطابق تقريبي أو تطابق تام:

  • التطابق التقريبي - 1/TRUE يفترض أن العمود الأول في الجدول تم فرزه إما رقميا أو أبجديا، ثم سيبحث عن أقرب قيمة. هذه هي الطريقة الافتراضية إذا لم تحدد أنت أي طريقة. على سبيل المثال، =VLOOKUP(90,A1:B100,2,TRUE).

  • مطابقة تامة - 0/FALSE يبحث عن القيمة الدقيقة في العمود الأول. على سبيل المثال، =VLOOKUP("Smith",A1:B100,2,FALSE).

كيفية البدء

ستحتاج إلى أربع معلومات حتى يمكنك إنشاء بناء جملة الدالة VLOOKUP:

  1. القيمة التي تريد البحث عنها، والتي تسمى أيضاً قيمة البحث.

  2. النطاق الذي تقع فيه قيمة البحث. تذكّر أنه يجب أن تكون قيمة البحث دائماً في العمود الأول في نطاق الدالة VLOOKUP لكي تعمل بشكل صحيح. على سبيل المثال، إذا كانت قيمة البحث في الخلية C2 فيجب أن يبدأ النطاق بـ C.

  3. رقم العمود في النطاق الذي يحتوي على القيمة المرجعة. على سبيل المثال، إذا قمت بتحديد B2: D11 كنطاق، فيجب أن يعد B العمود الأول وC العمود الثاني وهكذا.

  4. بشكل اختياري، يمكنك تحديد TRUE إذا كنت تريد تطابقاً تقريبياً أو FALSE إذا كنت تريد تطابقاً تاماً للقيمة المرجعة. إذا لم تحدد أي شيء، فستكون القيمة الافتراضية دائماً TRUE أو مطابقة تقريبية.

الآن ضع كل ما ورد أعلاه معاً كما يلي:

=VLOOKUP(قيمة البحث، النطاق الذي يحتوي على قيمة البحث، رقم العمود في النطاق الذي يحتوي على القيمة المرجعة، التطابق التقريبي (TRUE) أو التطابق التام (FALSE)).

أمثلة

فيما يلي بعض الأمثلة على الدالة VLOOKUP:

مثال 1

=VLOOKUP (B3,B2:E7,2,FALSE)

تبحث دالة VLOOKUP عن "عبادي" في أول عمود (العمود B) في صفيف الجدول B2:E7 وترجع "عبد القهار" من العمود الثاني (عمود C) لصفيف الجدول.  ترجع القيمة "False" تطابقاً تاماً.

المثال 2

=VLOOKUP (102,A2:C7,2,FALSE)

تبحث دالة VLOOKUP عن تطابق تام (FALSE) لاسم العائلة لمعرف 102 (قيمة البحث) في العمود الثاني (العمود B) في نطاق A2:C7 وترجع "عبادي".

المثال 3

=IF(VLOOKUP(103,A1:E7,2,FALSE)="قريشي","محدد","لم يتم العثور عليه")

تتحقق دالة IF مما إذا كانت دالة VLOOKUP ترجع "قريشي" كاسم عائلة الموظف المقابل لمعرف 103 (قيمة البحث) في A1:E7 (صفيف الجدول). لأن اسم العائلة المقابل لمعرف 103 هو "خوري"، فإن قيمة شرط IF تكون "false" ويتم عرض "لم يتم العثور عليه".

المثال 4

=INT(YEARFRAC(DATE(2014,6,30),VLOOKUP(105,A2:E7,5,FLASE),1))



تبحث دالة VLOOKUP عن تاريخ ميلاد الموظف المقابل لمعرف 109 (قيمة البحث) في نطاق A2:E7 (صفيف الجدول) وترجع "1955/03/04". ثم تطرح دالة YEARFRAC تاريخ الميلاد هذا من "2014/6/30" وترجع قيمة يتم تحويلها بعد ذلك بواسطة INY إلى العدد الصحيح "59".

المثال 5

IF(ISNA(VLOOKUP(105,A2:E7,2,FLASE))=TRUE,"لم يتم العثور على الموظف",VLOOKUP(105,A2:E7,2,FALSE))



تتحقق دالة IF مما إذا قامت دالة VLOOKUP بإرجاع قيمة اسم العائلة من العمود B للمعرف 105 (قيمة البحث). إذا عثرت دالة VLOOKUP على اسم عائلة، فستعرض دالة IF اسم العائلة. بخلاف ذلك، ستعرض قيمة IF "لم يتم العثور على الموظف". تتأكد دالة ISNA من استبدال "لم يتم العثور على الموظف" بالخطأ، إذا قامت دالة VLOOKUP بإرجاع #غير مطبق.



في هذا المثال، القيمة المُرجعة هي "غانم" وهي اسم العائلة المقابل لمعرف 105.

يمكنك استخدام VLOOKUP لدمج جداول متعددة في جدول واحد، طالما يحتوي أحد الجداول على حقول مشتركة مع كل الجداول الأخرى. قد يكون هذا مفيدا بشكل خاص إذا كنت بحاجة إلى مشاركة مصنف مع الأشخاص الذين لديهم إصدارات قديمة من Excel لا تدعم ميزات البيانات مع جداول متعددة كمصادر بيانات - من خلال دمج المصادر في جدول واحد وتغيير مصدر بيانات ميزة البيانات إلى الجدول الجديد، يمكن استخدام ميزة البيانات في إصدارات Excel القديمة (شريطة أن تكون ميزة البيانات نفسها مدعومة بواسطة الإصدار الأقدم).

ورقة عمل متضمنة أعمدة تستخدم دالة VLOOKUP للحصول على بيانات من جداول أخرى

هنا، يحتوي العمودان A-F وH على قيم أو صيغ تستخدم القيم الموجودة في ورقة العمل فقط، وتستخدم باقي الأعمدة الدالة VLOOKUP وقيم العمود A (رمز العميل) والعمود B (محامي) للحصول على بيانات من جداول أخرى.

  1. انسخ الجدول الذي يحتوي على الحقول الشائعة في ورقة عمل جديدة، وامنحه اسما.

  2. انقر فوق بيانات > أدوات البيانات > العلاقات لفتح مربع حوار إدارة العلاقات.

    مربع حوار "إدارة العلاقات"
  3. لكل علاقة مدرجة، لاحظ ما يلي:

    • الحقل الذي يربط الجداول (مدرج بين أقواس في مربع الحوار). هذه هي lookup_value لصيغة VLOOKUP.

    • اسم جدول البحث ذي الصلة. هذه هي table_array في صيغة VLOOKUP.

    • الحقل (العمود) في جدول البحث ذي الصلة الذي يحتوي على البيانات التي تريدها في العمود الجديد. لا تظهر هذه المعلومات في مربع حوار إدارة العلاقات - سيتعين عليك إلقاء نظرة على "جدول البحث ذي الصلة" لمعرفة الحقل الذي تريد استرداده. تريد ملاحظة رقم العمود (A=1) - هذا هو col_index_num في الصيغة.

  4. لإضافة حقل إلى الجدول الجديد، أدخل صيغة VLOOKUP في العمود الفارغ الأول باستخدام المعلومات التي قمت بتجميعها في الخطوة 3.

    في المثال، يستخدم العمود G "محامي" ( lookup_value) للحصول على بيانات "سعر الفاتورة" من العمود الرابع (col_index_num = 4) من جدول ورقة عمل المحامين، tblAttorneys ( table_array)، بالصيغة =VLOOKUP([@Attorney]،tbl_Attorneys،4،FALSE).

    يمكن أن تستخدم الصيغة أيضا مرجع خلية ومرجع نطاق. في مثالنا، سيكون =VLOOKUP(A2,'المحامين'! A:D,4,FALSE).

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

المشكلة

الخطأ الذي حدث

تم إرجاع قيمة غير صحيحة

إذا كانت قيمة الوسيطة range_lookup تساوي TRUE أو إذا لم يتم تضمينها، فيجب فرز العمود الأول أبجدياً أو رقمياً. إذا لم يتم فرز العمود الأول، فقد تكون القيمة المرتجعة عبارة عن شيء لم تكن تتوقعه. يتعينّ عليك فرز العمود الأول أو استخدام FALSE للحصول على تطابق تام.

ظهور ‎#N/A في الخلية

  • إذا كانت قيمة الوسيطة range_lookup هي TRUE، وكانت القيمة في lookup_value أصغر من القيمة الأصغر في العمود الأول التابع لـ table_array، فستحصل عندئذٍ على قيمة الخطأ ‎#N/A.

  • إذا كانت قيمة الوسيطة range_lookup هي FALSE، فتشير قيمة الخطأ ‎#N/A إلى أنه لم يتم العثور على الرقم الصحيح.

للحصول على مزيد من المعلومات حول حل أخطاء #N/A في الدالة VLOOKUP، راجع كيفية تصحيح خطأ #N/A في الدالة VLOOKUP‏.

يحدث الخطأ ‎#REF!‎ في الخلية

إذا كانت قيمة col_index_num أكبر من عدد الأعمدة في table-array، فستحصل على قيمة الخطأ‎#REF! ‎.

للحصول على مزيد من المعلومات حول حل أخطاء ‎#REF!‎ أخطاء في الدالة VLOOKUP، اطلع على كيفية تصحيح الخطأ ‎#REF!‎.

الخطأ ‎#VALUE!‎ في الخلية

إذا كانت قيمة table_array أقل من 1، فستحصل على الخطأ ‎#VALUE!‎. قيمة الخطأ.

للحصول على مزيد من المعلومات حول حل أخطاء #VALUE! في الدالة VLOOKUP، راجع كيفية تصحيح خطأ #VALUE! في الدالة VLOOKUP‏.

#NAME؟ في الخلية

‎#NAME?‎ تعني قيمة الخطأ عادةً أن الصيغة تفتقد إلى علامات اقتباس. للبحث عن اسم أحد الأشخاص، تأكد من استخدام علامات اقتباس حول الاسم في الصيغة. على سبيل المثال، أدخل الاسم "عبادي" في =VLOOKUP("عبادي",B2:E7,2,FALSE).

للحصول على مزيد من المعلومات، اطلع على كيفية تصحيح الخطأ ‎#NAME!‎..

أخطاء #SPILL! في الخلية

الخطأ #SPILL ! المحدّد هذا عادة ما يعني ذلك أن الصيغة تعتمد على تقاطع ضمني لقيمة البحث، وتستخدم عمودا بأكمله كمرجع. على سبيل المثال، =VLOOKUP(A:A,A:C,2,FALSE). يمكنك حل المشكلة عن طريق إرساء مرجع البحث مع عامل التشغيل @ مثل: =VLOOKUP(@A:A,A:C,2,FALSE). بدلا من ذلك، يمكنك استخدام أسلوب VLOOKUP التقليدي والإشارة إلى خلية واحدة بدلا من عمود بأكمله: =VLOOKUP(A2,A:C,2,FALSE).

قم بما يلي

لماذا

استخدم المراجع المطلقة للوسيطة range_lookup

يسمح لك استخدام المراجع المطلقة بتعبئة الصيغة بحيث تبحث دائماً في نطاق البحث نفسه.

تعرّف على كيفية استخدام مراجع الخلايا المطلقة.

لا تخزّن القيم الرقمية أو قيم التاريخ كقيم نصية.

عند البحث عن قيم رقمية أو قيم تاريخ، تأكد من عدم تخزين البيانات الموجودة في العمود الأول للوسيطة table_array كقيم نصية. وفي هذه الحالة، قد تُرجع VLOOKUP قيمة غير صحيحة أو غير متوقعة.

افرز العمود الأول

قم بفرز العمود الأول التابع للوسيطة table_array قبل استخدام الدالة VLOOKUP عندما تكون TRUE قيمة الوسيطة range_lookup.

استخدم أحرف البدل

إذا كان range_lookup تساوي FALSE وlookup_value عبارة عن نص، يمكنك استخدام أحرف البدل، مثل علامة الاستفهام(؟) والعلامة النجمية (*)، في lookup_value. تطابق علامة الاستفهام أي حرف واحد. أما علامة النجمة، فتطابق أي تسلسل من الأحرف. وإذا أردت البحث عن علامة استفهام أو علامة نجمة فعلية، فاكتب علامة التلدة (~) قبل الحرف.

على سبيل المثال، سيبحث =VLOOKUP("Fontan?",B2:E7,2,FALSE) عن كل مثيلات Fontana مع الحرف الأخير الذي قد يختلف.

تأكد من عدم احتواء البيانات على أحرف خاطئة.

عند البحث عن قيم نصية في العمود الأول، تأكد من عدم احتواء البيانات في العمود الأول على مسافات بادئة أو مسافات زائدة، أو من استخدام علامات الاقتباس المستقيمة ( ' أو " ) وعلامات الاقتباس المتعرجة ( ‘ أو “) بطريقة غير متناسقة، أو من استخدام أحرف غير قابلة للطباعة. في هذه الحالات، قد تُرجع VLOOKUP قيمة غير متوقعة.

للحصول على نتائج دقيقة، حاول استخدام الدالة CLEAN أو الدالة TRIM لإزالة المسافات الزائدة بعد قيم الجدول في الخلية.

هل تحتاج إلى مزيد من المساعدة؟

يمكنك دائماً الاستفسار من أحد الخبراء في مجتمع Excel التقني أو الحصول على الدعم في مجتمع الإجابات.

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

بطاقة مرجعية سريعة: تحديث VLOOKUP
بطاقة مرجعية سريعة: تلميحات حول استكشاف أخطاء VLOOKUP وإصلاحها
كيفية تصحيح خطأ #VALUE! في الدالة VLOOKUP
كيفية تصحيح الخطأ ‎ #N/Aفي الدالة VLOOKUP
نظرة عامة على الصيغ في Excel
كيفية تفادي الصيغ المقطوعة
البحث عن الأخطاء وإصلاحها في الصيغ
دالات Excel (هجائياً)
دالات Excel (حسب الفئة)
VLOOKUP (معاينة مجانية)

هل تحتاج إلى مزيد من المساعدة؟

توسيع المهارات
استكشاف التدريب
الحصول على الميزات الجديدة أولاً
الانضمام إلى المشاركين في برنامج Microsoft Office Insider

هل كانت المعلومات مفيدة؟

ما مدى رضاك عن جودة اللغة؟
ما الذي أثّر في تجربتك؟

نشكرك على ملاحظاتك!

×