Skip to main content

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

كيفية إسقاط أدنى درجة والحصول على المتوسط أو المجموع الكلي للقيم في Excel؟

Author Xiaoyang Last modified

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

إسقاط أدنى درجة والحصول على المتوسط أو المجموع باستخدام الصيغ

رمز VBA - إسقاط أدنى درجة أو أدنى n درجات وحساب المجموع أو المتوسط تلقائياً


arrow blue right bubble إسقاط أدنى درجة والحصول على المتوسط أو المجموع باستخدام الصيغ

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

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

جمع الأرقام ولكن إسقاط أدنى أو أدنى N أرقام:

لحساب المجموع لكل صف أو قائمة مع استثناء أقل قيمة، استخدم الطريقة التالية:

1. حدد خلية فارغة حيث تريد أن يظهر فيها نتيجة المجموع للصف الأول (على سبيل المثال، في الخلية I2 إذا كانت بياناتك في B2:H2)، ثم أدخل الصيغة التالية:

=SUM(B2:H2)-SMALL(B2:H2,1)

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

إليك لقطة شاشة للرجوع إليها:

Sum the numbers but drop the lowest value with a formula

ملاحظات ونصائح:

  • لإزالة أدنى قيمتين أو ثلاث أو أكثر، يمكنك توسيع الصيغة عن طريق طرح المزيد من نتائج SMALL. على سبيل المثال:
=SUM(B2:H2)-SMALL(B2:H2,1)-SMALL(B2:H2,2)
=SUM(B2:H2)-SMALL(B2:H2,1)-SMALL(B2:H2,2)-SMALL(B2:H2,3)
=SUM(B2:H2)-SMALL(B2:H2,1)-SMALL(B2:H2,2)-SMALL(B2:H2,3)-...-SMALL(B2:H2,n)
  • في هذه الصيغ، B2:H2 هو النطاق الذي تريد جمعه، والأرقام 1 و 2 و 3 وما إلى ذلك تحدد n أصغر الأرقام التي سيتم استبعادها. قم بتعديل n بناءً على عدد الدرجات الأدنى التي ترغب في إسقاطها.
  • كن حذراً ألا تجعل n أكبر من أو يساوي العدد الإجمالي للقيم؛ وإلا ستواجه أخطاء أو نتائج غير مرغوب فيها.
  • تعمل هذه الصيغ بشكل مستقل للصفوف. إذا كانت بياناتك تمتد عبر الأعمدة بدلاً من الصفوف، قم بتعديل النطاقات وفقًا لذلك.
  • إذا كانت مجموعة البيانات تحتوي على نسخ متكررة من الرقم الأدنى، SMALL(B2:H2,1) ستقوم فقط بإزالة حدوث واحد لكل مرجع. لإزالة عدة حدوثات، كرر المصطلح SMALL مع زيادة الأرقام k كما هو موضح أعلاه.

المتوسط للأرقام لكن إسقاط أدنى أو أدنى N أرقام:

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

1. حدد خلية لمتوسط النتيجة (على سبيل المثال، J2 إذا كانت درجاتك في B2:H2)، وأدخل الصيغة:

=(SUM(B2:H2)-SMALL(B2:H2,1))/(COUNT(B2:H2)-1)

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

average the numbers but drop the lowest value with a formula

ملاحظات وإرشادات هامة:

  • للحصول على متوسط مع إسقاط أكثر من درجة واحدة منخفضة، قم بتوسيع الصيغة عن طريق طرح المزيد من مصطلحات SMALL وتقليل المقسوم عليه وفقًا لذلك:
=(SUM(B2:H2)-SMALL(B2:H2,1)-SMALL(B2:H2,2))/(COUNT(B2:H2)-2)
=(SUM(B2:H2)-SMALL(B2:H2,1)-SMALL(B2:H2,2)-SMALL(B2:H2,3))/(COUNT(B2:H2)-3)
=(SUM(B2:H2)-SMALL(B2:H2,1)-SMALL(B2:H2,2)-SMALL(B2:H2,3)-...-SMALL(B2:H2,n))/(COUNT(B2:H2)-n)
  • مرة أخرى، B2:H2 هو النطاق المراد حساب المتوسط له، وn يمثل عدد القيم الدنيا التي لن يتم تضمينها في الحساب.
  • إذا حاولت طرح أعداد أكثر مما موجود في النطاق، ستعيد الصيغ أخطاء #NUM!، مما يشير إلى عدم وجود قيم كافية لحساب المتوسط. تأكد دائمًا أن n أقل من عدد الأرقام.
  • من المستحسن إعادة التحقق من أن القيم الدنيا ليست حرجة أو مطلوبة لحسابك قبل استبعادها، حيث قد يؤثر ذلك على النتائج النهائية.
  • لمجموعات البيانات الكبيرة جدًا أو إسقاط ديناميكي لأدنى n قيم، فكر في حل تلقائي أو مصفوفة.
a screenshot of kutools for excel ai

