كيفية إسقاط أدنى درجة والحصول على المتوسط أو المجموع الكلي للقيم في Excel؟
عند العمل مع قائمة من الدرجات أو النقاط في Excel، قد تحتاج إلى حساب الدرجة النهائية للطالب باستثناء أدنى درجة له، أو حتى أدنى n درجات، قبل حساب المتوسط أو المجموع. هذا هو شرط شائع في البيئات التعليمية، حيث قد يُسمح للطلاب بإسقاط أسوأ أدائهم لمراعاة الشذوذ أو ضمان العدالة. تنفيذ هذه العملية يدوياً يمكن أن يكون مملاً، خاصة مع مجموعات البيانات الكبيرة أو التعديلات الحسابية المتكررة. لحسن الحظ، يوفر Excel عدة طرق مرنة لتحقيق ذلك، بدءاً من الصيغ البسيطة إلى الأتمتة باستخدام VBA لعمليات الدُفعات.
إسقاط أدنى درجة والحصول على المتوسط أو المجموع باستخدام الصيغ
رمز VBA - إسقاط أدنى درجة أو أدنى n درجات وحساب المجموع أو المتوسط تلقائياً
إسقاط أدنى درجة والحصول على المتوسط أو المجموع باستخدام الصيغ
إذا كنت ترغب في استبعاد أدنى قيمة أو أدنى n قيم من صف بيانات أو قائمة ثم إجراء العمليات الحسابية – مثل حساب المتوسط أو مجموع الأرقام المتبقية – فإن صيغ Excel المدمجة توفر نهجاً عملياً. هذه الحلول الصيغية مفيدة بشكل خاص إذا كان لديك عدد متوسط من الصفوف لمعالجتها أو تفضل نهجاً قائمًا على الصيغ من أجل الشفافية وسهولة التعديل.
أدناه، ستجد شرحًا منفصلاً لكل من طريقتي الجمع والمتوسط، بما في ذلك تعليمات مفصلة ونصائح عملية للتطبيق المرن.
جمع الأرقام ولكن إسقاط أدنى أو أدنى N أرقام:
لحساب المجموع لكل صف أو قائمة مع استثناء أقل قيمة، استخدم الطريقة التالية:
1. حدد خلية فارغة حيث تريد أن يظهر فيها نتيجة المجموع للصف الأول (على سبيل المثال، في الخلية I2 إذا كانت بياناتك في B2:H2)، ثم أدخل الصيغة التالية:
=SUM(B2:H2)-SMALL(B2:H2,1)
2. اضغط Enter للتأكيد، ثم اسحب المقبض السفلي لتطبيق هذه الصيغة على الصفوف الأخرى حسب الحاجة. سيقوم هذا بجمع كل الأرقام في كل صف، باستثناء أدنى قيمة.
إليك لقطة شاشة للرجوع إليها:
ملاحظات ونصائح:
- لإزالة أدنى قيمتين أو ثلاث أو أكثر، يمكنك توسيع الصيغة عن طريق طرح المزيد من نتائج 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، اسحب الصيغة لأسفل حسب الحاجة لحساب المتوسط للصفوف الإضافية، كل مرة مع استثناء أدنى درجة في النطاق لهذا الصف.
ملاحظات وإرشادات هامة:
- للحصول على متوسط مع إسقاط أكثر من درجة واحدة منخفضة، قم بتوسيع الصيغة عن طريق طرح المزيد من مصطلحات 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 قيم، فكر في حل تلقائي أو مصفوفة.

اكتشف سحر Excel مع Kutools AI
- التنفيذ الذكي: قم بعمليات الخلية، وتحليل البيانات، وإنشاء المخططات - كل ذلك يتم من خلال أوامر بسيطة.
- الصيغ المخصصة: قم بإنشاء صيغ مصممة خصيصًا لتسهيل سير عملك.
- برمجة VBA: كتابة وتطبيق أكواد VBA بسهولة.
- تفسير الصيغ: فهم الصيغ المعقدة بسهولة.
- ترجمة النصوص: تجاوز الحواجز اللغوية داخل جداول البيانات الخاصة بك.
رمز 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. بعد إضافة الكود، انقر على الزر أو اضغط على F5 لتنفيذ.
3. اتبع التعليمات التي تظهر:
- حدد نطاق الدرجات الذي ترغب في معالجته (تأكد من أن درجات كل طالب في صف).
- اختر الخلية العلوية اليسرى لنطاق الإخراج (سيتم ملء الخرج لأسفل بناءً على عدد الصفوف).
- أدخل عدد الدرجات الأدنى التي تريد إسقاطها (على سبيل المثال، 1 لإسقاط فقط أدنى درجة في كل صف).
- اكتب SUM للحصول على المجموع (باستثناء الدرجات المهملة) أو AVG للحصول على المتوسط المعاد حسابه (باستثناء الدرجات المهملة).
المعالجة الآلية تقوم بمعالجة كل صف من منطقة الدرجات المحددة وتضع المجموع أو المتوسط (حسب الاختيار) في نطاق الإخراج الخاص بك. إذا تم إسقاط جميع الدرجات في صف، يتم وضع النتيجة كـ N/A لتجنب الأخطاء.
- تأكد من أن نطاق الإدخال يطابق هيكل بياناتك (درجات طالب واحد لكل صف).
- الخلايا غير الرقمية (مثل الفارغة أو النصوص) سيتم تجاهلها افتراضياً.
- هذا الكود VBA يسرع بشكل كبير الحسابات المتكررة للتقييم لجميع الفصول ويدعم تعديل مرن لعدد الدرجات المراد إسقاطها.
- إذا كنت تقوم بمثل هذه العمليات بشكل متكرر، قد ترغب في تعيين هذا الماكرو إلى زر على ورقة العمل الخاصة بك للوصول إليه بسرعة أكبر.
إذا واجهت مشاكل مثل مخرجات غير صحيحة أو أخطاء، تحقق مرة أخرى من أن النطاقات محددة بدقة وأن "n" ليس أكبر من أو يساوي العدد الإجمالي للدرجات المتاحة لكل صف.
لتطبيقات الأتمتة المشابهة، مثل إسقاط أعلى وأدنى درجات أو معالجة الأعمدة بدلاً من الصفوف، يمكن إجراء تعديلات طفيفة على منطق رمز VBA.
أفضل أدوات الإنتاجية لمكتب العمل
عزز مهاراتك في 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 وPowerPoint + Office Tab Pro
- مثبّت واحد، ترخيص واحد — إعداد في دقائق (جاهز لـ MSI)
- الأداء الأفضل معًا — إنتاجية مُبسطة عبر تطبيقات Office
- تجربة كاملة لمدة30 يومًا — بدون تسجيل، بدون بطاقة ائتمان
- قيمة رائعة — وفر مقارنة بشراء الإضافات بشكل منفرد