أكاديمية الصقر للتدريب
موضوع بعنوان :الدالة المعرفة LSum
الكاتب :Eslam Abdullah


بسم الله والحمد لله والصلاة والسلام على رسول الله

مرحباً بكم من جديد أيها الشعب العريق (مش عريق أوى يعنى biggrin2)
متابعينا من كل مكان وفى كل زمان كيف اخباركم واخبار اخباركم ، أما بعد

من عادتى أن تكون أكثر مواضيعى متركزة فى حل مشاكل تواجه زملائنا فى العمل
واليوم لاحظت مشكة معينة تواجهة الكثير وهى جمع الأرقام التى من خلايا يليها نص

نشوف الصورة أدناه كى نفهم المقصود أولاً

MzM1MzQzMQ2222Capture1

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

المهم هو ان المطلوب منى فى عمل التقرير تسجيل الاحصائيات بالشكل دا (الرقم ويليه مسمى يخصه)
ومن هنا الجمع هيواجه مشكله ، هى مش مشكلة كبيره اوى بالنسبة للناس المتقدمه فى استخدام الصيغ

لكن لذاك ولذلك ولهذا ولماذا نقول من مكاننا هذا اللى هو اوضة نومى وانا قاعد على الجهاز كدا بالضبط biggrin2
اقول لكم ان هدفى وهدف الصقر هو ان نقدم لكم ما يسهل عليكم ادارة اعمالكم وحل مشكلاتكم وسهولة الاستخدام والبعد عن تعقيدات الصيغ وبطئ عملها
اجل كما اقول لكم (كفاية لت وعجن بقى ندخل فى المفيد)

المفيد انى برمجت دالة ظريفة خفيفة اسمها LSum اختصار لـ Left Summation
فيه ناس تعطى السمك وفيه ناس تعلمك الصيد
اما انا فاحب ان اعلمك الصيد واعطيك السمك


لتتعلم الصيد اليك بالسورس كود وهو كالتالى

Function LSum(rng As Variant, Optional Singular As String, Optional Plural As String) As String
'Developer: Eslam Abdullah
Dim c As Range, tmp As Variant
For Each c In rng
    tmp = tmp + Val(c)
Next c
LSum = RTrim(Switch(tmp = 0, "لا يوجد", Abs(tmp) > 2 And Abs(tmp) < 11, tmp & " " & Plural, 1, tmp & " " & Singular))
End Function


ولتأخذ السمك البورى (البورى حلو بس متعفنوش وتقول عليه فسيخ بس ماشى)
استخدام الدالة بسيط جدا ، بناء الدالة كالتالى

=LSum(rng,[Singular],[Plural])


بسيطة جدا اكتب الدالة هتلاقيها عايزة منك 3 ادخالات
1- هيطلب منك الخلايا اللى هيجمع الارقام البادئة منها
2- هيطلب منك مصطلح المفرد الذى بلى الناتج
3- هيطلب منك مصطلح الجمع الذى يلى الناتج

وممكن تشغل الـ D او الـ G وتكتب الدالة وتفتح قوس وتضغط Ctrl + A او Ctrl + Shift + A وتعرف الدالة عايزه كام باراميتر لوحدك
وعشان اديلك البورى مشفى ، انظر الصورة أدناه واللى شوفناها أعلاه (أرنبنا فى منور أنور وأرنب أنور فى منورنا)

MzM1MzQzMQ2222Capture1

الناتج هنا 20 عقد وكتبت الدالة كالتالى
=lsum(B2:B4,"عقد","عقود")

ملاحظة أخيره: ليس شرط ان تكتب شئ فى الباراميتر الثانى او الثالث انت حر ايها الحاج

وبكدا اكون وضحت استخدام الدالة (السمك)
ومنحتك كود الدالة (الصيد)

كان معكم ومعنا ومعاهم أيضاً أخوكم فى الله إسلام عبدالله
وإلى لقاء قريب إن شاء الله ، دمتم فى حفظ الله ورعايته 81