كيفية حساب المتوسط المرجح في vba (مع مثال)


يمكنك استخدام بناء الجملة الأساسي التالي لحساب المتوسط المرجح باستخدام VBA:

 Sub FindWeightedAverage()

Range(" E2 ") = _
    WorksheetFunction.SumProduct(Range(" B2:B7 "), Range(" C2:C7 ")) / _
    WorksheetFunction.Sum(Range(" C2:C7 "))

End Sub

يحسب هذا المثال بالتحديد المتوسط المرجح باستخدام الخلايا الموجودة في النطاق B2:B7 كقيم والخلايا الموجودة في النطاق C2:C7 كأوزان.

ثم يتم عرض المتوسط المرجح في الخلية E2 .

يوضح المثال التالي كيفية استخدام بناء الجملة هذا عمليًا.

مثال: حساب المتوسط المرجح باستخدام VBA

لنفترض أن لدينا مجموعة البيانات التالية في Excel والتي توضح المبيعات المختلفة التي أجراها موظفو الشركة:

لنفترض أننا نريد حساب المتوسط المرجح للسعر، باستخدام القيم الموجودة في عمود المبلغ كقيم والقيم الموجودة في عمود السعر كأوزان:

يمكننا إنشاء الماكرو التالي للقيام بذلك:

 Sub FindWeightedAverage()

Range(" E2 ") = _
    WorksheetFunction.SumProduct(Range(" B2:B7 "), Range(" C2:C7 ")) / _
    WorksheetFunction.Sum(Range(" C2:C7 "))

End Sub

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

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

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

تذكر أننا نستخدم الصيغة التالية للمتوسط المرجح:

المتوسط المرجح = Σw i X i / Σw i

ذهب:

  • ث ط = قيم الوزن
  • X i = قيم البيانات

يمكننا توصيل القيم من مجموعة البيانات الخاصة بنا بهذه الصيغة لحساب متوسط السعر المرجح:

  • المتوسط المرجح = Σw i X i / Σw i
  • المتوسط المرجح = (1*8 + 3*5 + 2*6 + 2*7 + 5*12 + 4*14) / (1+3+2+2+5+4)
  • متوسط الدرجة للطالب أ = 9.705882

وهذا يطابق القيمة التي حسبناها باستخدام الماكرو.

مصادر إضافية

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

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

Add a Comment

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