Skip to main content

Kutools for Office — مجموعة واحدة. خمسة أدوات. أنجز المزيد.

كيفية حساب المتوسط المرجح في Excel؟

Author Kelly Last modified

يتم استخدام المتوسطات المرجحة بشكل شائع في السيناريوهات التي يكون فيها للعناصر المختلفة تأثير غير متساوٍ على النتيجة الإجمالية. على سبيل المثال، عند تحليل قائمة تسوق تحتوي على أسعار المنتجات والأوزان والكميات، فإن استخدام دالة AVERAGE العادية في Excel ستقوم فقط بحساب الوسط الحسابي البسيط، مما يتجاهل مدى تكرار وجود العناصر أو مدى أهميتها. ومع ذلك، في العديد من الحالات التجارية أو المتعلقة بالميزانية، قد تحتاج إلى حساب المتوسط المرجح - مثل متوسط سعر الوحدة مع الأخذ بعين الاعتبار الكمية أو الأوزان - بحيث يكون تأثير كل عنصر متناسبًا مع أهميته. سيغطي هذا المقال كيفية حساب المتوسط المرجح في Excel، بما في ذلك الحالات ذات المعايير المحددة، وكذلك تقنيات إضافية باستخدام VBA والجداول المحورية للمتطلبات الأكثر تعقيدًا أو ديناميكية.

حساب المتوسط المرجح في Excel

حساب المتوسط المرجح بناءً على معايير معينة في Excel

كود VBA – أتمتة حساب المتوسط المرجح للنطاقات الديناميكية أو المعايير المتعددة


حساب المتوسط المرجح في Excel

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

a screenshot showing the original data

لحساب المتوسط المرجح للأسعار، استخدم مزيجًا من دالتي SUMPRODUCT وSUM على النحو التالي:

حدد خلية فارغة، مثل F2، وأدخل الصيغة التالية:

=SUMPRODUCT(C2:C18,D2:D18)/SUM(C2:C18)

ثم اضغط على مفتاح Enter للحصول على النتيجة.

a screenshot showing how to use the formula to calculate weighted average

ملاحظة: في هذه الصيغة، C2:C18 تشير إلى العمود Weight (الوزن)، وD2:D18 تشير إلى العمود Price (السعر). قم بتعديل هذه النطاقات حسب الحاجة لتنسيق بياناتك الخاص. تقوم دالة SUMPRODUCT بضرب كل وزن في السعر المقابل له وتجمع النتائج، بينما تقوم دالة SUM بجمع الأوزان - مما ينتج عنه المتوسط المرجح الصحيح. تأكد من استخدام نطاقات ذات طول متساوٍ وتأكد من عدم وجود خلايا غير متطابقة أو فارغة في بياناتك، حيث يمكن أن يؤدي ذلك إلى أخطاء في الحساب.

إذا كان المتوسط المرجح المحسوب يعرض عددًا كبيرًا جدًا أو قليلًا جدًا من المنازل العشرية بالنسبة لتفضيلاتك، حدد الخلية، ثم انقر على الزر زيادة المنازل العشرية button a screenshot of the Increase Decimal button أو تقليل المنازل العشرية button a screenshot of the Decrease Decimal button على علامة التبويب الرئيسية لضبط المنازل العشرية المعروضة حسب الحاجة.

a screenshot of selecting one of the decimal type

إذا واجهت خطأ مثل #VALUE!، تحقق مرتين من أن كل خلية مرجعية تحتوي على قيمة رقمية وأن النطاقات متسقة. أيضًا، تجنب تضمين أي صف رؤوس في نطاق الحساب الخاص بك لضمان الحصول على نتائج دقيقة. عند العمل مع مجموعات بيانات أكبر، ضع في اعتبارك استخدام النطاقات المسماة لتحقيق الوضوح وسهولة الصيانة.


حساب المتوسط المرجح إذا تم تحقيق معايير معينة في Excel

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

للقيام بذلك، حدد خلية فارغة، مثل F8، وأدخل الصيغة التالية:

=SUMPRODUCT((B2:B18="Apple")*C2:C18*D2:D18)/SUMIF(B2:B18,"Apple",C2:C18)

ثم اضغط على مفتاح Enter لحساب المتوسط المرجح الذي يتوافق مع معاييرك المحددة. هذه الصيغة تضرب كل وزن وسعر فقط إذا كانت السلعة تطابق الشرط ("Apple" في هذه الحالة)، وتجمعها، ثم تقسمها على مجموع الأوزان الخاصة بالعنصر فقط.

a screenshot showing how to use formula to calculate weighted average if meeting given criteria

ملاحظة: هنا، B2:B18 هو عمود الفاكهة، C2:C18 هو الوزن، وD2:D18 هو السعر. استبدل "Apple" بعنصر آخر حسب الحاجة. تعمل هذه الطريقة بشكل جيد لتصفية البيانات بناءً على شرط واحد؛ إذا كنت بحاجة إلى التصفية بناءً على معايير متعددة (مثل نوع الفاكهة والمورد)، فقد تكون هناك حاجة إلى عمود مساعد أو صيغة أكثر تقدمًا.

