Skip to main content

أكثر من20 مثالاً على VLOOKUP لمستخدمي Excel المبتدئين والمتقدمين

Author: Xiaoyang Last Modified: 2025-05-30

تُعد دالة VLOOKUP واحدة من أكثر الدوال شيوعًا في Excel. في هذا الدليل، سنستعرض كيفية استخدام دالة VLOOKUP في Excel من خلال العديد من الأمثلة الأساسية والمتقدمة خطوة بخطوة.


مقدمة عن دالة VLOOKUP – الصيغة والمعاملات

في Excel، تُعد دالة VLOOKUP أداة قوية لمعظم المستخدمين، حيث تتيح لك البحث عن قيمة في أقصى يسار نطاق البيانات، وإرجاع قيمة مطابقة في نفس الصف من عمود تحدده كما هو موضح في الصورة التالية.
Syntax and Arguments of vlookup function

صيغة دالة VLOOKUP:

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

المعاملات:

"Lookup_value" (إجباري): القيمة التي تريد البحث عنها. يمكن أن تكون قيمة (رقم أو تاريخ أو نص) أو مرجع خلية. يجب أن تكون في العمود الأول من نطاق table_array. 

"Table_array" (إجباري): نطاق البيانات أو الجدول الذي يوجد به عمود البحث وعمود النتيجة.

"Col_index_num" (إجباري): رقم العمود الذي يحتوي على القيم المرجعية. يبدأ العد من1 من العمود الأيسر في نطاق الجدول.

"Range_lookup" (اختياري): قيمة منطقية تحدد ما إذا كانت دالة VLOOKUP ستعيد مطابقة تامة أو تقريبية.

  • "مطابقة تقريبية" –1 / TRUE / مهمل (افتراضي): إذا لم يتم العثور على مطابقة تامة، تبحث الصيغة عن أقرب قيمة - أكبر قيمة أقل من قيمة البحث.
  • "مطابقة تامة" –0 / FALSE: تُستخدم للبحث عن قيمة تساوي تمامًا قيمة البحث. إذا لم يتم العثور على مطابقة تامة، سيتم إرجاع قيمة الخطأ #N/A.

ملاحظات الدالة:

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

أمثلة أساسية على VLOOKUP

في هذا القسم، سنتناول بعض صيغ VLOOKUP التي تُستخدم بشكل متكرر.

2.1 مطابقة تامة ومطابقة تقريبية باستخدام VLOOKUP

 2.1.1 إجراء مطابقة تامة باستخدام VLOOKUP

عادةً، إذا كنت تبحث عن مطابقة تامة باستخدام دالة VLOOKUP، ما عليك سوى استخدام FALSE كآخر معامل.

على سبيل المثال، للحصول على درجات الرياضيات بناءً على أرقام الهوية المحددة، يرجى اتباع الخطوات التالية:
 sample data

يرجى نسخ ولصق الصيغة أدناه في خلية فارغة (هنا اخترت G2)، ثم اضغط على مفتاح "Enter" للحصول على النتيجة:

=VLOOKUP(F2,$A$2:$D$7,3,FALSE)

 apply the vlookup formula

ملاحظة: في الصيغة أعلاه، هناك أربعة معاملات:

  • "F2" هي الخلية التي تحتوي على القيمة C1005 التي تريد البحث عنها؛
  • "A2:D7" هو نطاق الجدول الذي يتم فيه البحث؛
  • "3" هو رقم العمود الذي ستُرجع منه القيمة المطابقة؛ (بمجرد أن تعثر الدالة على رقم الهوية - C1005، ستنتقل إلى العمود الثالث من نطاق الجدول وتعيد القيم في نفس الصف الخاص بالهوية - C1005.)
  • "FALSE" تشير إلى المطابقة التامة.

كيف تعمل صيغة VLOOKUP؟

أولاً، تبحث عن رقم الهوية - C1005 في العمود الأيسر من الجدول. تنتقل من الأعلى إلى الأسفل وتجد القيمة في الخلية A6.
  It goes from top to bottom and finds the value in specific cell

بمجرد العثور على القيمة، تنتقل إلى العمود الثالث وتستخرج القيمة منه.
it goes to the right in the third column and extracts the value in it

ستحصل على النتيجة كما هو موضح في الصورة التالية:
get the result

ملاحظة: إذا لم يتم العثور على قيمة البحث في العمود الأيسر، ستُرجع الدالة خطأ #N/A.
🤖 مساعد KUTOOLS AI: ثورة في تحليل البيانات بناءً على: تنفيذ ذكي   |  توليد الأكواد  |  إنشاء صيغ مخصصة  |  تحليل البيانات وتوليد الرسوم البيانية  |  استدعاء وظائف Kutools
الميزات الشائعة: البحث، تمييز أو تحديد المكررات   |  حذف الصفوف الفارغة   |  دمج الأعمدة أو الخلايا دون فقدان البيانات   |   تقريب بدون صيغة ...
البحث المتقدم: VLookup متعدد المعايير  |   VLookup متعدد القيم  |   بحث في عدة أوراق عمل   |   مطابقة غامضة ...
قائمة منسدلة متقدمة: إنشاء سريع للقائمة المنسدلة   |  قائمة منسدلة تعتمد على أخرى   |  قائمة منسدلة متعددة الخيارات ...
مدير الأعمدة: إضافة عدد معين من الأعمدة  |  نقل الأعمدة   |  إظهار الأعمدة المخفية  |  مقارنة النطاقات والأعمدة ...
الميزات البارزة: التركيز على الشبكة   |  عرض التصميم   |   شريط الصيغ المحسن   |  إدارة المصنفات وأوراق العمل  |  مكتبة النص التلقائي   |  منتقي التاريخ  |  دمج بيانات الأوراق   |  فك/تشفير الخلايا    إرسال رسائل البريد الإلكتروني عبر قائمة   |  مرشح متقدم   |   مرشح خاص (بالخط العريض/المائل...) ...
أفضل 15 مجموعة أدوات12 أداة نص (إضافة نص، حذف الأحرف، ...)   |   50+ نوع من الرسوم البيانية (مخطط جانت، ...)   |   40+ صيغ عملية (حساب العمر بناءً على تاريخ الميلاد، ...)   |   19 أداة إدراج (إدراج رمز الاستجابة السريعة، إدراج صورة من المسار، ...)   |   12 أداة تحويل (تحويل إلى كلمات، تحويل العملة، ...)   |   7 أدوات دمج وتقسيم (دمج متقدم للصفوف، تقسيم الخلايا، ...)   |   المزيد...

