تجمع =SUBTOTAL(9,C2:C8) الأرقام في C2:C8، مثل SUM، مع فرقين: تتخطى أي صيغة SUBTOTAL أخرى داخل النطاق، وتتخطى الصفوف التي أخفتها التصفية. والوسيط الأول، 9، يحدد العملية الحسابية المطلوبة.
| A | B | C | D | E | F | |
|---|---|---|---|---|---|---|
| 1 | Region | Item | Sales | Check | Result | |
| 2 | North | Apple | 120 | SUM of C2:C7 | 890 | |
| 3 | North | Pear | 80 | |||
| 4 | North total | 200 | ||||
| 5 | South | Apple | 200 | |||
| 6 | South | Pear | 45 | |||
| 7 | South total | 245 | ||||
| 8 | Grand total | 445 |
يغطي الإجمالي الكلي في C8 العمود كله، بما فيه صفوف الإجماليات الفرعية، ومع ذلك يعرض 445: تستبعد SUBTOTAL الخليتين C4 وC7 لأنهما تحتويان على صيغ SUBTOTAL. وتفعل F2 الشيء نفسه بالدالة SUM فتعرض 890، أي كل عملية بيع محتسبة مرتين. ومع وجود SUBTOTAL في كل صف إجمالي، يمكنك إضافة مجموعات أو نقلها دون إعادة كتابة الإجمالي الكلي.
أرقام الدوال في SUBTOTAL
=SUBTOTAL(function_num, ref1, [ref2], ...)
| العملية الحسابية | تتخطى الصفوف المصفّاة | تتخطى أيضًا الصفوف المخفية يدويًا |
|---|---|---|
| AVERAGE | 1 | 101 |
| COUNT (الأرقام) | 2 | 102 |
| COUNTA (غير الفارغة) | 3 | 103 |
| MAX | 4 | 104 |
| MIN | 5 | 105 |
| PRODUCT | 6 | 106 |
| STDEV.S | 7 | 107 |
| STDEV.P | 8 | 108 |
| SUM | 9 | 109 |
| VAR.S | 10 | 110 |
| VAR.P | 11 | 111 |
عندما تكتب =SUBTOTAL(، يعرض الاكسل هذه القائمة، لذا لا تحتاج إلى حفظها. والأكثر استخدامًا هي 9 و109 (SUM)، و1 (AVERAGE)، و103 (عدّ الصفوف الظاهرة).
| A | B | C | D | E | F | |
|---|---|---|---|---|---|---|
| 1 | Region | Item | Sales | Calculation | Result | |
| 2 | North | Apple | 120 | AVERAGE (1) | 88.33 | |
| 3 | North | Pear | 80 | COUNTA (3) | 6 | |
| 4 | South | Apple | 200 | MAX (4) | 200 | |
| 5 | South | Pear | 45 | MIN (5) | 30 | |
| 6 | East | Apple | 55 | Visible rows (103) | 6 | |
| 7 | East | Plum | 30 | SUM (109) | 530 |
لا شيء مخفي هنا، لذا يساوي كل سطر الدالة العادية: متوسط 88.33، و6 صفوف، وMAX قيمته 200، وMIN قيمته 30، وSUM قيمته 530. ولا يظهر الفرق إلا عندما تكون هناك صفوف مخفية، وهذا موضوع القسم التالي.
SUBTOTAL 9 مقابل 109، والصفوف المصفّاة
شغّل التصفية من بيانات > تصفية (Ctrl+Shift+L، أو Cmd+Shift+F على Mac)، ثم اختر North من القائمة المنسدلة للعمود Region. تُخفى صفوف المناطق الأخرى:
- تظل
=SUM(C2:C7)تجمع الصفوف الستة كلها. - تجمع
=SUBTOTAL(9,C2:C7)و=SUBTOTAL(109,C2:C7)صفوف North الظاهرة فقط. - تعدّ
=SUBTOTAL(103,A2:A7)الصفوف المتبقية على الشاشة: 2، وهو العدد نفسه الذي يظهر في شريط الحالة ("2 من 6 سجلات").
لا تختلف المجموعتان إلا في الصفوف التي تخفيها يدويًا (حدد الصفوف، ثم زر الفأرة الأيمن > إخفاء). يظل 9 يجمع تلك الصفوف؛ ولا يجمعها 109. إذا كان يجب أن يطابق الإجمالي دائمًا ما يظهر على الشاشة، فاستخدم 109. وإذا كنت تخفي الصفوف لترتيب العرض فقط وما زلت تريدها في الإجمالي، فاستخدم 9.
تعمل SUBTOTAL على الصفوف فقط. أما الأعمدة المخفية فتُشمل دائمًا، لذا تجمع =SUBTOTAL(109,B2:G2) على امتداد صف الأعمدة المخفية أيضًا.
أسرع طريقة للحصول على SUBTOTAL هي زر "جمع تلقائي" مع تشغيل التصفية: يكتب الاكسل =SUBTOTAL(9,...) بدلًا من SUM. وتذهب بيانات > إجمالي فرعي أبعد من ذلك: على قائمة مرتبة حسب عمود، تُدرج صف إجمالي تحت كل مجموعة وإجماليًا كليًا، كلها بالدالة SUBTOTAL، إضافة إلى أزرار المخطط التفصيلي لطي المجموعات.
AGGREGATE: دالة SUBTOTAL التي تستطيع تخطي الأخطاء
إذا احتوت خلية واحدة في النطاق على خطأ، تعيد SUM وSUBTOTAL ذلك الخطأ. والدالة AGGREGATE (في Excel 2010 وما بعده) هي SUBTOTAL مع وسيط خيارات إضافي؛ والخيار 6 يتجاهل قيم الأخطاء.
| A | B | C | D | E | F | |
|---|---|---|---|---|---|---|
| 1 | Region | Item | Sales | Formula | Result | |
| 2 | North | Apple | 120 | SUBTOTAL | #N/A | |
| 3 | North | Pear | #N/A | AGGREGATE, ignore errors | 450 | |
| 4 | South | Apple | 200 | AGGREGATE, MAX | 200 | |
| 5 | South | Pear | 45 | |||
| 6 | East | Apple | 55 | |||
| 7 | East | Plum | 30 |
تحتوي C3 على #N/A، لذا تعرض F2 الخطأ #N/A أيضًا. وتتجاهله F3 وتجمع القيم الخمس الأخرى: 450. ويستخدم وسيطها الأول أرقام SUBTOTAL نفسها (9 تعني SUM، و4 تعني MAX). وخيارات أخرى: 5 يتجاهل الصفوف المخفية، و7 يتجاهل الصفوف المخفية والأخطاء، و3 يتجاهل الصفوف المخفية والأخطاء وصيغ SUBTOTAL وAGGREGATE المتداخلة. استبدل C3 برقم فتعرض F2 الإجمالي نفسه الذي في F3.
تمرين: إجمالي كلي فوق الإجماليات الفرعية
| A | B | C | |
|---|---|---|---|
| 1 | Region | Item | Sales |
| 2 | North | Apple | 120 |
| 3 | North | Pear | 80 |
| 4 | North total | 200 | |
| 5 | South | Apple | 200 |
| 6 | South | Pear | 45 |
| 7 | South | Plum | 60 |
| 8 | South total | 305 | |
| 9 | Grand total |
دورك: في القائمة إجمالي فرعي تحت كل منطقة. ضع في C9 إجماليًا كليًا يغطي C2:C8 دون احتساب صفوف الإجماليات الفرعية مرتين.
لماذا يظل إجمالي SUBTOTAL خاطئًا
- إجماليات المجموعات تستخدم SUM. تتخطى SUBTOTAL صيغ SUBTOTAL الأخرى داخل نطاقها، لا صيغ SUM. وإجمالي المجموعة المكتوب على شكل
=SUM(C2:C3)يُحتسب مرة أخرى. غيّر كل صف إجمالي إلى SUBTOTAL. - الصفوف أُخفيت يدويًا ورقم الدالة 9. استخدم 109.
- البيانات في أعمدة لا في صفوف. لا تُتخطى الأعمدة المخفية أبدًا.
- تحتاج إلى شرط لا إلى تصفية. تتبع SUBTOTAL ما تخفيه التصفية. ولجمع North دون تصفية، استخدم SUMIF. ولملخص كل المجموعات دفعة واحدة، يفعل ذلك الجدول المحوري دون صفوف إجمالي داخل البيانات.
الأسئلة الشائعة
ماذا يعني SUBTOTAL 9 في الاكسل؟
الوسيط الأول يختار العملية الحسابية، و9 تعني SUM. تجمع =SUBTOTAL(9,C2:C8) النطاق C2:C8، متخطية الصفوف التي أخفتها التصفية وأي صيغ SUBTOTAL أخرى في النطاق. و1 تعني AVERAGE، و2 COUNT، و3 COUNTA، و4 MAX، و5 MIN.
ما الفرق بين SUBTOTAL 9 و109؟
يتخطى الاثنان الصفوف التي أخفتها التصفية. ويتخطى 109 أيضًا الصفوف التي أخفيتها يدويًا (زر الفأرة الأيمن > إخفاء)، بينما يظل 9 يجمعها. استخدم 109 عندما يجب أن يطابق الإجمالي ما يظهر على الشاشة تمامًا.
كيف أجمع الخلايا الظاهرة فقط بعد التصفية؟
استخدم =SUBTOTAL(9,C2:C100) أو =SUBTOTAL(109,C2:C100) تحت البيانات. عندما تصفّي القائمة، يتغير الإجمالي ليشمل الصفوف الظاهرة فقط. أما SUM العادية فتظل تجمع الصفوف المخفية.
كيف أعدّ الصفوف الظاهرة في قائمة مصفّاة؟
استخدم =SUBTOTAL(103,A2:A100). الرقم 103 هو COUNTA التي تتخطى الصفوف المخفية، لذا تعدّ الخلايا الممتلئة التي ما زالت ظاهرة على الشاشة.
كيف أجمع نطاقًا يحتوي على أخطاء؟
استخدم AGGREGATE مع الخيار 6، أي تجاهل الأخطاء: =AGGREGATE(9,6,C2:C8). تعيد SUM وSUBTOTAL كلتاهما الخطأ إذا احتوت خلية واحدة في النطاق على #N/A.