بعد تطبيق الصيغة، قد ترغب في ضبط المنازل العشرية من أجل الوضوح. حدد خلية النتيجة واستخدم زيادة المنازل العشرية a screenshot of the Increase Decimal button أو تقليل المنازل العشرية a screenshot of the Decrease Decimal button2 الأزرار الموجودة على علامة التبويب الرئيسية لتغيير المنازل العشرية المعروضة.

a screenshot of selecting one of the decimal type2

إذا أعادت الصيغة نتيجة غير متوقعة، تأكد من أن المعايير تحتوي على تطابقات داخل نطاقك المستهدف، وانتبه لأي خلايا فارغة أو إدخالات نصية في الأعمدة المخصصة لتكون رقمية.


كود VBA – أتمتة حساب المتوسط المرجح للنطاقات الديناميكية أو المعايير المتعددة

في بعض الحالات، قد تحتاج بشكل متكرر إلى حساب المتوسط المرجح على نطاقات تتغير في الحجم، تحتوي على قيم مفقودة، أو تتطلب تصفية مرنة، مثل تطبيق معايير متعددة في وقت واحد. بدلاً من تحديث الصيغ أو النطاقات يدويًا، يمكن أن توفر لك أتمتة الحساب باستخدام ماكرو VBA الوقت وتقليل فرص الأخطاء - وهو أمر مفيد بشكل خاص عند التعامل مع مجموعات بيانات كبيرة أو يتم تحديثها بانتظام.

إليك كيفية إنشاء واستخدام ماكرو VBA للمتوسط المرجح:

1. انقر فوق Developer > Visual Basic (أو اضغط على Alt + F11) لفتح نافذة محرر Microsoft Visual Basic for Applications. بعد ذلك، انقر فوق Insert > Module، ثم انسخ الكود التالي في نافذة الوحدة الجديدة:

Sub WeightedAverageVBA()
    Dim rngCriteria As Range
    Dim rngWeight As Range
    Dim rngValue As Range
    Dim criteriaStr As String
    Dim totalWeighted As Double
    Dim totalWeight As Double
    Dim i As Long
    
    On Error Resume Next
    xTitleId = "KutoolsforExcel"
    
    Set rngCriteria = Application.InputBox("Select the range for criteria (optional, press Cancel to skip):", xTitleId, Type:=8)
    criteriaStr = Application.InputBox("Enter criteria for filtering (leave blank for all):", xTitleId, Type:=2)
    Set rngWeight = Application.InputBox("Select the Weight (numeric) range:", xTitleId, Type:=8)
    Set rngValue = Application.InputBox("Select the Value (e.g. Price) range:", xTitleId, Type:=8)
    
    totalWeighted = 0
    totalWeight = 0
    
    If rngCriteria Is Nothing Or criteriaStr = "" Then
        For i = 1 To rngWeight.Cells.Count
            If IsNumeric(rngWeight.Cells(i).Value) And IsNumeric(rngValue.Cells(i).Value) Then
                totalWeighted = totalWeighted + rngWeight.Cells(i).Value * rngValue.Cells(i).Value
                totalWeight = totalWeight + rngWeight.Cells(i).Value
            End If
        Next i
    Else
        For i = 1 To rngWeight.Cells.Count
            If rngCriteria.Cells(i).Value = criteriaStr Then
                If IsNumeric(rngWeight.Cells(i).Value) And IsNumeric(rngValue.Cells(i).Value) Then
                    totalWeighted = totalWeighted + rngWeight.Cells(i).Value * rngValue.Cells(i).Value
                    totalWeight = totalWeight + rngWeight.Cells(i).Value
                End If
            End If
        Next i
    End If
    
    If totalWeight = 0 Then
        MsgBox "Weighted average cannot be calculated: total weight is zero.", vbExclamation, xTitleId
    Else
        MsgBox "Weighted average: " & totalWeighted / totalWeight, vbInformation, xTitleId
    End If
End Sub

2. اضغط F5 (أو انقر فوق الزر Run button Run) لتنفيذ.
ستتم مطالبتك بتحديد النطاقات خطوة بخطوة (نطاق المعايير - يمكن تخطيه إذا لم يكن مطلوبًا، نطاق الوزن، ونطاق القيم). يمكنك أيضًا إدخال معايير محددة لتصفية الحساب أو تركها فارغة للنظر في جميع البيانات. يدعم الماكرو النطاقات الديناميكية للبيانات، مما يجعله عمليًا إذا كانت جدولك يتزايد أو يتغير بانتظام.

أخيرًا، ستحصل على مربع رسالة يعرض نتيجة المتوسط المرجح.