Kutools لـ Excel يحتوي على أكثر من 300 ميزة، مما يضمن أن ما تحتاجه هو مجرد نقرة واحدة بعيداً...

 
 2.1.2 إجراء مطابقة تقريبية باستخدام VLOOKUP

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

على سبيل المثال، إذا كان لديك النطاق التالي من البيانات، والطلبات المحددة غير موجودة في عمود الطلبات، كيف تحصل على أقرب خصم في العمود B؟
Do an approximate match VLOOKUP

الخطوة1: تطبيق صيغة VLOOKUP وتعبئتها في الخلايا الأخرى

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

=VLOOKUP(D2,$A$2:$B$9,2,TRUE)

النتيجة:

الآن، ستحصل على المطابقات التقريبية بناءً على القيم المحددة، انظر الصورة:
Apply the VLOOKUP formula and fill it to other cells

ملاحظات:

  • في الصيغة أعلاه:
    • "D2" هي القيمة التي تريد إرجاع معلوماتها ذات الصلة؛
    • "A2:B9" هو نطاق البيانات؛
    • "2" تشير إلى رقم العمود الذي ستُرجع منه القيمة المطابقة؛
    • "TRUE" تشير إلى المطابقة التقريبية.
  • المطابقة التقريبية ستُرجع أكبر قيمة أقل من قيمة البحث المحددة إذا لم يتم العثور على مطابقة تامة.
  • لاستخدام دالة VLOOKUP للحصول على قيمة مطابقة تقريبية، يجب ترتيب العمود الأيسر من نطاق البيانات ترتيبًا تصاعديًا، وإلا ستُرجع نتيجة خاطئة.

2.2 إجراء VLOOKUP حساس لحالة الأحرف في Excel

افتراضيًا، تقوم دالة VLOOKUP بالبحث دون تمييز بين الأحرف الكبيرة والصغيرة، أي أنها تعتبر الأحرف الصغيرة والكبيرة متساوية. أحيانًا قد تحتاج إلى إجراء بحث حساس لحالة الأحرف في Excel، ولا يمكن للدالة VLOOKUP العادية حل ذلك. في هذه الحالة، يمكنك استخدام دوال بديلة مثل INDEX وMATCH مع الدالة EXACT، أو دوال LOOKUP وEXACT.

على سبيل المثال، لدي نطاق بيانات يحتوي عمود الهوية فيه على نصوص بحروف كبيرة أو صغيرة، وأرغب الآن في إرجاع درجة الرياضيات المقابلة لرقم الهوية المحدد.
Do a case sensitive VLOOKUP

الخطوة1: تطبيق أي صيغة وتعبئتها في الخلايا الأخرى

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

الصيغة1: بعد لصق الصيغة، يرجى الضغط على مفاتيح "Ctrl" + "Shift" + "Enter".

=INDEX($C$2:$C$10,MATCH(TRUE,EXACT(F2,$A$2:$A$10),0))

الصيغة2: بعد لصق الصيغة، يرجى الضغط على مفتاح "Enter".

=LOOKUP(2,1/EXACT(F2,$A$2:$A$10),$C$2:$C$10)

النتيجة:

ستحصل بعد ذلك على النتائج الصحيحة التي تحتاجها. انظر الصورة:
Apply any one formula and fill it to other cells

ملاحظات:

  • في الصيغة أعلاه:
    • "A2:A10" هو العمود الذي يحتوي على القيم المحددة التي تريد البحث عنها؛
    • "F2" هي قيمة البحث؛
    • "C2:C10" هو العمود الذي ستُرجع منه النتيجة.
  • إذا تم العثور على عدة مطابقات، ستُرجع هذه الصيغة دائمًا آخر مطابقة.

2.3 VLOOKUP للقيم من اليمين إلى اليسار في Excel

تبحث دالة VLOOKUP دائمًا عن قيمة في العمود الأيسر من نطاق البيانات وتُرجع القيمة المقابلة من عمود على اليمين. إذا كنت ترغب في إجراء VLOOKUP عكسي، أي البحث عن قيمة محددة في العمود الأيمن وإرجاع قيمتها المقابلة في العمود الأيسر كما هو موضح في الصورة التالية:

اضغط هنا لمعرفة التفاصيل خطوة بخطوة حول هذه المهمة...

VLOOKUP values from right to left


2.4 VLOOKUP للقيمة الثانية أو n أو الأخيرة المطابقة في Excel

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

 2.4.1 VLOOKUP وإرجاع القيمة الثانية أو n المطابقة

افترض أن لديك قائمة أسماء في العمود A، ودورات تدريبية اشتروها في العمود B. الآن، ترغب في معرفة الدورة التدريبية الثانية أو n التي اشتراها العميل المحدد. انظر الصورة:
VLOOKUP and return the second or nth matching value

هنا، قد لا تتمكن دالة VLOOKUP من حل هذه المهمة مباشرة. لكن يمكنك استخدام دالة INDEX كبديل.

الخطوة1: تطبيق وتعبئة الصيغة في الخلايا الأخرى

على سبيل المثال، للحصول على القيمة الثانية المطابقة بناءً على المعايير المحددة، يرجى تطبيق الصيغة التالية في خلية فارغة، ثم اضغط على مفاتيح "Ctrl" + "Shift" + "Enter" معًا للحصول على النتيجة الأولى. بعد ذلك، حدد خلية الصيغة واسحب مقبض التعبئة لأسفل إلى الخلايا التي تريد تعبئة هذه الصيغة فيها.

=INDEX($B$2:$B$14,SMALL(IF(E2=$A$2:$A$14,ROW($A$2:$A$14)-ROW($A$2)+1),2))

النتيجة:

الآن، تم عرض جميع القيم الثانية المطابقة بناءً على الأسماء المحددة دفعة واحدة.
Apply and fill the formula to other cells

ملاحظة: في الصيغة أعلاه:

  • "A2:A14" هو النطاق الذي يحتوي على جميع القيم للبحث؛
  • "B2:B14" هو نطاق القيم المطابقة التي تريد إرجاعها؛
  • "E2" هي قيمة البحث؛
  • "2" تشير إلى القيمة الثانية المطابقة التي تريد الحصول عليها، ولإرجاع القيمة الثالثة، ما عليك سوى تغييرها إلى3.
 2.4.2 VLOOKUP وإرجاع القيمة الأخيرة المطابقة

إذا كنت ترغب في استخدام VLOOKUP لإرجاع القيمة الأخيرة المطابقة كما هو موضح في الصورة أدناه، فقد يساعدك هذا الدليل VLOOKUP And Return The Last Matching Value في الحصول على القيمة الأخيرة المطابقة بالتفصيل.

VLOOKUP and return the last matching value


