تابع aggregate در اکسل
تابع AGGREGATE یکی از توابع مفید و کمتر شناختهشده اکسل است که از نسخه 2010 معرفی شد. این تابع ترکیبی از چندین تابع آماری و تجمیعی است و مهمترین ویژگیاش امکان چشمپوشی از خطاها، ردیفهای مخفی یا توابع SUBTOTAL/AGGREGATE تو در تو است. در پروژههای واقعی (گزارشگیری، پاکسازی دادهها، کار با فیلترها یا دادههایی که خطا دارند) AGGREGATE میتواند جایگزینِ ترکیبات پیچیدهتری شود و فرمولها را هم خواناتر و هم سریعتر کند.
ساختار و پارامترها (Syntax)
قالب کلی تابع:
=AGGREGATE(function_num, options, ref1, [ref2], ...)توضیح پارامترها بهطور خلاصه:
- function_num: عددی بین 1 تا 19 که مشخص میکند کدام تابع (مثل AVERAGE، SUM، LARGE و…) اجرا شود.
- options: عدد بین 0 تا 7 که تعیین میکند چه چیزهایی نادیده گرفته شوند (ردیفهای مخفی، مقادیر خطا، توابع SUBTOTAL/AGGREGATE تو در تو).
- ref1, ref2…: بازهها یا آرایههایی که تابع روی آنها اعمال میشود.
معنی مقدارهای options
| عدد | رفتار |
|---|---|
| 0 | هیچچیز نادیده گرفته نشود |
| 1 | ردیفهای مخفی را نادیده بگیرد |
| 2 | مقادیر خطا را نادیده بگیرد |
| 3 | ردیفهای مخفی و مقادیر خطا را نادیده بگیرد |
| 4 | توابع SUBTOTAL/AGGREGATE تو در تو را نادیده بگیرد |
| 5 | SUBTOTAL/AGGREGATE تو در تو و ردیفهای مخفی را نادیده بگیرد |
| 6 | SUBTOTAL/AGGREGATE تو در تو و مقادیر خطا را نادیده بگیرد |
| 7 | همهٔ موارد بالا را نادیده بگیرد |
نکتهٔ کلیدی: values options مانند 1،2،4 را میتوان با هم جمع کرد تا ترکیب دلخواه ساخته شود (مثلاً 6 = 2 + 4 یعنی نادیده گرفتن خطاها و SUBTOTAL های تو در تو).
مثالهای کاربردی
1) جمعزنی ساده که خطاها را نادیده میگیرد
=AGGREGATE(9,6,A2:A100)توضیح: در این مثال تابع شماره 9 برابر SUM است؛ گزینهٔ 6 به معنی «نادیده گرفتن خطاها و توابع AGGREGATE/SUBTOTAL تو در تو» است. بنابراین اگر در A2:A100 مقادیر خطا (مثل #DIV/0!) وجود داشته باشند، تابع آنها را نادیده میگیرد و مجموع بقیه سلولها را محاسبه میکند. این روش خیلی بهتر از SUMIF+ISNUMBER یا استفاده از فرمولهای آرایهای پیچیده است.
2) یافتن kامین کوچکترین مقدار (با نادیده گرفتن خطاها)
=AGGREGATE(15,6,A2:A100,2)توضیح: تابع شماره 15 برابر SMALL است؛ این فرمول کوچکترین مقدار دوم در بازه A2:A100 را برمیگرداند و مقادیر خطا را نادیده میگیرد. اگر در لیست دادههای شما بعضی محاسبات خطا دادهاند، استفاده از AGGREGATE باعث میشود نتیجه درست بدست بیاید بدون نیاز به پاکسازی دادهها.
3) استفاده با شرط (تکنیک تقسیم آرایه برای اعمال فیلتر بدون ستون کمکی)
=AGGREGATE(15,6,(B2:B100/(A2:A100="فروش")),1)توضیح: این فرمول کوچکترین مقدار از ستون B را برمیگرداند اما فقط برای ردیفهایی که در ستون A مقدار «فروش» دارند. مکانیسم کار این است که برای ردیفهایی که شرط برقرار نیست، تقسیم بر صفر رخ میدهد و خطا تولید میشود؛ چون گزینهٔ 6 تعیین شده، AGGREGATE خطاها را نادیده میگیرد و فقط مقادیر معتبر را در نظر میگیرد. این تکنیک بهویژه زمانی مفید است که نخواهید ستون کمکی بسازید یا از FILTER استفاده کنید.
مقایسه با SUBTOTAL و نکات عملی
- SUBTOTAL برای محاسبات روی لیستهای فیلترشده مفید است اما امکاناتش محدودتر است (و کدهای 1–11 و 101–111 دارد که رفتار متفاوت نسبت به ردیفهای مخفی دارند).
- AGGREGATE علاوه بر قابلیتهای SUBTOTAL، امکان نادیده گرفتن خطاها و توابع تو در تو را هم میدهد و میتواند بسیاری از فرمولهای آرایهای را جایگزین کند.
- AGGREGATE در برخی محاسبات پیچیده از نظر کارایی بهتر از فرمولهای CSE (Ctrl+Shift+Enter) عمل میکند، چون نیازی به محاسبهٔ کامل آرایهها ندارد.
موارد کاربرد واقعی (Use Cases)
- گزارشگیری روی دادههای وارداتی که ممکن است خطا یا دادهٔ گم شده داشته باشند.
- پیدا کردن رتبهها (LARGE/SMALL) در لیستهایی که با فیلتر کار میکنند یا شامل خطاها هستند.
- جایگزینی برخی فرمولهای پیچیدهٔ SUMPRODUCT یا آرایهای با نسخهای سادهتر که هم خواناتر و هم سریعتر است.
- کار با داشبوردها: محاسباتی که باید ردیفهای مخفی در فیلتر را نادیده بگیرند یا خطاها را چشمپوشی کنند.
نکات حرفهای و هشدارها
- تابع AGGREGATE از نسخهٔ Excel 2010 به بعد موجود است؛ در نسخههای قدیمیتر در دسترس نیست.
- مقادیر گزینهها ممکن است بسته به نحوهٔ پنهانسازی ردیفها (فیلتر در مقابل Hide دستی) رفتار متفاوتی نشان دهند؛ بنابراین در گزارشهای حساس تست کنید.
- در صورت استفاده از توابعی که خودشان SUBTOTAL یا AGGREGATE را فراخوانی میکنند، گزینهٔ مرتبط (مثلاً 4 یا 6) را تنظیم کنید تا از محاسبات تو در تو جلوگیری شود.
- برای خوانایی، همیشه در مستندسازیِ شیت توضیحی کوتاه درباره چگونگی نادیدهگیری (options) بنویسید — مخصوصاً در فایلهای شرکتی که دیگران هم با آن کار میکنند.
نمونه جدول خلاصه (توابع رایج)
| function_num | عملیات |
|---|---|
| 1 | AVERAGE |
| 2 | COUNT |
| 3 | COUNTA |
| 4 | MAX |
| 5 | MIN |
| 9 | SUM |
| 14 | LARGE |
| 15 | SMALL |
این فهرست کوتاه تنها نمونهای از تابعهاست؛ AGGREGATE مجموعاً از چندین تابع داخلی پشتیبانی میکند که بسته به نیاز میتوانید از آنها استفاده کنید.
جمعبندی
اگر با دادههای فیلتر شده، دادههای دارای خطا یا مجموعهای که شامل محاسبات تو در تو است کار میکنید، تابع AGGREGATE یک ابزار قدرتمند و انعطافپذیر برای جایگزینی فرمولهای پیچیده و افزایش کارایی شیتها است. با یادگیری گزینهها و نحوهٔ ترکیب آن با تکنیکهای آرایهای میتوانید فرمولهایی سادهتر، سریعتر و مقاومتر بسازید.
آیا این مطلب برای شما مفید بود ؟




