جدول المحتويات
VLOOKUP هي واحدة من أقوى الوظائف وأكثرها استخدامًا في Excel. استخدام الدالة المنطقية IF مع VLOOKUP يجعل الصيغ أكثر قوة. في هذه المقالة ، سنرى عددًا جيدًا من الأمثلة حيث قمنا بإقران Excel VLOOKUP الوظيفة مع شرط IF .
Excel IF Function
تحقق مما إذا كان الشرط مستوفى ، وأعد قيمة واحدة إذا كانت صحيحة ، وقيمة أخرى إذا كانت خطأ .
بناء الجملة من IF الوظيفة:
IF (logical_test, value_if_true, [value_if_false])
logical_test (مطلوب)
الشرط الذي تريد اختبار
value_if_true (مطلوب)
إذا كان logical_test هو TRUE ، فإن IF ستعيد الدالة هذه القيمة.
value_if_false (اختياري)
إذا كان logical_test هو FALSE ، IF ستعيد الدالة هذه القيمة.
وظيفة Excel VLOOKUP
تبحث عن قيمة في العمود الموجود في أقصى يسار الجدول ، ثم ترجع قيمة في نفس الصف من عمود تحدده. بشكل افتراضي ، يجب ترتيب الجدول بترتيب تصاعدي .
بناء الجملة من VLOOKUP الوظيفة:
VLOOKUP (lookup_value, table_array, column_index_num, [range_lookup])
lookup_value (مطلوب)
يشير هذا إلى القيمة التي تريد البحث عنها باستخدام هذه الوظيفة. تأكد من أن lookup_value في العمود الأول من table_array.
table_array (مطلوب)
إنه نطاق الخلايا الذي تريد البحث فيه عنصيغة VLOOKUP . إذا أرجعت هذه الصيغة VLOOKUP خطأ ، فسيتم عرض القيمة "لم يتم العثور عليه" في الخلية F7 .
- ثم ، اضغط على ENTER .
- الآن ، يمكنك أن ترى أنه تمت إزالة الخطأ .
- بعد ذلك ، لإزالة الخطأ باستخدام وظيفة ISNA حدد خلية F8 وأدخل الصيغة التالية.
=IF(ISNA(VLOOKUP(E8,price_list,2,FALSE)), "Not found", VLOOKUP(E8, price_list, 2, FALSE))
دالة ISNA ترجع TRUE عندما تعثر على # N / A خطأ . لقد أظهرته في الزاوية اليمنى العليا من ورقة العمل.
إذا كانت هذه الصيغة ترجع الخطأ # N / A ، ثم ISNA سيعود قيمة TRUE ، و IF وسيطة الدالة logical_test ستكون TRUE . إذا كانت هذه الصيغة VLOOKUP ترجع القيمة الحقيقية ، فستُرجع ISNA قيمة FALSE .
لذا ، إذا ISNA إرجاع القيمة TRUE القيمة IF ستظهر هذه القيمة "غير موجود" في الخلية F8 . خلاف ذلك ، سيتم تنفيذ هذه الصيغة: VLOOKUP (E8، price_list، 2، FALSE) . هذه صيغة مباشرة VLOOKUP .
- أخيرًا ، اضغط على ENTER لإزالة الخطأ باستخدام وظيفة ISNA .
6. إجراء حسابات متعددة باستخدام وظيفة VLOOKUP مع شرط IF
بعد ذلك ، سوف نعرض يمكنك كيفية إجراء عمليات حسابية متعددة باستخدام VLOOKUPالوظيفة مع شرط IF .
هنا ، سنختار أي بائع ، واعتمادًا على قيمة المبيعات سنحسب Comm٪ باستخدام وظيفة VLOOKUP مع شرط IF .
اتبع الخطوات الواردة أدناه لها بنفسك.
الخطوات:
- أولاً ، قم بإنشاء زر قائمة منسدلة في الخلية G4 باستخدام البيانات ميزة التحقق من الصحة حيث أدخل نطاق الخلية B5: B9 كـ المصدر يمر بالخطوات الموضحة في الطريقة 3 .
- بعد ذلك ، حدد أيًا بائع من القائمة المنسدلة. هنا ، سنختار بائعًا A .
- ثم ، حدد الخلية G5 وأدخل ما يلي الصيغة.
=IF(VLOOKUP(G4,$B$5:$D$9,3,FALSE)>=150,VLOOKUP(G4,$B$5:$D$9,3,FALSE)*30%,VLOOKUP(G4,$B$5:$D$9,3,FALSE)*15%)
انهيار الصيغة
- أولاً ، في وظيفة IF ، قمنا بتعيين VLOOKUP (G4، $ B $ 5: $ D 9،3، FALSE) & gt؛ = 150 كـ logical_test . سيتحقق مما إذا كانت القيمة في الخلية G4 أكبر من أو تساوي 150 باستخدام وظيفة VLOOKUP في نطاق الخلايا B5: D9 وفي العمود الثالث.
- ثم ، إذا أرجعت الوظيفة TRUE ، فستجد قيمة المبيعات من نطاق الخلايا B5: D9 وفي العمود الثالث باستخدام وظيفة VLOOKUP وبعد ذلك اضربها في 30٪ .
- وإلا ، فسيضرب قيمة قيمة VLookup في 15٪ .
- أخيرًا ، اضغط على ENTER للحصول على القيمة من Comm٪ .
7. مقارنة قيمة Vlookup مع قيمة خلية أخرى
في الطريقة النهائية ، سنعرض يمكنك كيفية مقارنة قيمة Vlookup مع قيمة خلية أخرى باستخدام وظيفة VLOOKUP مع شرط IF .
أولاً ، سنحسب قيمة الحد الأقصى للمبيعات ثم نتحقق مما إذا كان المنتج في الخلية G5 هو حد أقصى أم لا.
انتقل إلى الخطوات الواردة أدناه للقيام بذلك بنفسك.
الخطوات:
- في البداية ، حدد الخلية F4 وأدخل الصيغة التالية.
=MAX(D5:D9)
هنا ، في الحد الأقصى وظيفة ، أدخلنا نطاق الخلية D5: D9 كرقم لتحديد قيمة الحد الأقصى .
- ثم ، اضغط على ENTER .
- بعد ذلك ، قم بإنشاء زر قائمة منسدلة في الخلية G5 باستخدام ميزة التحقق من صحة البيانات حيث تقوم بإدراج نطاق الخلية C5: C9 كـ المصدر يمر بالخطوات الموضحة في الطريقة 3 .
- بعد ذلك ، حدد أي العلاقات العامة oduct من القائمة المنسدلة. هنا ، سنختار البيض .
- الآن ، حدد الخلية I5 وأدخل الصيغة التالية .
=IF(VLOOKUP($G$5,$C$5:$D$9,2,FALSE)>=$G$4,"Yes","No")
انهيار الصيغة
- أولاً ، في وظيفة IF ، قمنا بتعيين VLOOKUP ($ G $ 5 ، $ C $ 5: $ D 9،2 ، FALSE) & gt ؛ = $ G $ 4 كـ logical_test . سيتحقق مما إذا كانت القيمة في الخلية G5 أكبر من أويساوي القيمة في الخلية G4 باستخدام وظيفة VLOOKUP في نطاق الخلايا C5: D9 وفي العمود الثاني .
- ثم ، إذا كانت الوظيفة TRUE ، فإنها ستعيد "Yes" .
- وإلا ، إذا كانت الوظيفة FALSE ، سيعود "لا" .
- أخيرًا ، اضغط ENTER .
قسم التدريب
في هذا القسم ، نقدم لك مجموعة البيانات التي يمكنك ممارستها بنفسك وتعلم كيفية استخدام هذه الأساليب.
value.
col_index_num (مطلوب)
إنه رقم العمود الخاص بنطاق الخلايا المحدد الذي يبدأ بـ 1 من العمود الموجود في أقصى اليسار.
range_lookup (اختياري)
هذه قيمة منطقية اختيارية تشير إلى ما إذا كنت تريد العثور على تطابق تقريبي أو تطابق تام باستخدام هذه الوظيفة.
TRUE <سيبحث 2> عن أقرب قيمة بعد الأخذ في الاعتبار أن العمود الأول من الجدول مرتب إما رقميًا أو أبجديًا.
إذا لم تحدد طريقة ، فسيتم استخدام هذا افتراضيًا.
FALSE سيبحث عن القيمة الدقيقة للعمود الأول.
تنزيل Practice Workbook
VLOOKUP Function مع IF Condition.xlsx
7 طرق لاستخدام وظيفة VLOOKUP مع شرط IF في Excel
هنا ، ستجد 7 طرقًا مختلفة مع أمثلة واقعية لاستخدام الوظيفة VLOOKUP مع شرط IF في Excel.
1. استخدام وظيفة VLOOKUP مع شرط IF للإرجاع في المخزون / ليس في المخزون في Excel <1 1>
هذا مثال جيد إذا كنت تدير المخزون باستخدام Excel. في ورقة العمل التالية (أعلى الزاوية اليسرى) ، ترى لدي جدول. يسرد الجدول بعض المنتجات وحالتها ضمن العمود التوفر .
الآن ، سنستخدم وظيفة VLOOKUP مع إذا كان الشرط لإرجاع متوفر أو غير متوفر في الجدول الثاني.
هناهي الخطوات.
الخطوات:
- أولاً ، حدد نطاق الخلية B4: D9 .
- ثم ، اكتب product_status في المربع الاسم .
- التالي ، اضغط على ENTER .
- بعد ذلك ، في الجدول 2 nd (تحت عربة التسوق ) ، أسفل العمود الحالة ، وفي الخلية C13 سنقوم بإدخال هذه الصيغة.
=IF(VLOOKUP(B13, product_status, 2, FALSE)="Available", "In Stock", "Not in Stock")
هذه الصيغة تشرح نفسها بنفسها من الصورة أعلاه. إليك الشرح لمستخدمي Excel الجدد:
الآن ، دعنا نشرح الوسيطة logical_test لهذه الصيغة. نحن نستخدم هذه الصيغة VLOOKUP (B14، product_status، 2، FALSE) = "Available" باعتبارها الوسيطة IF للوظيفة logical_test . إذا أرجع هذا الجزء من الصيغة قيمة TRUE ، فستعرض الخلية القيمة "In Stock" ، وإلا ستعرض "Not in Stock" value.
- ثم ، اضغط على ENTER واسحب أداة Fill Handle إلى AutoFill الصيغة لبقية الخلايا .
استخدمنا أيضًا آخر IF و VLOOKUP تحت مجموعة السعر $ عمود.
- الآن ، هذه هي الصيغة التي استخدمتها في الخلية E13 .
=IF(C13="In Stock", D13*VLOOKUP(B13,product_status,3, FALSE), "Coming soon...")
هنا ، إذا كانت قيمة الخلية C13 هي "متوفر" ، فستعرض الخلية قيمة هذا الجزء من الصيغة : D13 * VLOOKUP (B13، product_status، 3، FALSE) . هذه الصيغةهو مجرد منتج لقيمة الخلية D13 وصيغة بسيطة VLOOKUP .
إذا كانت قيمة الخلية C13 ليست “In Stock” ، ثم ستعرض الخلية هذه القيمة “Coming soon…” .
- بعد ذلك ، اضغط على ENTER واسحب لأسفل أداة Fill Handle إلى AutoFill الصيغة لبقية الخلايا.
- التالي ، أدخل الصيغة التالية في الخلية E17 .
=SUM(E13:E16)
- أخيرًا ، اضغط على ENTER .
2. استخدام وظيفة VLOOKUP مع شرط IF لجدولتي قيم
في هذا المثال ، سترى كيفية استخدام صفيفتي جدول في صيغة Excel VLOOKUP .
الخطوات:
- أولاً ، أدخل الصيغة التالية في الخلية H5 .
=VLOOKUP(G5, IF(F5="New", new_customer, old_customer), 2, TRUE)
انهيار الصيغة
- أولاً ، الخلية G5 هي lookup_value في وظيفة VLOOKUP وهو مبلغ تحت العمود المبيعات .
- الآن ، إذا (F5 = "New"، new_customer، old_customer): ستُرجع هذه الصيغة أحد الجدولين: new_customer and old_customer . new_customer = $ B $ 5: $ C $ 9 and old_customer = $ B $ 13: $ C $ 17 .
- بعد ذلك ، الباقي بسيط. رقم فهرس العمود هو 2 . لذلك ، ستعيد الدالة VLOOKUP القيمة من العمود 2 nd من نفس الصفحيث يجد قيمة البحث .
لقد استخدمنا القيمة TRUE باعتبارها الوسيطة range_lookup ، لذلك ستبحث الدالة VLOOKUP عن أقرب قيمة تساوي أو تقل عن قيمة البحث .
- ثم ، اضغط على ENTER واسحب Fill Handle أداة AutoFill الصيغة لبقية الخلايا.
- أخيرًا ، ستفعل احصل على جميع قيم Comm٪ باستخدام وظيفة VLOOKUP مع شرط IF من جدولين .
3. استخدام ميزة التحقق من صحة البيانات مع وظيفة VLOOKUP وشرط IF
الآن ، سنوضح لك كيفية استخدام ميزة التحقق من صحة البيانات مع وظيفة VLOOKUP و IF الشرط في Excel.
هنا ، لدينا مجموعة بيانات تحتوي على قائمة المنتج و السعر من متجرين مينا و لافندر . الآن ، سوف نوضح لك كيفية VLOOKUP هذه البيانات في الجدول الثاني .
اتبع الخطوات الواردة أدناه للقيام بذلك بنفسك.
الخطوات:
- أولاً ، حدد خلية C4 .
- ثم انتقل إلى علامة التبويب بيانات & GT ؛ & GT. انقر فوق أدوات البيانات & gt؛ & gt؛ انقر فوق التحقق من صحة البيانات & gt؛ & gt؛ حدد التحقق من صحة البيانات .
- الآن ، سيظهر مربع التحقق من صحة البيانات .
- بعد ذلك ، حدد قائمة على أنها سماح وأدخل نطاق الخلية C6: D6 كـ المصدر .
- بعد ذلك ، انقر فوق موافق .
- مرة أخرى ، حدد الخلية C4 .
- ثم ، انقر فوق الزر القائمة المنسدلة .
- الآن ، حدد أي متجر من خيار. هنا ، سوف نختار Meena .
- التالي ، اسم نطاق الخلية B7: D111 كـ shop_price من خلال الخطوات الموضحة في الطريقة 1 .
- بعد ذلك ، حدد الخلية G7 وأدخل الصيغة التالية.
=IF($C$4="Meena",VLOOKUP(F7,shop_price,2,FALSE),VLOOKUP(F7,shop_price,3,FALSE))
انهيار الصيغة
- في بداية ، تختبر الدالة IF ما إذا كانت قيمة الخلية $ C $ 4 تساوي القيمة Meena .
- ثم ، إذا كان الاختبار المنطقي أعلاه هي TRUE ، تقوم بإرجاع هذا الجزء من الصيغة VLOOKUP (F7، shop_price، 2، FALSE) . إنها صيغة مباشرة VLOOKUP . يبحث عن قيمة الخلية F7 في مصفوفة الجدول سعر المتجر وإذا وجدها ، فتُرجع قيمة 2 nd من نفس الصف.
- وإلا ، إذا كان الاختبار المنطقي FALSE ، فإنه يقوم بإرجاع هذا الجزء من الصيغة VLOOKUP (F7، shop_price، 3 ، خطأ) . صيغة بسيطة VLOOKUP . يعثر VLOOKUP على قيمة الخلية F7 في صفيف الجدول shop_price وإذا عثر عليه ، فإنه يُرجع قيمة 3 rd عمود من نفس الصف.
- ثم ، اضغط على ENTER واسحب أداة Fill Handle إلى تعبئة تلقائية الصيغة لبقية الخلايا.
- الآن ، ستحصل على كل السعر قيم المنتجات الخاصة بالمخزن Meena .
- بعد ذلك ، حدد الخلية I7 وأدخل الصيغة التالية.
=G7*H7
هنا ، في الصيغة ، نحن مضروب خلية G7 بقيمة الخلية H7 إلى إجمالي سعر المنتج .
- ثم ، اضغط على ENTER واسحب أداة Fill Handle إلى AutoFill الصيغة لبقية الخلايا.
- الآن ، سوف نحصل على جميع إجمالي أسعار الفرد المنتجات .
- بعد ذلك ، حدد الخلية I12 وأدخل الصيغة التالية.
=SUM(I7:I11)
هنا ، في دالة SUM ، أضفنا جميع قيم نطاق الخلايا I7: I11 .
- أخيرًا ، اضغط على إدخال .
4. تحديد وسيطة رقم فهرس العمود لوظيفة VLOOKUP ديناميكيًا باستخدام IF Function
في الطريقة الرابعة ، سنوضح لك كيف يمكنك تحديد وسيطة Col Index Num الوسيطة VLOOKUP function ديناميكيًا باستخدام وظيفة IF في Excel.
فيما يلي الخطوات.
الخطوات:
- في البداية ، اسم نطاق الخلية B4: E11 كـ جدول مبيعات يمر بالخطوات الموضحة في الطريقة 1 .
- ثم ، قم بإنشاءزر القائمة المنسدلة في الخلية C14 باستخدام ميزة التحقق من صحة البيانات حيث يتم إدراج نطاق الخلية D4: E4 باعتباره المصدر يمر من خلال الخطوات الموضحة في الطريقة 3 .
- بعد ذلك ، حدد أي خيار باستخدام زر القائمة المنسدلة. هنا ، سنحدد مسقط .
- التالي ، حدد خلية C17 وأدخل الصيغة التالية .
=VLOOKUP(B17, sales_table, 2, FALSE)
هنا ، في وظيفة VLOOKUP ، أدخلنا الخلية B7 كـ lookup_value ، sales_table النطاق المسمى table_array ، 2 كـ col_index_num ، و FALSE كـ range_lookup .
- الآن ، اضغط على ENTER واسحب لأسفل مقبض التعبئة الأداة إلى الملء التلقائي الصيغة لبقية الخلايا.
- ثم حدد الخلية C24 وأدخل ما يلي الصيغة.
=SUM(C17:C23)
هنا ، في SUM Function ، أضفنا القيم من نطاق الخلايا C17: C23 للحصول على مقدار إجمالي الهدف .
- بعد ذلك ، اضغط على ENTER .
- بعد ذلك ، حدد خلية D16 وأدخل الصيغة التالية.
=VLOOKUP(B16, sales_table, IF($C$14="Projected", 3, 4), FALSE)
هذه صيغة بسيطة ومباشرة VLOOKUP . لقد صنعنا للتو col_index_num جزء الوسيطة ديناميكي باستخدام وظيفة IF .
هذا الجزء من الصيغة يتطلب القليل من المناقشة: IF ($ C $ 14 = "المتوقعة" ، 3 ، 4) . إذاقيمة الخلية $ C $ 14 تساوي القيمة المتوقعة ، ستُرجع الدالة IF 3 ، وإلا فإنها سترجع 4 . لذلك ، هذا ديناميكيًا تحديد رقم فهرس العمود من صيغة VLOOKUP .
- بعد ذلك ، اضغط على ENTER واسحب أداة مقبض التعبئة إلى الملء التلقائي الصيغة لبقية الخلايا.
- ثم حدد خلية D24 وأدخل الصيغة التالية.
=SUM(D17:D23)
هنا ، في الوظيفة SUM ، أضفنا قيم نطاق الخلية D17: D23 للحصول على مقدار إجمالي المسقط .
- أخيرًا ، اضغط على ENTER .
5. استخدام الدالة ISNA و IFERROR مع وظائف VLOOKUP و IF الشرط في Excel
ستساعدك هاتان التقنيتان في معالجة أخطاء # N / A . ينشئ VLOOKUP خطأ # N / A عندما لا يعثر على القيمة التي تبحث عنها.
الآن ، انظر إلى الصورة التالية بشكل مكثف. هنا ، تُظهر الخلية F6 الخطأ # N / A لأننا لم نتعامل مع الخطأ بذكاء.
اتبع الخطوات الواردة أدناه لحل هذا الخطأ باستخدام الدالتين ISNA و IFERROR في Excel.
الخطوات:
- أولاً ، حدد خلية F7 وأدخل الصيغة التالية.
=IFERROR(VLOOKUP(E7,price_list,2,FALSE),"Not found")
هنا ، كقيمة للدالة IFERROR ، لدينا إدخال