2.5 VLOOKUP للقيم المطابقة بين قيمتين أو تاريخين محددين

أحيانًا، قد ترغب في البحث عن قيم بين قيمتين أو تاريخين وإرجاع النتائج المقابلة كما هو موضح في الصورة أدناه. في هذه الحالة، يمكنك استخدام دالة LOOKUP بدلاً من VLOOKUP مع جدول مرتب.
VLOOKUP matching values between two values

 2.5.1 VLOOKUP للقيم المطابقة بين قيمتين أو تاريخين باستخدام الصيغة

الخطوة1: ترتيب البيانات وتطبيق الصيغة التالية

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

=LOOKUP(2,1/($A$2:$A$6<=E2)/($B$2:$B$6>=E2),$C$2:$C$6)

النتيجة:

الآن، ستحصل على جميع السجلات المطابقة بناءً على القيمة المحددة، انظر الصورة:
Arrange the data and apply a formula

ملاحظات:

  • في الصيغة أعلاه:
    • "A2:A6" هو نطاق القيم الأصغر؛
    • "B2:B6" هو نطاق الأرقام الأكبر؛
    • "E2" هي قيمة البحث التي تريد الحصول على قيمتها المقابلة؛
    • "C2:C6" هو العمود الذي تريد إرجاع القيمة المقابلة منه.
  • يمكن أيضًا استخدام هذه الصيغة لاستخراج القيم المطابقة بين تاريخين كما هو موضح في الصورة أدناه:
    this formula also can extract matched values between two dates
 2.5.2 VLOOKUP للقيم المطابقة بين قيمتين أو تاريخين باستخدام ميزة سهلة

إذا وجدت صعوبة في تذكر وفهم الصيغة السابقة، سأقدم لك أداة سهلة – "Kutools لـ Excel"، حيث يمكنك من خلال ميزة "البحث عن البيانات بين قيمتين" إرجاع العنصر المقابل بناءً على قيمة أو تاريخ محدد بين قيمتين أو تاريخين بسهولة.

  1. انقر على "Kutools" > "بحث متقدم" > "البحث عن البيانات بين قيمتين" لتفعيل هذه الميزة.
  2. ثم حدد العمليات من مربع الحوار بناءً على بياناتك.
ملاحظة: لتطبيق هذه الميزة، يرجى تحميل Kutools لـ Excel مع فترة تجريبية مجانية لمدة30 يومًا.

VLOOKUP matching values between two given values or dates by kutools

Kutools لـ Excel يقدم أكثر من 300 ميزة متقدمة لتبسيط المهام المعقدة، مما يعزز الإبداع والكفاءة. بالتكامل مع قدرات الذكاء الاصطناعي، يقوم Kutools بأتمتة المهام بدقة، مما يجعل إدارة البيانات أمرًا سهلاً للغاية. معلومات تفصيلية عن Kutools لـ Excel... نسخة تجريبية مجانية...

2.6 استخدام الرموز النائبة للمطابقة الجزئية في دالة VLOOKUP

في Excel، يمكن استخدام الرموز النائبة ضمن دالة VLOOKUP، مما يتيح لك إجراء مطابقة جزئية لقيمة البحث. على سبيل المثال، يمكنك استخدام VLOOKUP لإرجاع قيمة مطابقة من جدول بناءً على جزء من قيمة البحث.

افترض أن لدي نطاق بيانات كما هو موضح في الصورة أدناه، وأرغب الآن في استخراج الدرجة بناءً على الاسم الأول (وليس الاسم الكامل). كيف يمكن حل هذه المهمة في Excel؟
VLOOKUP partial matches

الخطوة1: تطبيق الصيغة وتعبئتها في الخلايا الأخرى

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

=VLOOKUP(E2&"*", $A$2:$C$11, 3, FALSE)

النتيجة:

تم إرجاع جميع الدرجات المطابقة كما هو موضح في الصورة أدناه:
Apply and fill the formula to other cells

ملاحظة: في الصيغة أعلاه:

  • "E2&"*"" هو معيار المطابقة الجزئية. هذا يعني أنك تبحث عن أي قيمة تبدأ بالقيمة الموجودة في الخلية E2. (الرمز النائب "*" يشير إلى أي حرف أو أي عدد من الأحرف)
  • "A2:C11" هو نطاق البيانات الذي تريد البحث فيه عن القيمة المطابقة؛
  • "3" تعني إرجاع القيمة المطابقة من العمود الثالث من نطاق البيانات؛
  • "False" تشير إلى المطابقة التامة. (عند استخدام الرموز النائبة، يجب تعيين آخر معامل في الدالة على FALSE أو0 لتفعيل وضع المطابقة التامة في دالة VLOOKUP.)
نصائح:
  • للعثور على القيم المطابقة التي تنتهي بقيمة محددة، يجب وضع الرمز النائب "*" قبل القيمة. يرجى تطبيق هذه الصيغة:
  • =VLOOKUP("*"&E2, $A$2:$C$11, 3, FALSE)

    To return the matching values ending with a specific value, put the wildcard in front of the value
  • للبحث وإرجاع القيمة المطابقة بناءً على جزء من سلسلة نصية، سواء كان النص المحدد في البداية أو النهاية أو في منتصف السلسلة، ما عليك سوى إحاطة مرجع الخلية أو النص بنجمتين (*) من الجانبين. يرجى استخدام هذه الصيغة
  • =VLOOKUP("*"&D2&"*", $A$2:$B$11, 2, FALSE)

    to return the matched value based on part of the text string, enclose the cell reference with two asterisks on both sides

2.7 VLOOKUP للقيم من ورقة عمل أخرى

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

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

الخطوة1: تطبيق الصيغة وتعبئتها في الخلايا الأخرى

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

=VLOOKUP(A2,'Data sheet'!$A$2:$C$15,3,0)

النتيجة:

ستحصل على النتائج المقابلة كما تحتاج، انظر الصورة:

data in one sheet arrow right get the corresponding results in another sheet

ملاحظة: في الصيغة أعلاه:

  • "A2" تمثل قيمة البحث؛
  • "'Data sheet'!A2:C15" تشير إلى البحث عن القيم من النطاق A2:C15 في ورقة العمل المسماة Data sheet؛ (إذا كان اسم الورقة يحتوي على مسافة أو علامات ترقيم، يجب إحاطة اسم الورقة بعلامات اقتباس مفردة، وإلا يمكنك استخدام اسم الورقة مباشرة مثل:
    =VLOOKUP(A2,Datasheet!$A$2:$C$15,3,0) ).
  • "3" هو رقم العمود الذي يحتوي على البيانات المطابقة التي تريد إرجاعها؛
  • "0" تعني إجراء مطابقة تامة.

