Excel VLOOKUP للبحث عن القيمة الأخيرة في العمود (مع البدائل)

  • شارك هذا
Hugh West

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

تنزيل كتاب التدريب

قم بتنزيل مصنف Excel الذي استخدمناه لإعداد هذه المقالة.

VLOOKUP Last Value in Column.xlsx

استخدام دالة VLOOKUP أوجد القيمة الأخيرة في عمود

دعنا نتعرف على المصنف أولاً. في ورقة البيانات هذه ، استخدمت 3 أعمدة و 10 صفوف لتقديم بعض مبالغ مبيعات مندوبي المبيعات وفقًا للتواريخ المقابلة.

في هذه الطريقة ، سنجد التواجد الأخير لقيمة باستخدام وظيفة VLOOKUP . يرمز VLOOKUP إلى " البحث الرأسي ". إنها وظيفة تجعل Excel يبحث عن قيمة معينة في عمود. هنا لدينا 3 مبالغ مبيعات مختلفة من فاتورة. الآن سنجد مقدار مبيعاته الأخيرة في خلية G5

الخطوات:

➦ تنشيط الخلية G5 ، اكتب الصيغة الواردة أدناه:

=VLOOKUP(F5,C5:D13,2)

➦ اضغط على الزر أدخل وستحصل على آخر تكرار من مبيعاته.

لكن VLOOKUP لن يعطي الإجابة الصحيحة عن البيانات التي لم يتم فرزها فيالوضع التقريبي. انظر إلى الصورة أدناه.

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

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

بدائل دالة VLOOKUP لإيجاد القيمة الأخيرة في العمود

الآن سنطبق أربع طرق بديلة على ابحث عن آخر قيمة في عمود.

الطريقة 1: استخدم دالة LOOKUP للبحث عن القيمة الأخيرة في العمود

هنا سنجد القيمة الأخيرة لعمود مع دالة LOOKUP في Excel. تُستخدم الوظيفة LOOKUP للبحث في عمود أو صف واحد للعثور على قيمة معينة من نفس المكان في عمود أو صف ثانٍ. سأجد مبلغ المبيعات الأخير هنا في الخلية G4.

الخطوات:

➦ تنشيط الخلية G4.

➦ اكتب الصيغة الواردة أدناه:

=LOOKUP(2,1/(D:D""),D:D)

➦ ثم اضغط على الزر أدخل وستحصل على آخر القيمة.

👉 انهيار الصيغة:

D : D ””

هنا سوف تتحقق مما إذا كانت الخلايا الموجودة في العمود D فارغة أم لا. فإنه سوفالعودة كـ-

{FALSE؛ FALSE؛ FALSE؛ TRUE؛ TRUE؛ TRUE؛ TRUE؛ TRUE؛ TRUE؛ TRUE؛ FALSE… ..}

1 / (D: D ””)

لقد قسمنا 1 على النتيجة. حيث أن FALSE تعني 0 وتعني TRUE 1 لذا ستكون النتيجة كما يلي:

{# DIV / 0!؛ # DIV / 0 !؛ # DIV / 0!؛ 1؛ 1؛ 1؛ 1؛ 1؛ 1؛ # DIV / 0!؛ # DIV / 0!}

LOOKUP (2،1 / (D: D ”)، D: D)

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

367

الطريقة 2: استخدم وظائف INDEX و MATCH لإيجاد القيمة الأخيرة في العمود

سنستخدم هنا مجموعة من الدالتين INDEX و MATCH . ترجع الدالة INDEX قيمة أو مرجعًا لقيمة من داخل جدول أو نطاق. و وظيفة MATCH تستخدم للبحث عن عنصر محدد في نطاق ثم تقوم بإرجاع الموضع النسبي لهذا العنصر في النطاق.

الخطوات:

➦ اكتب الصيغة الواردة أدناه في الخلية G5

=INDEX(D5:D13,MATCH(F5,C5:C13,1))

➦ اضغط على الزر أدخل .

👉 كيف تعمل الصيغة:

MATCH (F5، C5: C13،1)

هنا تُستخدم وظيفة MATCH للعثور على قيمة الخلية F5 للعناصر التي تم فرزها بترتيب تصاعدي من المصفوفة C5: C13. تعيين الوسيطة الثالثة '1' يشير إلى القيمة التقريبيةمباراة. الآن ستعود الوظيفة كـ-

6

إنها تعرض بالفعل رقم الصف الذي تم عده من الإدخال الأول.

INDEX (D5: D13، MATCH (F5، C5: C13،1))

و دالة INDEX ستعطي المبيعات المقابلة ( D5: D13) وفقًا للمطابقة السابقة من المصفوفة ( C5: C13) والتي سترجع كـ-

367

هذا هو في الواقع آخر تكرار لـ الخلية F5

الطريقة الثالثة: مزيج من وظائف INDEX و MAX و SUMPRODUCT و ROW للبحث عن القيمة الأخيرة في العمود

الآن سنقوم بالمهمة بدمج وظائف INDEX و MAX و SUMPRODUCT و ROW . ستعثر وظيفة ROW على أرقام الصفوف. SUMPRODUCT هي دالة تضرب نطاقًا من الخلايا أو المصفوفات وتعيد مجموع المنتجات. ستعثر الدالة MAX على العدد الأقصى. وتعيد الدالة INDEX قيمة أو مرجعًا لقيمة من داخل جدول أو نطاق.

الخطوات:

➦ تمكين التحرير في خلية F7

➦ انسخ والصق الصيغة الواردة أدناه:

=INDEX($C$5:$C$13,SUMPRODUCT(MAX(ROW($B$5:$B$13)*($E$7=$B$5:$B$13))-4))

➦ واضغط على أدخل زر .

👉 كيف تعمل الصيغة:

ROW ($ B $ 5: $ B $ 13)

ستُظهر الدالة ROW رقم الصف للمصفوفة التي ستُرجع كـ-

{ 5؛ 6؛ 7؛ 8؛ 9؛ 10؛ 11؛ 12؛ 13}

($ E $ 7 = $ B $ 5: $ B $ 13)

هنا الخلية E7 هي قيمة البحث لدينا وهذاستطابقها الصيغة من خلال المصفوفة B5: B13 . ثم سيعود كـ-

{FALSE؛ FALSE؛ FALSE؛ FALSE؛ TRUE؛ FALSE؛ FALSE؛ FALSE؛ TRUE}

ROW ($ B $ 5: $ B $ 13) * ($ E $ 7 = $ B $ 5: $ B $ 13)

إن مضاعفة الصيغتين السابقتين هي التي ستضاعف بالفعل أرقام الصفوف المقابلة. يعني FALSE 0 و TRUE يعني 1 . لذلك بعد الضرب ، سيعود كـ-

{0 ؛ 0 ؛ 0 ؛ 0 ؛ 9 ؛ 0 ؛ 0 ؛ 0 ؛ 13}

الحد الأقصى (ROW ($ B $ 5: $ B $ 13) * ($ E $ 7 = $ B $ 5: $ B $ 13))

MAX ستعثر الدالة على القيمة القصوى من النتيجة السابقة التي ستُرجع كـ

13

SUMPRODUCT (MAX (ROW ($ B $ 5: $ B $ 13) * ($ E $ 7 = $ B $ 5: $ B $ 13)) - 4)

الآن يتم استخدام الوظيفة SUMPRODUCT للعثور على الصف رقم في المصفوفة . نظرًا لأن قائمتنا تبدأ من الصف الخامس فصاعدًا ، فقد تم طرح 4 . لذا فإن موضع آخر تكرار لـ فاتورة هو 9 في قائمتنا ، لذا ستعود الصيغة كـ-

9 .

INDEX ($ C $ 5: $ C $ 13 ، SUMPRODUCT (MAX (ROW ($ B $ 5: $ B $ 13) * ($ E $ 7 = $ B $ 5: $ B $ 13)) - 4))

تُستخدم الوظيفة INDEX للعثور على مبيعات آخر اسم مطابق. وسيعود كـ-

563

هذا هو آخر ظهور للفاتورة .

الطريقة الرابعة : استخدم Excel VBA للبحث عن آخر تواجد لقيمة في العمود

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

لذلك ، في البداية ، سأقوم بإنشاء شريط قائمة منسدلة للأسماء الفريدة. ثم سأقوم بعمل وظيفة جديدة معرّفة من قبل المستخدم " LastItemLookup " باستخدام VBA والتي سنستخدمها للعثور على آخر ظهور.

الخطوة 1 :

➦ أولاً ، انسخ الأسماء الفريدة من الورقة الرئيسية إلى ورقة جديدة.

الخطوة 2:

➦ ثم انتقل إلى الورقة الرئيسية. قم بتنشيط أي خلية جديدة. اخترت E5.

➦ انقر فوق بيانات & GT ؛ أدوات البيانات و GT. التحقق من صحة البيانات.

A مربع حوار سيظهر

الخطوة 3:

➦ حدد قائمة من شريط السماح .

➦ ثم اضغط على رمز فتح من المصدر شريط.

الخطوة 4:

➦ بعد ذلك انتقل إلى الورقة الجديدة وحدد الأسماء الفريدة.

➦ اضغط على موافق

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

الآن سنقوم بإنشاء وظيفة جديدة باسم LastItemLookup مع Excel VBA.

الخطوة 5:

➦ R انقر بزر الماوس الأيمن فوق اسم الورقة.

➦ حدد عرض الكود من قائمة السياق .

A VBA ستفتح.

الخطوة 6:

➦ اكتب الرموز المقدمةأدناه:

1456

الخطوة 7:

➦ ثم اضغط على زر التشغيل لتشغيل الرموز. سيظهر مربع حوار يسمى وحدات الماكرو .

➦ انقر فوق تشغيل .

وظيفتنا الجديدة جاهزة الآن.

الخطوة 8:

➦ الآن عد إلى ورقة العمل الخاصة بك.

➦ تنشيط الخلية F5

➦ اكتب الصيغة الواردة أدناه مع الوظيفة الجديدة.

=LastItemLookup(E5,B5:C13,2)

➦ اضغط على أدخل للحصول على نتيجة آخر ظهور لـ رون .

الآن عندما تختار اسم أي بائع ، ستحصل على آخر قيمة تواجد له.

الخاتمة

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

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