نصائح:

  • هذا النهج يقوم بأتمتة تحليل المتوسط المرجح المتكرر ويمكن توسيعه لمعالجة المزيد من التصفية أو خيارات الإخراج.
  • تأكد من أن النطاقات المختارة ذات طول متساوٍ وأن أنواع البيانات متسقة.
  • قم بتضمين معالجة الأخطاء الأساسية كما هو مبين (على سبيل المثال، في الحالات التي لا يتم فيها العثور على أوزان صالحة أو يكون مجموع الأوزان صفرًا).
  • إذا كنت تريد تطبيقه على الصفوف المرئية فقط، يمكنك تحسين الكود بشكل أكبر باستخدام تعداد الخلايا الخاصة.

إذا واجهت مشكلات تتعلق بالأذونات أو أمان الماكرو، تأكد من تمكين الماكرو في إعدادات Excel قبل تشغيل الكود.


مقالات ذات صلة:


أفضل أدوات الإنتاجية لمكتب العمل

🤖 Kutools AI Aide: أحدث ثورة في تحليل البيانات اعتمادًا على: التنفيذ الذكي |  توليد الأكواد |  إنشاء الصيغ المخصصة |  تحليل البيانات وتوليد الرسوم البيانية |  استخدام Kutools Functions...
ميزات شائعة: البحث، تمييز أو وضع علامة على المكررات | حذف الصفوف الفارغة | دمج الأعمدة أو الخلايا بدون فقدان البيانات | تقريب بدون الصيغة...
بحث متقدم: بحث بمعايير متعددة VLookup | بحث بقيم متعددة VLookup | بحث في عدة ورقات VLookup | مطابقة غامضة...
قائمة منسدلة متقدمة: إنشاء قائمة منسدلة بسرعة | قائمة منسدلة معتمدة | قائمة منسدلة متعددة الاختيارات...
مدير الأعمدة: إضافة عدد محدد من الأعمدة | نقل الأعمدة | تبديل حالة إظهار الأعمدة المخفية | مقارنة النطاقات والأعمدة...
ميزات مميزة: التركيز على الشبكة | عرض التصميم | شريط الصيغ المحسن | مدير أدوات المصنف وورقة العمل | مكتبة النص التلقائي | منتقي التاريخ | دمج البيانات | تشفير/فك تشفير الخلايا | إرسال البريد الإلكتروني حسب الجدول | مرشح متقدم | تصفية خاصة (تصفية الخلايا التي تحتوي على خط عريض/مائل/يتوسطه خط...)...
أفضل15 مجموعة أدوات:12 أداة نصية (إضافة نص، حذف الأحرف المحددة، ...) | أكثر من50 نوع رسم بياني (مخطط جانت، ...) | أكثر من40 صيغة عملية (حساب العمر بناءً على تاريخ الميلاد، ...) |19 أداة إدراج (إدراج رمز الاستجابة السريعة، إدراج صورة من المسار، ...) |12 أداة تحويل (تحويل إلى كلمات، تحويل العملة، ...) |7 أدوات دمج وتقسيم (دمج متقدم للصفوف، تقسيم الخلايا، ...) | ... والمزيد
استخدم Kutools بلغتك المفضلة – يدعم الإنجليزية، الإسبانية، الألمانية، الفرنسية، الصينية، وأكثر من40 لغة أخرى!

عزز مهاراتك في Excel باستخدام Kutools لـ Excel، واختبر كفاءة غير مسبوقة. Kutools لـ Excel يوفر أكثر من300 ميزة متقدمة لزيادة الإنتاجية وتوفير وقت الحفظ. انقر هنا للحصول على الميزة الأكثر أهمية بالنسبة لك...


Office Tab يجلب واجهة التبويب إلى Office ويجعل عملك أسهل بكثير

  • تفعيل تحرير وقراءة عبر التبويبات في Word، Excel، PowerPoint، Publisher، Access، Visio وProject.
  • افتح وأنشئ عدة مستندات في تبويبات جديدة في نفس النافذة، بدلاً من نوافذ مستقلة.
  • يزيد إنتاجيتك بنسبة50%، ويقلل مئات النقرات اليومية من الفأرة!

جميع إضافات Kutools. مثبت واحد

حزمة Kutools for Office تجمع بين إضافات Excel وWord وOutlook وPowerPoint إضافة إلى Office Tab Pro، وهي مثالية للفرق التي تعمل عبر تطبيقات Office.

Excel Word Outlook Tabs PowerPoint
  • حزمة الكل في واحد — إضافات Excel وWord وOutlook وPowerPoint + Office Tab Pro
  • مثبّت واحد، ترخيص واحد — إعداد في دقائق (جاهز لـ MSI)
  • الأداء الأفضل معًا — إنتاجية مُبسطة عبر تطبيقات Office
  • تجربة كاملة لمدة30 يومًا — بدون تسجيل، بدون بطاقة ائتمان
  • قيمة رائعة — وفر مقارنة بشراء الإضافات بشكل منفرد