2.8 VLOOKUP للقيم من مصنف آخر

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

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

الخطوة1: تطبيق الصيغة

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

=VLOOKUP(B2,'[Product list.xlsx]Sheet1'!$A$2:$B$6,2,0)

النتيجة:

Apply and fill the formula

ملاحظات:

  • في الصيغة أعلاه:
    • "B2" تمثل قيمة البحث؛
    • "'[Product list.xlsx]Sheet1'!A2:B6" تشير إلى البحث من النطاق A2:B6 في الورقة المسماة Sheet1 من المصنف Product list؛ (يتم إحاطة مرجع المصنف بأقواس مربعة، ويتم إحاطة المصنف + الورقة بالكامل بعلامات اقتباس مفردة.)
    • "2" هو رقم العمود الذي يحتوي على البيانات المطابقة التي تريد إرجاعها؛
    • "0" تشير إلى إرجاع مطابقة تامة.
  • إذا كان المصنف الذي يتم البحث فيه مغلقًا، سيظهر المسار الكامل للملف في الصيغة كما هو موضح في الصورة التالية:
    If the lookup workbook is closed, the full file path for the lookup workbook is shown in the formula

2.9 إرجاع فراغ أو نص محدد بدلاً من0 أو قيمة خطأ #N/A

عادةً، عند استخدام دالة VLOOKUP لإرجاع قيمة مقابلة، إذا كانت الخلية المطابقة فارغة، ستُرجع0. وإذا لم يتم العثور على القيمة المطابقة، ستحصل على قيمة خطأ #N/A كما هو موضح في الصورة أدناه. إذا كنت ترغب في عرض خلية فارغة أو قيمة محددة بدلاً من0 أو #N/A، فقد يساعدك هذا الدليل "VLOOKUP To Return Blank Or Specific Value Instead Of0 Or N/A".

Return blank or specific text instead of 0 or #N/A error


أمثلة متقدمة على VLOOKUP

3.1 بحث ثنائي الاتجاه (VLOOKUP في الصف والعمود)

أحيانًا، قد تحتاج إلى إجراء بحث ثنائي الأبعاد، أي البحث عن قيمة في كل من الصف والعمود في نفس الوقت. على سبيل المثال، إذا كان لديك نطاق بيانات كما في الصورة التالية، وقد تحتاج إلى الحصول على قيمة منتج معين في ربع محدد. سيقدم هذا القسم صيغة للتعامل مع هذه المهمة في Excel.
VLOOKUP in row and column

في Excel، يمكنك استخدام مزيج من دالتي VLOOKUP وMATCH لإجراء بحث ثنائي الاتجاه.

يرجى تطبيق الصيغة التالية في خلية فارغة، ثم اضغط على مفتاح "Enter" للحصول على النتيجة.

=VLOOKUP(G2, $A$2:$E$7, MATCH(H1, $A$2:$E$2, 0), FALSE)

use a combination of VLOOKUP and MATCH functions to get the result

ملاحظة: في الصيغة أعلاه:

  • "G2" هي قيمة البحث في العمود التي تريد الحصول على القيمة المقابلة بناءً عليها؛
  • "A2:E7" هو جدول البيانات الذي ستبحث فيه؛
  • "H1" هي قيمة البحث في الصف التي تريد الحصول على القيمة المقابلة بناءً عليها؛
  • "A2:E2" هي خلايا رؤوس الأعمدة؛
  • "FALSE" تشير إلى الحصول على مطابقة تامة.

3.2 VLOOKUP للقيمة المطابقة بناءً على معيارين أو أكثر

من السهل البحث عن القيمة المطابقة بناءً على معيار واحد، لكن إذا كان لديك معياران أو أكثر، ماذا تفعل؟

 3.2.1 VLOOKUP للقيمة المطابقة بناءً على معيارين أو أكثر باستخدام الصيغ

في هذه الحالة، يمكن لدوال LOOKUP أو MATCH وINDEX في Excel مساعدتك في حل هذه المهمة بسرعة وسهولة.

على سبيل المثال، لدي جدول بيانات كما هو موضح أدناه، ولإرجاع السعر المطابق بناءً على المنتج والحجم المحددين، قد تساعدك الصيغ التالية.
VLOOKUP based on two or more criteria

الخطوة1: تطبيق أي من الصيغ أدناه

الصيغة1: أدخل الصيغة التالية واضغط على "Enter".

=LOOKUP(2,1/($A$2:$A$12=G1)/($B$2:$B$12=G2),($D$2:$D$12))

الصيغة2: أدخل الصيغة التالية واضغط على "Ctrl" + "Shift" + "Enter".

=INDEX($D$2:$D$12,MATCH(1,($A$2:$A$12=G1)*($B$2:$B$12=G2),0))

النتيجة:

Apply any one formula to get the result

ملاحظات:

  • في الصيغ أعلاه:
    • "A2:A12=G1" تعني البحث عن معيار G1 في النطاق A2:A12؛
    • "B2:B12=G2" تعني البحث عن معيار G2 في النطاق B2:B12؛
    • "D2:D12" هو النطاق الذي تريد إرجاع القيمة المقابلة منه.
  • إذا كان لديك أكثر من معيارين، ما عليك سوى ضم المعايير الأخرى إلى الصيغة، مثل:
    =LOOKUP(2,1/($A$2:$A$12=G1)/($B$2:$B$12=G2)/($C$2:$C$12=G3),($D$2:$D$12))
    =INDEX($D$2:$D$12,MATCH(1,($A$2:$A$12=G1)*($B$2:$B$12=G2)*($C$2:$C$12=G3),0))
  • join the other criteria into the formula if there are more than two criteria
 3.2.2 VLOOKUP للقيمة المطابقة بناءً على معيارين أو أكثر باستخدام Kutools لـ Excel

قد يكون من الصعب تذكر الصيغ المعقدة أعلاه التي تحتاج إلى تطبيقها مرارًا وتكرارًا، مما قد يبطئ من كفاءة عملك. ومع ذلك، يوفر "Kutools لـ Excel" ميزة "البحث بشروط متعددة" التي تتيح لك إرجاع النتيجة المقابلة بناءً على شرط أو أكثر بعدة نقرات فقط.

  1. انقر على "Kutools" > "بحث متقدم" > "البحث بشروط متعددة" لتفعيل هذه الميزة.
  2. ثم حدد العمليات من مربع الحوار بناءً على بياناتك.
ملاحظة: لتطبيق هذه الميزة، يرجى تحميل Kutools لـ Excel مع فترة تجريبية مجانية لمدة30 يومًا.

VLOOKUP based on two or more criteria by kutools

