البرمجة

تحديث أوتوماتيكي: استخراج أعلى قيمة في Excel

في الصورة المُرفقة، يظهر لنا عمود A الذي يحتوي على مجموع القيم. وفي هذا السياق، تسعى إلى الحصول على صيغة أو كود في Excel يُمكنك من مقارنة الخلايا الفردية واختيار القيمة الأعلى، ثم وضع هذه القيمة في الخلية الرئيسية (A13) عند تحديث الخلايا الفردية.

لتحقيق ذلك، يمكن استخدام وظائف Excel المدمجة مثل الدالة MAX للعثور على القيمة العظمى في مجموعة من الخلايا. يمكنك استخدام الدالة التالية في الخلية A13:

excel
=MAX(A1, A2, A3, A4, A5, A6, A7, A8, A9, A10, A11, A12)

هذه الصيغة تقوم بمقارنة قيم الخلايا A1 إلى A12 وتُرجع القيمة الأعلى.

بمجرد أن يتم تحديث إحدى الخلايا في النطاق (A1 إلى A12)، ستتم إعادة حساب الصيغة تلقائيًا، وستظهر القيمة الأعلى في الخلية A13.

إذا كنت بحاجة إلى حلاً يعمل تلقائيًا دون الحاجة لتحديث يدوي، يمكن استخدام ماكرو VBA. يمكنك استخدام الكود التالي في وحدة VBA في ملف Excel الخاص بك:

vba
Private Sub Worksheet_Change(ByVal Target As Range) If Not Intersect(Target, Range("A1:A12")) Is Nothing Then Range("A13").Value = Application.WorksheetFunction.Max(Range("A1:A12")) End If End Sub

تأكد من وضع هذا الكود في وحدة الكود المرتبطة بالورقة التي تحتوي على البيانات (يمكن الوصول إليها عن طريق النقر بزر الماوس الأيمن على اسم الورقة واختيار “عرض الشيفرة”).

بهذا الشكل، عند تحديث أي خلية في النطاق (A1 إلى A12)، سيتم تحديث قيمة الخلية A13 تلقائيًا باستخدام القيمة الأعلى في هذا النطاق.

المزيد من المعلومات

بالطبع، دعونا نوسع المحتوى لتوفير مزيد من المعلومات حول كيفية تحقيق هذه الوظيفة في Excel.

للبداية، يمكننا فهم أن لديك تحديثات تلقائية في الخلايا A1 إلى A12، وترغب في الحفاظ على القيمة العظمى في الخلية A13. الحل الذي قدمته يستخدم دالة MAX في Excel للعثور على القيمة الأعلى.

بالنسبة للاقتراح الثاني الخاص بالاستخدام التلقائي للماكرو VBA، يمكننا التعمق قليلاً في الكود. الكود يعتمد على حدث “Worksheet_Change” الذي يتم تنشيطه عند تغيير البيانات في الصفحة.

في السطور الأربع الأخيرة من الكود، يتم التحقق مما إذا كانت الخلية المعدلة في النطاق A1 إلى A12، وإذا كانت الشرط صحيحًا، يتم استخدام الدالة Max لتحديث قيمة الخلية A13 بتاريخ أعلى قيمة.

هذا يعني أنه مع كل تحديث تلقائي لإحدى الخلايا في النطاق، سيقوم الكود بحساب القيمة الأعلى وتحديث الخلية A13 تلقائيًا. وبما أنك تشير إلى أنك تعمل على تسلسلات أو سيناريوهات آلية، فإن هذا الحل سيكون ملائمًا لتلك الحالات.

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

زر الذهاب إلى الأعلى