همانطور که میدانیم براحتی میتوان مجموع چند سلول را با توابع اکسل محاسبه کرد، اما بعضی اوقات باید سلولها را بصورت یک یا چند در میان با هدف خاصی جمع کنیم. در این شرایط، باید از ترکیب توابع یا روشهای جدیدی استفاده کرد.
● محاسبه با کمک فرمول
الف) استفاده از فرمول آرایهای شامل چند تابع
مطابق تصویر بالا در یک سلول خالی، فرمول زیر را وارد کنید:
=SUM(IF(MOD(ROW($B$1:$B$15),2)=0,$B$1:$B$15,0))
سپس کلیدهای Ctrl +Shift + Enter را همزمان فشار دهید. با اینکار مجموع یکی در میان ردیفها محاسبه میشود. در فرمول بالا، میتوانید عدد 2 را به 3 ، 4 ، 5 ... تغییر دهید تا جمع 3، 4 و 5 و .. در میان ردیف ها محاسبه گردد.
البته فرمول فوق را بصورت سادهتر نیز میتوانید استفاده کنید ولی قبل از اینکار باید یک ستون یا ردیف جدید به دادهها اضافه کنید مثلا ستون C و در سلولهای آن فرمول زیر را وارد کنید:
=MOD(ROW(),2)
سپس از فرمول زیر برای محاسبه مجموع استفاده کنید.
=SUMIF($C$1:$C$15,1,$B$1:$B$15)
اگر میخواهید مطابق تصویر زیر محاسبات بالا را برای ستونها انجام دهید، میتوانید فرمول زیر را وارد کنید:
=SUM(IF(MOD(COLUMN($A$1:$O$1),2)=0,$A$1:$O$1,0))
و کلیدهای Ctrl + Shift + Enter را بزنید تا نتیجه بگیرید.
ب) استفاده از فرمول معمولی شامل چند تابع
با استفاده از فرمول دیگر نیز میتوانید محاسبات بالا را انجام دهید. در یک سلول خالی، فرمول زیر را وارد کنید:
=SUMPRODUCT((MOD(ROW($B$1:$B$15),3)=0)*($B$1:$B$15))
و سپس کلید Enter را فشار داده تا ردیفها 3 درمیان جمع شوند.
در فرمول بالا، میتوانید عدد 3 را به 4 ، 5 ... تغییر دهید تا جمع 4 و 5 و .. در میان ردیف ها محاسبه گردد.
اگر میخواهید مطابق تصویر زیر محاسبات بالا را برای ستونها انجام دهید، میتوانید فرمول زیر را وارد کنید:
=SUMPRODUCT((MOD(COLUMN($A$1:$O$1),3)=0)*($A$1:$O$1))
فرمول دیگر نیز وجود دارد که در این سایت ارائه شده است.
● محاسبه با کمک ماکرو
کلیدهای Alt + F11 را فشار دهید یا از تب Developer قسمت code گزینه Visual Basic را انتخاب کنید. پنجره Microsoft Visual Basic ظاهر میشود. در این پنجره از تب Insert گزینه Module را انتخاب نمائید.
در پنجره باز شده کدهای زیر را کپی کنید.
Function SumIntervalRows(WorkRng As Range, interval As Integer) As Double 'pctarfand.ir & tarfandha.blog.ir' Dim arr As Variant Dim total As Double total = 0 arr = WorkRng.Value For i = interval To UBound(arr, 1) Step interval total = total + arr(i, 1) Next SumIntervalRows = total End Function Function SumIntervalCols(WorkRng As Range, interval As Integer) As Double Dim arr As Variant Dim total As Double total = 0 arr = WorkRng.Value For j = interval To UBound(arr, 2) Step interval total = total + arr(1, j) Next SumIntervalCols = total End Function
کد را ذخیره کنید.
برای چند ردیف در میان از تابع SumIntervalRows استفاده کنید. بطور مثال برای 4 ردیف میان از فرمول زیر استفاده کنید.
=SumIntervalRows (B1:B15,4)
برای ستون ها:
=SumIntervalCols (A1:O1,4)
در فرمول بالا، میتوانید عدد 4 را به 2، 3 و ... تغییر دهید تا جمع 2 و 3 و .. در میان ردیف ها یا ستون ها محاسبه گردد.
منبع: extendoffice.com