ایجاد سوال
dark_mode
0 دوستدار 0 امتیاز منفی
16 visibility
موضوع: آفیس توسط:

سوزی یک کاربرگ دارد که اطلاعات کمی در آن وجود دارد. برای او غیرعادی نیست که ستون ها را در کاربرگ پنهان کند. او به فرمولی نیاز دارد که میانگین طیف وسیعی از سلول ها را، همه در یک ردیف، برگرداند، در حالی که سلول های پنهان را نادیده می گیرد. برای مثال، اگر سوزی B7:G7 را انتخاب کند، می خواهد میانگین سلول های موجود در آن محدوده قابل مشاهده باشد (ستون های D و E، در این مورد، پنهان هستند).

هیچ تابع ذاتی در اکسل برای محاسبه چنین میانگینی وجود ندارد. اگر می خواهید میانگین طیفی از سلول ها را در یک ستون بیابید، می توانید از تابع SUBTOTAL به این صورت استفاده کنید:

=SUBTOTAL(101,A7:A12)

با این حال، زمانی که محدوده ارائه شده در یک ردیف باشد، تابع SUBTOTAL مقدار دقیقی را بر نمی گرداند. در صورت تمایل می توانید از سلول های کمکی برای انجام محاسبات استفاده کنید. فقط موارد زیر را در سلول B8 قرار دهید:

=(CELL("width",B7)>0)+0

سلول B8 را در محدوده C8:G8 کپی کنید. نتیجه این است که هر سلول در محدوده B8:G8 بر اساس مخفی بودن یا نبودن ستون دارای 0 یا 1 خواهد بود. سپس می توانید از فرمول زیر برای تعیین میانگین استفاده کنید:

=SUMIFS(B7:G7,B8:G8,">0")/SUM(B8:G8)

میانگین را فقط برای ستون هایی محاسبه می کند که سلول های B8:G8 حاوی مقدار 1 هستند (آنها پنهان نیستند).

البته، ممکن است نتوانید از سلول های کمکی استفاده کنید و ممکن است ایجاد یک تابع تعریف شده توسط کاربر برای محاسبه میانگین مفیدتر باشد. موارد زیر خیلی سریع کار می کند:

Function AverageVisible(rng As Range)
    Dim rCell As Range
    Dim iCount As Integer
    Dim dTtl As Double

    iCount = 0
    dTtl = 0
    For Each rCell In rng
        If rCell.ColumnWidth > 0 _
          And rCell.RowHeight > 0 _
          And Not IsEmpty(rCell) _
          And IsNumeric(rCell.Value) Then
              dTtl = dTtl + rCell
              iCount = iCount + 1
        End If
    Next
    If iCount > 0 Then
        AverageVisible = dTtl / iCount
    Else
        AverageVisible = 0
    End If
End Function

برای استفاده از تابع، به سادگی این فرمول را در سلولی که می خواهید میانگین را در آن قرار دهید قرار دهید:

=AverageVisible(B7:G7)

این تابع تمام سلول های محدوده را بررسی می کند (به این معنی که می توانید از آن در ردیف ها، ستون ها یا در واقع هر محدوده ای استفاده کنید) تا مطمئن شود که پنهان نیست و خالی نیست. اگر سلول حاوی مقدار عددی باشد، برای محاسبه میانگین از آن استفاده می شود. اگر محدوده ای که مشخص می کنید حاوی مقادیری نباشد که بتوان میانگین آن را محاسبه کرد، آنگاه تابع مقدار 0 را برمی گرداند.

هر بار که کاربرگ دوباره محاسبه می شود، این تابع به طور خودکار اجرا می شود. اگر ستون های پنهان را تغییر دهید، اکسل به طور خودکار دوباره محاسبه نمی شود. بنابراین، شما باید پس از پنهان کردن یا بازکردن ستون ها، دوباره محاسبه را انجام دهید.

اگر خواستی، با این لینک از ما حمایت کن

پاسخ شما

looks_5نام شما برای نمایش - اختیاری
حریم شخصی : آدرس ایمیل شما محفوظ میماند و برای استفاده های تجاری و تبلیغاتی به کار نمی رود
عدد چهار رقمی در تصویر را وارد کنید

برای جلوگیری از این تایید در آینده, لطفا وارد شده یا ثبت نام کنید.
اگر حساب گوگل دارید به راحتی وارید شوید

0 پاسخ وجود دارد

سوال مشابهی یافت نشد

برای دسترسی راحت به مطالب سایت ، اپلیکیشن سایت را نصب کنید
و لطفا بعد از نصب امتیاز دهید. با تشکر از حمایت شما

23.2k سوال

8.5k پاسخ

608 دیدگاه

9.7k کاربر

138 نفر آنلاین
0 عضو و 138 مهمان در سایت حاضرند
بازدید امروز: 8409
بازدید دیروز: 25459
بازدید کل: 15235925
...