Kutools لـ Excel يقدم أكثر من 300 ميزة متقدمة لتبسيط المهام المعقدة، مما يعزز الإبداع والكفاءة. بالتكامل مع قدرات الذكاء الاصطناعي، يقوم Kutools بأتمتة المهام بدقة، مما يجعل إدارة البيانات أمرًا سهلاً للغاية. معلومات تفصيلية عن Kutools لـ Excel... نسخة تجريبية مجانية...

3.3 VLOOKUP لإرجاع عدة قيم بناءً على شرط أو أكثر

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

 3.3.1 VLOOKUP لجميع القيم المطابقة بناءً على شرط أو أكثر أفقيًا

افترض أن لديك جدول بيانات يحتوي على البلد، المدينة، والأسماء في النطاق A1:C14، والآن ترغب في إرجاع جميع الأسماء أفقيًا من "US" كما هو موضح في الصورة أدناه. لحل هذه المهمة، يرجى النقر هنا للحصول على النتيجة خطوة بخطوة.

 VLOOKUP all matching values based on one or more conditions horizontally

 3.3.2 VLOOKUP لجميع القيم المطابقة بناءً على شرط أو أكثر عموديًا

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

 VLOOKUP all matching values based on one or more conditions vertically

 3.3.3 VLOOKUP لجميع القيم المطابقة بناءً على شرط أو أكثر في خلية واحدة

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

 VLOOKUP all matching values based on one or more conditions into single cell

ملاحظات:

  • دالة TEXTJOIN متوفرة فقط في Excel2019 وExcel365 والإصدارات الأحدث.
  • إذا كنت تستخدم Excel2016 أو الإصدارات الأقدم، يرجى استخدام الدالة المعرفة من قبل المستخدم في المقالة أدناه:
  • VLOOKUP لإرجاع عدة قيم في خلية واحدة في Excel

3.4 VLOOKUP لإرجاع الصف الكامل للخلية المطابقة

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

الخطوة1: تطبيق الصيغة التالية

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

=VLOOKUP($F$2,$A$1:$D$12,COLUMN(A1),FALSE)

النتيجة:

الآن، يمكنك رؤية بيانات الصف بالكامل تم إرجاعها. انظر الصورة:
VLOOKUP to return entire row of a matched cell by a formula

ملاحظة: في الصيغة أعلاه:

  • "F2" هي قيمة البحث التي تريد إرجاع الصف الكامل بناءً عليها؛
  • "A1:D12" هو نطاق البيانات الذي تريد البحث فيه عن قيمة البحث؛
  • "A1" تشير إلى رقم العمود الأول ضمن نطاق بياناتك؛
  • "FALSE" تشير إلى البحث المطابق تمامًا.

نصائح:

  • إذا تم العثور على عدة صفوف بناءً على القيمة المطابقة، لإرجاع جميع الصفوف المقابلة، يرجى تطبيق الصيغة أدناه، ثم اضغط على مفاتيح "Ctrl" + "Shift" + "Enter" معًا للحصول على النتيجة الأولى. بعد ذلك، اسحب مقبض التعبئة إلى اليمين. ثم تابع سحب مقبض التعبئة لأسفل عبر الخلايا للحصول على جميع الصفوف المطابقة. انظر العرض التوضيحي أدناه:
    =IFERROR(INDEX(A:A,SMALL(IF(ISNUMBER(SEARCH($F$2,$A$2:$A$12)),ROW($A$2:$A$12),""),ROW()-1)),"")

3.5 VLOOKUP متداخل في Excel

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

على سبيل المثال، لدي ورقة عمل تحتوي على جدولين منفصلين. الجدول الأول يسرد جميع أسماء المنتجات مع مندوب المبيعات المقابل. الجدول الثاني يسرد إجمالي مبيعات كل مندوب مبيعات. الآن، إذا كنت ترغب في معرفة مبيعات كل منتج كما هو موضح في الصورة التالية، يمكنك تضمين دالة VLOOKUP لتحقيق ذلك.
Nested VLOOKUP

الصيغة العامة لدالة VLOOKUP المتداخلة هي:

=VLOOKUP(VLOOKUP(lookup_value, table_array1, col_index_num1,0), table_array2, col_index_num2,0)

ملاحظات:

  • "lookup_value" هي القيمة التي تبحث عنها؛
  • "Table_array1"، "Table_array2" هي الجداول التي توجد بها قيمة البحث وقيمة الإرجاع؛
  • "col_index_num1" تشير إلى رقم العمود في الجدول الأول للعثور على البيانات المشتركة الوسيطة؛
  • "col_index_num2" تشير إلى رقم العمود في الجدول الثاني الذي تريد إرجاع القيمة المطابقة منه؛
  • "0" تُستخدم للمطابقة التامة.

الخطوة1: تطبيق وتعبئة الصيغة التالية

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

=VLOOKUP(VLOOKUP(G3,$A$3:$B$7,2,0),$D$3:$E$7,2,0)

النتيجة:

الآن، ستحصل على النتيجة كما هو موضح في الصورة التالية:
Apply and fill a formula

ملاحظات: في الصيغة أعلاه:

  • "G3" تحتوي على القيمة التي تبحث عنها؛
  • "A3:B7"، "D3:E7" هي نطاقات الجداول التي توجد بها قيمة البحث وقيمة الإرجاع؛
  • "2" هو رقم العمود في النطاق لإرجاع القيمة المطابقة منه.
  • "0" تشير إلى مطابقة تامة في VLOOKUP.

3.6 التحقق من وجود قيمة بناءً على بيانات قائمة في عمود آخر

يمكن لدالة VLOOKUP أيضًا مساعدتك في التحقق مما إذا كانت القيم موجودة بناءً على قائمة بيانات في عمود آخر. على سبيل المثال، إذا كنت ترغب في البحث عن الأسماء في العمود C وإرجاع نعم أو لا فقط إذا تم العثور على الاسم أو لم يتم العثور عليه في العمود A كما هو موضح في الصورة أدناه.
Check if value exists based on a list data in another column

الخطوة1: تطبيق الصيغة التالية

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

=IF(ISNA(VLOOKUP(C2,$A$2:$A$10,1,FALSE)), "No", "Yes")

النتيجة:

وستحصل على النتيجة كما تحتاج، انظر الصورة:
Apply and fill a formula

ملاحظات: في الصيغة أعلاه:

  • "C2" هي قيمة البحث التي تريد التحقق منها؛
  • "A2:A10" هي قائمة النطاق التي سيتم التحقق منها إذا كانت قيم البحث ستُوجد أم لا؛
  • "FALSE" تشير إلى الحصول على مطابقة تامة.

