Vba: كيفية كتابة وظائف sumif وsumifs


يمكنك استخدام الطرق التالية لكتابة دالات SUMIF وSUMIFS باستخدام VBA في Excel:

الطريقة الأولى: دالة SUMIF في VBA

 SubSumif_Function ()
    Range(" E2 ") = WorksheetFunction.Sumif(Range(" A2:A12 "), " Mavs ", Range(" B2:B12 "))
End Sub

سيقوم هذا المثال المحدد بجمع القيم في النطاق B2:B12 فقط عندما تكون القيمة المقابلة في النطاق A2:A12 تساوي “Mavs” وتعيين النتيجة للخلية E2 .

الطريقة الثانية: دالة SUMIFS في VBA

 Sub Sumifs_Function()
    Range(" E2 ") = WorksheetFunction.SumIfs(Range(" C2:C12 "), Range(" A2:A12 "), " Mavs ", Range(" B2:B12 "), " >20 ")
End Sub

سيجمع هذا المثال المحدد القيم في النطاق C2:C12 فقط عندما تكون القيمة في النطاق A2:A12 تساوي “Mavs” وتكون القيمة في النطاق B2:B12 أكبر من 20، ثم قم بتعيين النتيجة للخلية E2 . .

توضح الأمثلة التالية كيفية استخدام كل من هذه الطرق عمليًا مع مجموعة البيانات التالية في Excel والتي تحتوي على معلومات حول لاعبي كرة السلة المختلفين:

مثال 1: دالة SUMIF في VBA

لنفترض أننا نريد حساب مجموع القيم في عمود النقاط فقط للاعبين الموجودين في فريق Mavs.

يمكننا إنشاء الماكرو التالي لتنفيذ وظيفة SUMIF هذه:

 SubSumif_Function ()
    Range(" E2 ") = WorksheetFunction.Sumif(Range(" A2:A12 "), " Mavs ", Range(" B2:B12 "))
End Sub

عندما نقوم بتشغيل هذا الماكرو، نحصل على الإخراج التالي:

لاحظ أن الخلية E2 تحتوي على القيمة 73 .

يمثل هذا مجموع القيم الموجودة في عمود النقاط للاعب فريق Mavs.

يمكننا التحقق من صحة ذلك عن طريق حساب مجموع القيم في عمود النقاط للاعبي فريق Mavs يدويًا:

مجموع نقاط لاعبي مافز: 22 + 10 + 29 + 12 = 73 .

مثال 2: دالة SUMIFS في VBA

لنفترض أننا نريد حساب مجموع القيم في عمود التمريرات الحاسمة فقط للاعبين الذين يستوفون المعايير التالية:

  • اللاعب جزء من فريق Mavs.
  • وسجل اللاعب أكثر من 20 نقطة.

يمكننا إنشاء الماكرو التالي لتنفيذ وظيفة SUMIFS هذه:

 Sub Sumifs_Function()
    Range(" E2 ") = WorksheetFunction.SumIfs(Range(" C2:C12 "), Range(" A2:A12 "), " Mavs ", Range(" B2:B12 "), " >20 ")
End Sub

عندما نقوم بتشغيل هذا الماكرو، نحصل على الإخراج التالي:

لاحظ أن الخلية E2 تحتوي على القيمة 18 .

يمثل هذا مجموع القيم الموجودة في عمود النقاط للاعبي فريق Mavs الذين سجلوا أكثر من 20 نقطة.

ملاحظة : في هذا المثال، قمنا بإنشاء دالة SUMIFS باستخدام نطاقين من المعايير ولكن يمكنك استخدام أي عدد تريده من نطاقات المعايير في أسلوب WorksheetFunction.SumIfs .

مصادر إضافية

تشرح البرامج التعليمية التالية كيفية تنفيذ المهام الشائعة الأخرى في VBA:

VBA: كيفية كتابة وظائف COUNTIF وCOUNTIFS
فبا: كيفية كتابة وظائف AVERAGEIF وAVERAGEIFS

Add a Comment

ایمئیل یایینلانمایاجاق ایسته‎نیله‎ن بوشلوقلار خاللانمیشدیر *