تابع averageif در اکسل
تابع AVERAGEIF یکی از توابع کاربردی در اکسل است که میانگین مقادیر یک محدوده را بر اساس یک شرط محاسبه میکند. این تابع زمانی مفید است که بخواهید بهصورت شرطی مقدار میانگین را محاسبه کنید، مثلاً میانگین فروش بالاتر از مقدار معین، یا میانگین امتیازات مربوط به یک دسته خاص.
ساختار و پارامترها
فرمت کلی تابع:
=AVERAGEIF(range, criteria, [average_range])توضیح پارامترها:
- range: محدودهای که شرط روی آن اعمال میشود (مثلاً ستون نام محصولات).
- criteria: شرط یا معیار (مثلاً “>=100” یا “Apples”).
- average_range (اختیاری): محدودهای که میانگین از آن محاسبه میشود. اگر این پارامتر حذف شود، از همان محدودهٔ شرط استفاده میشود.
قواعد مهم در نوشتن شرط
- برای مقایسههای عددی از عملگرها مثل >، <، =، >=، <= استفاده کنید: “>100”.
- برای متن دقیق شرط را داخل کوتیشن قرار دهید: “Apples”.
- برای جستجوی جزئی از wildcardها استفاده کنید: “*” برای هر تعداد کاراکتر، “?” برای یک کاراکتر. مثال: “*apple*”.
- برای استفاده از کاراکترهای wildcard بهصورت حرفی باید از تیلدا (~) استفاده شود: “~*” برای پیدا کردن ستاره بهعنوان کاراکتر.
مثال عملی با جدول داده
| ردیف | محصول | منطقه | فروش |
|---|---|---|---|
| 1 | Apple | North | 120 |
| 2 | Banana | South | 80 |
| 3 | Apple | East | 150 |
| 4 | Banana | North | 60 |
| 5 | Cherry | South | 200 |
| 6 | Apple | South | 90 |
مثال 1: میانگین فروش محصولات Apple
=AVERAGEIF(B2:B7, "Apple", D2:D7)این فرمول میانگین مقادیر ستون D (فروش) را برای ردیفهایی که ستون B برابر “Apple” است محاسبه میکند. نتیجه: میانگین فروش Apple = (120+150+90)/3 = 120.
مثال 2: میانگین فروش بالاتر از 100 (بدون average_range)
=AVERAGEIF(D2:D7, ">100")چون average_range مشخص نشده، تابع از همان محدوده D2:D7 برای شرط و محاسبه میانگین استفاده میکند. این فرمول میانگین فروشهای بیش از 100 را محاسبه میکند: میانگین از 120،150،200 = 156.666…
موارد ویژه و نکات پیشرفته
1. وقتی هیچ ردیفی شرط را برآورده نکند
اگر هیچ مقداری مطابق شرط نباشد، AVERAGEIF خطای #DIV/0! برمیگرداند. برای جلوگیری از نمایش خطا میتوانید از IFERROR استفاده کنید:
=IFERROR(AVERAGEIF(D2:D7, ">100"), "بدون مقدار")این فرمول در صورت نبود نتیجه متن “بدون مقدار” را نمایش میدهد.
2. دادههای متنی یا مقادیر منطقی در average_range
AVERAGEIF تنها مقادیر عددی را در average_range برای میانگین در نظر میگیرد و متن یا مقادیر منطقی را نادیده میگیرد. اگر میخواهید رفتار دیگری داشته باشید، باید با توابع کمکی یا فرمولهای آرایهای کار کنید.
3. استفاده از AVERAGEIFS برای چند شرط
برای شرایط متعدد از تابع AVERAGEIFS استفاده کنید:
=AVERAGEIFS(D2:D7, B2:B7, "Apple", C2:C7, "South")این فرمول میانگین فروش محصولات Apple در منطقه South را محاسبه میکند.
4. فرمول آرایهای (برای نسخههای قدیمیتر اکسل)
=AVERAGE(IF((B2:B7="Apple")*(D2:D7>100), D2:D7))این یک فرمول آرایهای است که میانگین فروش Apple بیش از 100 را محاسبه میکند. در نسخههای قبل از dynamic arrays باید با Ctrl+Shift+Enter تایید شود. در نسخههای جدید اکسل (Office 365) معمولاً بهصورت عادی کار میکند.
نکات بهینهسازی و بهترین روشها
- برای خوانایی و نگهداری بهتر، از Table اکسل (Insert > Table) استفاده کنید و از ارجاعات ساختاری (Structured References) بهره ببرید.
- اگر شرط پیچیده است، بهتر است ستون کمکی بسازید و شرط را در آن محاسبه کرده سپس AVERAGEIF روی آن اعمال کنید — این کار سرعت و خوانایی را افزایش میدهد.
- برای جلوگیری از محاسبات غیرضروری روی محدودههای بزرگ، محدودهها را دقیق انتخاب کنید و از محدودههای نامگذاریشده استفاده کنید.
- برای گزارشگیری چندمعیاره بهتر است از AVERAGEIFS یا ترکیب با SUMIFS/COUNTIFS استفاده کنید تا از خطاهای منطقی جلوگیری شود.
موارد رایج خطا و راهحل
- #DIV/0!: نشاندهنده این است که هیچ مقداری مطابق شرط نبوده. از IFERROR یا شرطهای دقیقتر استفاده کنید.
- نتایج نادرست بهخاطر فاصلهها یا کاراکترهای نامرئی: از TRIM و CLEAN برای پاکسازی دادههای متنی استفاده کنید.
- استفاده نادرست از جداکنندهها: در برخی نسخههای محلی Excel جداکننده آرگومان فرمولها ; (نقطهویرگول) است. در مثالهای بالا جداکننده کاما استفاده شده چون کد فرمول به زبان انگلیسی نوشته شده است.
جمعبندی و توصیههای کارشناسی
تابع AVERAGEIF یک ابزار ساده اما قوی برای محاسبه میانگین شرطی است. در گزارشهای مدیریتی و تحلیل دادهها کاربرد فراوانی دارد. برای شرایط پیچیدهتر از AVERAGEIFS یا فرمولهای آرایهای بهره ببرید. همیشه دادهها را پاکسازی کنید، از جداول ساختاری استفاده کنید و خطاها را با IFERROR مدیریت کنید تا خروجی قابلاعتماد و قابلتفسیر داشته باشید.
در پایان، تمرین با نمونه دادههای واقعی بهترین راه برای تسلط بر رفتارهای ظریف این تابع است: مقایسه نتایج AVERAGEIF با AVERAGEIFS و فرمولهای آرایهای به شما کمک میکند تفاوتها و محدودیتها را بهتر درک کنید.
آیا این مطلب برای شما مفید بود ؟