3.7 VLOOKUP وجمع جميع القيم المطابقة في الصفوف أو الأعمدة

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

 3.7.1 VLOOKUP وجمع جميع القيم المطابقة في صف أو عدة صفوف

افترض أن لديك قائمة منتجات مع المبيعات لعدة أشهر كما هو موضح في الصورة التالية. الآن، تحتاج إلى جمع جميع الطلبات في جميع الأشهر بناءً على المنتجات المحددة.
VLOOKUP and sum all matched values in a row

الخطوة1: تطبيق الصيغة التالية

يرجى نسخ أو إدخال الصيغة التالية في خلية فارغة، ثم اضغط على مفاتيح "Ctrl" + "Shift" + "Enter" معًا للحصول على النتيجة الأولى. بعد ذلك، اسحب مقبض التعبئة لأسفل لنسخ هذه الصيغة إلى الخلايا الأخرى التي تحتاجها.

=SUM(VLOOKUP(H2, $A$2:$F$9, {2,3,4,5,6}, FALSE))

Apply and fill a formula

النتيجة:

تم جمع جميع القيم في صف أول قيمة مطابقة معًا، انظر الصورة:
all values in a row of the first matching value are summed together

ملاحظات: في الصيغة أعلاه:

  • "H2" هي الخلية التي تحتوي على القيمة التي تبحث عنها؛
  • "A2:F9" هو نطاق البيانات (بدون رؤوس الأعمدة) الذي يتضمن قيمة البحث والقيم المطابقة؛
  • "{2,3,4,5,6}" هي أرقام الأعمدة المستخدمة لحساب إجمالي النطاق؛
  • "FALSE" تشير إلى مطابقة تامة.

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

  • =SUMPRODUCT(($A$2:$A$9=H2)*$B$2:$F$9)
  • apply a formula to sum all matches in multiple rows
 3.7.2 VLOOKUP وجمع جميع القيم المطابقة في عمود أو عدة أعمدة

إذا كنت ترغب في جمع القيمة الإجمالية للأشهر المحددة كما هو موضح في الصورة أدناه. قد لا تساعدك دالة VLOOKUP العادية هنا، بل يجب عليك استخدام دوال SUM وINDEX وMATCH معًا لإنشاء صيغة.
VLOOKUP and sum all matched values in a column

الخطوة1: تطبيق الصيغة التالية

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

=SUM(INDEX($B$2:$F$9,0,MATCH(H2,$B$1:$F$1,0)))

النتيجة:

الآن، تم جمع أول القيم المطابقة بناءً على الشهر المحدد في عمود معًا، انظر الصورة:
Apply and fill a formula

ملاحظات: في الصيغة أعلاه:

  • "H2" هي الخلية التي تحتوي على القيمة التي تبحث عنها؛
  • "B1:F1" هي رؤوس الأعمدة التي تحتوي على قيمة البحث؛
  • "B2:F9" هو نطاق البيانات الذي يحتوي على القيم الرقمية التي تريد جمعها.

نصائح: لجمع جميع القيم المطابقة في عدة أعمدة باستخدام VLOOKUP، يجب عليك استخدام الصيغة التالية:

  • =SUMPRODUCT($B$2:$F$9*(($B$1:$F$1)=H2))
  • use a formula to sum all matched values in multiple columns
 3.7.3 VLOOKUP وجمع أول قيمة مطابقة أو جميع القيم المطابقة باستخدام Kutools لـ Excel

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

  1. انقر على "Kutools" > "بحث متقدم" > "البحث والجمع" لتفعيل هذه الميزة.
  2. ثم حدد العمليات من مربع الحوار بناءً على حاجتك.
ملاحظة: لتطبيق هذه الميزة، يرجى تحميل Kutools لـ Excel مع فترة تجريبية مجانية لمدة30 يومًا.
Kutools لـ Excel يقدم أكثر من 300 ميزة متقدمة لتبسيط المهام المعقدة، مما يعزز الإبداع والكفاءة. بالتكامل مع قدرات الذكاء الاصطناعي، يقوم Kutools بأتمتة المهام بدقة، مما يجعل إدارة البيانات أمرًا سهلاً للغاية. معلومات تفصيلية عن Kutools لـ Excel... نسخة تجريبية مجانية...
 3.7.4 VLOOKUP وجمع جميع القيم المطابقة في الصفوف والأعمدة معًا

إذا كنت ترغب في جمع القيم عند الحاجة لمطابقة كل من العمود والصف، على سبيل المثال، للحصول على القيمة الإجمالية للمنتج Sweater في شهر Mar كما هو موضح في الصورة أدناه.
VLOOKUP and sum all matched values both in rows and columns

هنا، يمكنك استخدام دالة SUMPRODUCT لإنجاز هذه المهمة.

يرجى تطبيق الصيغة التالية في خلية، ثم اضغط على مفتاح "Enter" للحصول على النتيجة، انظر الصورة:

=SUMPRODUCT(($B$2:$F$9)*($B$1:$F$1=I2)*($A$2:$A$9=H2))

use the SUMPRODCT function to get the result

ملاحظات: في الصيغة أعلاه:

  • "B2:F9" هو نطاق البيانات الذي يحتوي على القيم الرقمية التي تريد جمعها؛
  • "B1:F1" هي رؤوس الأعمدة التي تحتوي على قيمة البحث التي تريد الجمع بناءً عليها؛
  • "I2" هي قيمة البحث ضمن رؤوس الأعمدة التي تبحث عنها؛
  • "A2:A9" هي رؤوس الصفوف التي تحتوي على قيمة البحث التي تريد الجمع بناءً عليها؛
  • "H2" هي قيمة البحث ضمن رؤوس الصفوف التي تبحث عنها.

3.8 VLOOKUP لدمج جدولين بناءً على أعمدة رئيسية

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

 3.8.1 VLOOKUP لدمج جدولين بناءً على عمود رئيسي واحد

على سبيل المثال، لديك جدولان، الأول يحتوي على بيانات المنتجات والأسماء، والثاني يحتوي على بيانات المنتجات والطلبات، والآن ترغب في دمج هذين الجدولين بمطابقة عمود المنتج المشترك في جدول واحد.
VLOOKUP to merge two tables based on one key column

الخطوة1: تطبيق الصيغة التالية

يرجى تطبيق الصيغة التالية في خلية فارغة. ثم اسحب مقبض التعبئة لأسفل إلى الخلايا التي تريد تطبيق هذه الصيغة عليها

=INDEX($F$2:$F$8, MATCH($A2, $E$2:$E$8, 0))

النتيجة:

الآن، ستحصل على جدول مدمج مع عمود الطلبات مضافًا إلى الجدول الأول بناءً على بيانات العمود الرئيسي.
Apply and fill a formula to get the result

