فبا: كيفية كتابة وظائف averageif وaverageifs


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

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

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

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

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

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

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

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

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

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

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

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

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

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

يخبرنا هذا أن متوسط القيمة في عمود النقاط للاعبي فريق Mavs هو 18.25.

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

متوسط نقاط لاعب مافس: (22 + 10 + 29 + 12) / 4 = 18.25 .

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

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

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

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

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

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

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

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

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

مصادر إضافية

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

فبا: كيفية حساب متوسط قيمة النطاق
فبا: كيفية كتابة وظائف SUMIF وSUMIFS
VBA: كيفية كتابة وظائف COUNTIF وCOUNTIFS

Add a Comment

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