کرک از تابع SUM در بسیاری از کاربرگ های خود برای تعیین (طبیعی) مجموع محدوده ای از مقادیر استفاده می کند. مشکلی که او با آن مواجه است، این است که محدودهای که او جمع میکند حاوی چند ردیف پنهان است و او نمیخواهد آن مقادیر - مقادیر پنهان - در جمع گنجانده شود.
تابع SUM در نحوه انجام کار خود بسیار ساده است. به سادگی یک محدوده را جمع می کند. با این حال، می توانید عملکردی را که استفاده می کنید تغییر دهید و به نتایج دلخواه برسید. برای مثال، فرض کنید که میخواهید محدوده A3:A45 را جمع کنید و نمیخواهید هیچ مقدار پنهانی در مجموع گنجانده شود. باید از تابع SUBTOTAL به روش زیر استفاده کنید:
=SUBTOTAL(109,A3:A45)
اولین پارامتر تابع (109) نشان می دهد که می خواهید SUBTOTAL چگونه کار خود را انجام دهد. در این حالت، به این معنی است که می خواهید SUBTOTAL با استفاده از تابع SUM، محدوده را جمع کند و نمی خواهید هیچ مقدار پنهانی در مقدار برگردانده شود. (اگر به راهنمای آنلاین تابع SUBTOTAL مراجعه کنید، می توانید در مورد کنترل پارامترهای SUBTOTAL اطلاعات بیشتری کسب کنید.)
اگر به دلایلی نمی خواهید از تابع SUBTOTAL استفاده کنید، می توانید تابع تعریف شده توسط کاربر (یک ماکرو) را ایجاد کنید که فقط مقادیر قابل مشاهده را در یک محدوده جمع می کند. این ماکرو را در نظر بگیرید:
Function Sum_Visible(Cells_To_Sum As Object)
Dim vTotal As Variant
Dim c As Range
Application.Volatile
vTotal = 0
For Each c In Cells_To_Sum
If Not c.Rows.Hidden Then
If Not c.Columns.Hidden Then
vTotal = vTotal + c.Value
End If
End If
Next
Sum_Visible = vTotal
End Function
برای استفاده از تابع، به سادگی از فرمولی مانند این در هر کجا که می خواهید مجموع شما ظاهر شود استفاده کنید:
=Sum_Visible(A1:A1000)