ملاحظات: في الصيغة أعلاه:

  • "A2" هي قيمة البحث التي تبحث عنها؛
  • "F2:F8" هو نطاق البيانات الذي تريد إرجاع القيم المطابقة منه؛
  • "E2:E8" هو نطاق البحث الذي يحتوي على قيمة البحث.
 3.8.2 VLOOKUP لدمج جدولين بناءً على أعمدة رئيسية متعددة

إذا كان الجدولان اللذان تريد دمجهما يحتويان على عدة أعمدة رئيسية، لدمج الجداول بناءً على هذه الأعمدة المشتركة، يرجى اتباع الخطوات أدناه.
VLOOKUP to merge two tables based on multiple key columns

الصيغة العامة هي:

=INDEX(lookup_table, MATCH(1, (lookup_value1=lookup_range1) * (lookup_value2=lookup_range2),0), return_column_number)

ملاحظات:

  • "lookup_table" هو نطاق البيانات الذي يحتوي على بيانات البحث والسجلات المطابقة؛
  • "lookup_value1" هو المعيار الأول الذي تبحث عنه؛
  • "lookup_range1" هي قائمة البيانات التي تحتوي على المعيار الأول؛
  • "lookup_value2" هو المعيار الثاني الذي تبحث عنه؛
  • "lookup_range2" هي قائمة البيانات التي تحتوي على المعيار الثاني؛
  • "return_column_number" تشير إلى رقم العمود في lookup_table الذي تريد إرجاع القيمة المطابقة منه.

الخطوة1: تطبيق الصيغة التالية

يرجى تطبيق الصيغة أدناه في خلية فارغة حيث تريد وضع النتيجة، ثم اضغط على مفاتيح "Ctrl" + "Shift" + "Enter" معًا للحصول على أول قيمة مطابقة، انظر الصورة:

=INDEX($E$2:$G$9, MATCH(1, ($A2=$E$2:$E$9) * ($B2=$F$2:$F$9), 0), 3)

Apply a formula

الخطوة2: تعبئة الصيغة في الخلايا الأخرى

ثم، حدد خلية الصيغة الأولى، واسحب مقبض التعبئة لنسخ هذه الصيغة إلى الخلايا الأخرى حسب الحاجة:
Fill the formula to other cells

نصيحة: في Excel2016 أو الإصدارات الأحدث، يمكنك أيضًا استخدام ميزة "Power Query" لدمج جدولين أو أكثر في جدول واحد بناءً على الأعمدة الرئيسية. يرجى النقر لمعرفة التفاصيل خطوة بخطوة.

3.9 VLOOKUP للقيم المطابقة عبر أوراق عمل متعددة

هل سبق لك أن احتجت إلى إجراء VLOOKUP عبر أوراق عمل متعددة في Excel؟ على سبيل المثال، إذا كان لديك ثلاث أوراق عمل تحتوي على نطاقات بيانات، وتريد استرجاع قيم محددة بناءً على معايير من هذه الأوراق، يمكنك اتباع الدليل خطوة بخطوة "VLOOKUP Values Across Multiple Worksheets" لإنجاز هذه المهمة.

VLOOKUP across multiple worksheets


VLOOKUP للقيم المطابقة مع الحفاظ على تنسيق الخلية

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

4.1 VLOOKUP للقيمة المطابقة مع الحفاظ على لون الخلية وتنسيق الخط

كما هو معروف، يمكن لدالة VLOOKUP العادية فقط استرجاع القيمة المطابقة من نطاق بيانات آخر. ومع ذلك، قد تكون هناك حالات ترغب فيها في الحصول على القيمة المقابلة مع تنسيق الخلية، مثل لون التعبئة أو لون الخط أو نمط الخط. في هذا القسم، سنناقش كيفية استرجاع القيم المطابقة مع الحفاظ على تنسيق المصدر في Excel.
VLOOKUP and keep cell formatting

يرجى اتباع الخطوات التالية للبحث وإرجاع القيمة المقابلة مع تنسيق الخلية:

الخطوة1: نسخ الكود1 إلى وحدة كود الورقة

  1. في ورقة العمل التي تحتوي على البيانات التي تريد استخدام VLOOKUP عليها، انقر بزر الماوس الأيمن على تبويب الورقة واختر "عرض الكود" من القائمة. انظر الصورة:
     right click the sheet tab and select View Code
  2. في نافذة "Microsoft Visual Basic for Applications" المفتوحة، يرجى نسخ كود VBA أدناه إلى نافذة الكود.
  3. كود VBA1: VLOOKUP للحصول على تنسيق الخلية مع قيمة البحث
  4. Sub Worksheet_Change(ByVal Target As Range)
    'Updateby Extendoffice
        Dim I As Long
        Dim xKeys As Long
        Dim xDicStr As String
        On Error Resume Next
        Application.ScreenUpdating = False
        xKeys = UBound(xDic.Keys)
        If xKeys >= 0 Then
            For I = 0 To UBound(xDic.Keys)
                xDicStr = xDic.Items(I)
                If xDicStr <> "" Then
                    Range(xDic.Keys(I)).Interior.Color = _
                    Range(xDic.Items(I)).Interior.Color
                    Range(xDic.Keys(I)).Font.FontStyle = _
                    Range(xDic.Items(I)).Font.FontStyle
                    Range(xDic.Keys(I)).Font.Size = _
                    Range(xDic.Items(I)).Font.Size
                    Range(xDic.Keys(I)).Font.Color = _
                    Range(xDic.Items(I)).Font.Color
                    Range(xDic.Keys(I)).Font.Name = _
                    Range(xDic.Items(I)).Font.Name
                    Range(xDic.Keys(I)).Font.Underline = _
                    Range(xDic.Items(I)).Font.Underline
                Else
                    Range(xDic.Keys(I)).Interior.Color = xlNone
                End If
            Next
            Set xDic = Nothing
        End If
        Application.ScreenUpdating = True
    End Sub
    
  5. copy and paste the code1 into the module

الخطوة2: نسخ الكود2 إلى نافذة الوحدة

  1. لا تزال في نافذة "Microsoft Visual Basic for Applications"، انقر على "إدراج" > "وحدة"، ثم انسخ كود VBA2 أدناه إلى نافذة "الوحدة".
  2. كود VBA2: VLOOKUP للحصول على تنسيق الخلية مع قيمة البحث
  3. Public xDic As New Dictionary
    Function LookupKeepFormat (ByRef FndValue, ByRef LookupRng As Range, ByRef xCol As Long)
        Dim xFindCell As Range
        On Error Resume Next
        Set xFindCell = LookupRng.Find(FndValue, , xlValues, xlWhole)
        If xFindCell Is Nothing Then
            LookupKeepFormat = ""
            xDic.Add Application.Caller.Address, ""
        Else
            LookupKeepFormat = xFindCell.Offset(0, xCol - 1).Value
            xDic.Add Application.Caller.Address, xFindCell.Offset(0, xCol - 1).Address
        End If
    End Function
    
  4. copy and paste the code2 into the module