اكتشف سحر Excel مع Kutools AI

  • التنفيذ الذكي: قم بعمليات الخلية، وتحليل البيانات، وإنشاء المخططات - كل ذلك يتم من خلال أوامر بسيطة.
  • الصيغ المخصصة: قم بإنشاء صيغ مصممة خصيصًا لتسهيل سير عملك.
  • برمجة VBA: كتابة وتطبيق أكواد VBA بسهولة.
  • تفسير الصيغ: فهم الصيغ المعقدة بسهولة.
  • ترجمة النصوص: تجاوز الحواجز اللغوية داخل جداول البيانات الخاصة بك.
عزز قدرات Excel لديك باستخدام أدوات تعمل بالذكاء الاصطناعي. قم بالتنزيل الآن وعش تجربة الكفاءة كما لم يحدث من قبل!

arrow blue right bubble رمز VBA - إسقاط أدنى درجة أو أدنى n درجات وحساب المجموع أو المتوسط تلقائياً

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

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

قبل أن تبدأ، يرجى حفظ مصنفك، لأن تشغيل الماكرو لا يمكن التراجع عنه مباشرة.

1. انقر فوق Developer > Visual Basic. في نافذة Microsoft Visual Basic for Applications، اضغط على Insert > Module، ثم أدخل الكود التالي:

Sub DropLowestNandCalculate()
    Dim WorkRng As Range
    Dim OutputRng As Range
    Dim n As Integer
    Dim FuncType As String
    Dim i As Integer, j As Integer, k As Integer
    Dim Arr() As Variant, TempArr() As Double
    Dim RowSum As Double
    Dim RowCount As Integer
    Dim MinIdx() As Integer
    
    On Error Resume Next
    xTitleId = "KutoolsforExcel"
    
    Set WorkRng = Application.Selection
    Set WorkRng = Application.InputBox("Select the score range (rows to process):", xTitleId, WorkRng.Address, Type:=8)
    
    Set OutputRng = Application.InputBox("Select output cells (top-left for results):", xTitleId, WorkRng.Offset(0, WorkRng.Columns.Count).Cells(1, 1).Address, Type:=8)
    
    n = Application.InputBox("Number of lowest grades to drop (n):", xTitleId, "1", Type:=1)
    
    FuncType = Application.InputBox("Type 'SUM' to calculate total or 'AVG' to calculate average (not case sensitive):", xTitleId, "AVG", Type:=2)
    
    For i = 1 To WorkRng.Rows.Count
        Arr = Application.WorksheetFunction.Transpose(Application.WorksheetFunction.Transpose(WorkRng.Rows(i).Value))
        RowCount = UBound(Arr)
        
        ReDim TempArr(1 To RowCount)
        For j = 1 To RowCount
            TempArr(j) = Arr(j)
        Next j
        
        ' Mark n lowest values as used by setting to very high number
        For k = 1 To n
            Dim MinVal As Double, MinPos As Integer
            MinVal = Application.WorksheetFunction.Min(TempArr)
            
            For j = 1 To RowCount
                If TempArr(j) = MinVal Then
                    TempArr(j) = 1E+308
                    Exit For
                End If
            Next j
        Next k
        
        RowSum = 0
        Dim ValidCount As Integer
        ValidCount = 0
        
        For j = 1 To RowCount
            If TempArr(j) <> 1E+308 Then
                RowSum = RowSum + Arr(j)
                ValidCount = ValidCount + 1
            End If
        Next j
        
        If UCase(FuncType) = "AVG" Then
            If ValidCount = 0 Then
                OutputRng.Cells(i, 1).Value = "N/A"
            Else
                OutputRng.Cells(i, 1).Value = RowSum / ValidCount
            End If
        Else
            OutputRng.Cells(i, 1).Value = RowSum
        End If
    Next i
End Sub

2. بعد إضافة الكود، انقر على الزر Run button أو اضغط على F5 لتنفيذ.

3. اتبع التعليمات التي تظهر:

  • حدد نطاق الدرجات الذي ترغب في معالجته (تأكد من أن درجات كل طالب في صف).
  • اختر الخلية العلوية اليسرى لنطاق الإخراج (سيتم ملء الخرج لأسفل بناءً على عدد الصفوف).
  • أدخل عدد الدرجات الأدنى التي تريد إسقاطها (على سبيل المثال، 1 لإسقاط فقط أدنى درجة في كل صف).
  • اكتب SUM للحصول على المجموع (باستثناء الدرجات المهملة) أو AVG للحصول على المتوسط المعاد حسابه (باستثناء الدرجات المهملة).

المعالجة الآلية تقوم بمعالجة كل صف من منطقة الدرجات المحددة وتضع المجموع أو المتوسط (حسب الاختيار) في نطاق الإخراج الخاص بك. إذا تم إسقاط جميع الدرجات في صف، يتم وضع النتيجة كـ N/A لتجنب الأخطاء.

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

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

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

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

🤖 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 يومًا — بدون تسجيل، بدون بطاقة ائتمان
  • قيمة رائعة — وفر مقارنة بشراء الإضافات بشكل منفرد