الخطوة3: اختيار الخيار لمشروع VBA

  1. بعد إدراج الأكواد أعلاه، انقر على "أدوات" > "مراجع" في نافذة "Microsoft Visual Basic for Applications". ثم ضع علامة على مربع "Microsoft Scripting Runtime" في مربع الحوار "المراجع – VBAProject". انظر الصور:
    click Tools > References arrow right check the Microsoft Scripting Runtime checkbox in the dialog box
  2. ثم، انقر على "موافق" لإغلاق مربع الحوار، ثم احفظ وأغلق نافذة الكود.

الخطوة4: كتابة الصيغة للحصول على النتيجة

  1. الآن، عد إلى ورقة العمل وطبق الصيغة التالية. ثم اسحب مقبض التعبئة لأسفل للحصول على جميع النتائج مع تنسيقاتها. انظر الصورة:
    =LookupKeepFormat(E2,$A$1:$C$10,3)

    type a formula for getting the result

ملاحظات: في الصيغة أعلاه:

  • "E2" هي القيمة التي ستبحث عنها؛
  • "A1:C10" هو نطاق الجدول؛
  • "3" هو رقم العمود في الجدول الذي تريد استرجاع القيمة المطابقة منه.

4.2 الحفاظ على تنسيق التاريخ من قيمة VLOOKUP المرجعة

عند استخدام دالة VLOOKUP للبحث وإرجاع قيمة بتنسيق تاريخ، قد تظهر النتيجة كرقم. للحفاظ على تنسيق التاريخ في النتيجة المرجعة، يجب تضمين دالة VLOOKUP ضمن دالة TEXT.
vlookup keep date format

الخطوة1: تطبيق الصيغة التالية

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

=TEXT(VLOOKUP(E2,$A$2:$C$9,3,FALSE),"mm/dd/yyyy")

النتيجة:

تم إرجاع جميع التواريخ المطابقة كما هو موضح في الصورة أدناه:
Apply and fill a formula

ملاحظات: في الصيغة أعلاه:

  • "E2" هي قيمة البحث؛
  • "A2:C9" هو نطاق البحث؛
  • "3" هو رقم العمود الذي تريد إرجاع القيمة منه؛
  • "FALSE" تشير إلى الحصول على مطابقة تامة؛
  • "mm/dd/yyyy" هو تنسيق التاريخ الذي تريد الحفاظ عليه.

4.3 إرجاع تعليق الخلية من VLOOKUP

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

الخطوة1: نسخ الكود إلى وحدة

  1. اضغط باستمرار على مفاتيح "ALT" + "F11" لفتح نافذة "Microsoft Visual Basic for Applications".
  2. انقر على "إدراج" > "وحدة"، ثم انسخ والصق الكود التالي في نافذة "الوحدة".
    كود VBA: VLOOKUP وإرجاع القيمة المطابقة مع تعليق الخلية:
    Function VlookupComment(LookVal As Variant, FTable As Range, FColumn As Long, FType As Long) As Variant
    'Updateby Extendoffice
        Application.Volatile
        Dim xRet As Variant 'could be an error
        Dim xCell As Range
        xRet = Application.Match(LookVal, FTable.Columns(1), FType)
        If IsError(xRet) Then
            VlookupComment = "Not Found"
        Else
            Set xCell = FTable.Columns(FColumn).Cells(1)(xRet)
            VlookupComment = xCell.Value
            With Application.Caller
                If Not .Comment Is Nothing Then
                    .Comment.Delete
                End If
                If Not xCell.Comment Is Nothing Then
                    .AddComment xCell.Comment.Text
                End If
            End With
        End If
    End Function
  3. ثم احفظ وأغلق نافذة الكود.

الخطوة2: كتابة الصيغة للحصول على النتيجة

  1. الآن، أدخل الصيغة التالية، واسحب مقبض التعبئة لنسخ هذه الصيغة إلى الخلايا الأخرى. ستُرجع كل من القيم المطابقة والتعليقات في نفس الوقت، انظر الصورة:
    =vlookupcomment(D2,$A$2:$B$9,2,FALSE)

    Type the formula to get the result with comment

ملاحظات: في الصيغة أعلاه:

  • "D2" هي قيمة البحث التي تريد إرجاع قيمتها المقابلة؛
  • "A2:B9" هو جدول البيانات الذي تريد استخدامه؛
  • "2" هو رقم العمود الذي يحتوي على القيمة المطابقة التي تريد إرجاعها؛
  • "FALSE" تشير إلى الحصول على مطابقة تامة.

4.4 VLOOKUP للأرقام المخزنة كنص

على سبيل المثال، لدي نطاق بيانات حيث رقم الهوية في الجدول الأصلي بتنسيق رقمي ورقم الهوية في خلايا البحث مخزن كنص، قد تواجه خطأ #N/A عند استخدام دالة VLOOKUP العادية. في هذه الحالة، لاسترجاع المعلومات الصحيحة، يمكنك تضمين دالتي TEXT وVALUE ضمن دالة VLOOKUP. الصيغة أدناه تحقق ذلك:
VLOOKUP numbers stored as text

الخطوة1: تطبيق وتعبئة الصيغة التالية

يرجى تطبيق الصيغة التالية في خلية فارغة، ثم اسحب مقبض التعبئة لأسفل لنسخ هذه الصيغة.

=IFERROR(VLOOKUP(VALUE(D2),$A$2:$B$8,2,0),VLOOKUP(TEXT(D2,0),$A$2:$B$8,2,0))

النتيجة:

الآن، ستحصل على النتائج الصحيحة كما هو موضح في الصورة أدناه:
Apply and fill a formula

ملاحظات:

  • في الصيغة أعلاه:
    • "D2" هي قيمة البحث التي تريد إرجاع قيمتها المقابلة؛
    • "A2:B8" هو جدول البيانات الذي تريد استخدامه؛
    • "2" هو رقم العمود الذي يحتوي على القيمة المطابقة التي تريد إرجاعها؛
    • "0" تشير إلى الحصول على مطابقة تامة.
  • تعمل هذه الصيغة أيضًا بشكل جيد إذا لم تكن متأكدًا من وجود أرقام أو نصوص.

جدول المحتويات