تابع SHEETS در اکسل
تابع SHEETS یکی از توابع ساده اما کاربردی اکسل است که برای شمارش تعداد شیتها (برگهها) در یک مرجع مورد استفاده قرار میگیرد. این تابع وقتی با مرجعهای سهبعدی (3‑D references) یا با استفاده از INDIRECT ترکیب شود، در گزارشگیریهای پویا و تجمیع داده بین شیتها بسیار مفید واقع میشود.
چرا از تابع SHEETS استفاده کنیم؟
در مدلهای دادهای که اطلاعات در چندین شیت قرار دارد — مثلاً هر ماه یک شیت یا هر پروژه یک شیت — نیاز به شمارش خودکار تعداد شیتها برای محاسبات میانگین، تجمیع یا اعتبارسنجی اهمیت دارد. تابع SHEETS این کار را بدون نیاز به شمارش دستی انجام میدهد و با تغییر یا افزودن شیتها فرمولها بهروزرسانی میشوند.
نحو (Syntax)
نحو تابع به شکل زیر است:
=SHEETS([reference])آرگومان reference اختیاری است. اگر مرجعی وارد نشود، در نسخههای جدید اکسل میتوان از آن برای ارزیابی بسته به ورژن استفاده کرد (در بسیاری از پیادهسازیها مقدار مرجع پیشفرض باعث بازگشت تعداد شیتهای کتاب جاری میشود). وقتی مرجع یک محدوده سهبعدی مثل Sheet1:Sheet4!A1 باشد، تابع تعداد شیتهای موجود در آن بازه را برمیگرداند.
مثالهای ساده
- شمارش تعداد شیتها در یک مرجع 3‑D:
=SHEETS(Sheet1:Sheet4!A1)این فرمول عدد 4 را برمیگرداند چون مرجع شامل چهار شیت از Sheet1 تا Sheet4 است.
- استفاده برای میانگینگیری از مقدار یک سلول در چند شیت:
=SUM(Sheet1:Sheet4!B2)/SHEETS(Sheet1:Sheet4!B2)این فرمول مجموع مقادیر سلول B2 در بین شیتهای Sheet1 تا Sheet4 را تقسیم بر تعداد شیتها میکند تا میانگین محاسبه شود.
مثال پیشرفته — استفاده با INDIRECT برای مرجع پویا
اگر نام شیت شروع و پایان در سلولها وارد شده باشد (مثلاً A1 = “Jan” و B1 = “Dec”) میتوان از INDIRECT برای ساخت مرجع پویا استفاده کرد:
=SHEETS(INDIRECT("'" & A1 & ":" & B1 & "'!A1"))این فرمول تعداد شیتها بین شیت نامگذاری شده در A1 و شیت در B1 را میشمارد. توجه داشته باشید که INDIRECT یک تابع Volatile است و باعث محاسبات مکرر میشود؛ همچنین برای ارجاع به فایلهای بسته (closed workbooks) ممکن است کار نکند.
موارد کاربردی و نکات عملی
- گزارشهای ماهانه: هر ماه یک شیت دارید؛ با SHEETS میتوانید بهسادگی تعداد ماههای تکمیل شده را محاسبه کنید.
- محاسبه میانگین یا میانگین وزنی بین شیتها بدون نیاز به تغییر دستی فرمولها هنگام اضافه شدن شیت.
- اعتبارسنجی: بررسی کنید که تعداد شیتها مطابق انتظار است (مثلاً اگر باید 12 شیت باشد).
- کار با شیتهای پنهان: تابع SHEETS شیتهای مخفی را نیز میشمارد، پس در صورت وجود شیتهای مخفی رفتار را مدنظر داشته باشید.
تفاوت SHEETS با توابع مشابه
دو تابع اغلب با هم مقایسه میشوند:
- SHEET (مفرد): شماره یا موقعیت یک شیت را برمیگرداند یا شماره شیت مرجع را.
- SHEETS (جمع): تعداد شیتها در یک مرجع را برمیگرداند.
برای مثال SHEET(A1) ممکن است 1 را برگرداند اگر در شیت اول باشید، اما SHEETS(Sheet1:Sheet3!A1) مقدار 3 خواهد بود.
خطاها و محدودیتها
- اگر مرجع ساختار درستی نداشته باشد، یا نام شیتها نادرست درج شده باشند، تابع ممکن است خطا برگرداند. استفاده از IFERROR برای مدیریت خطا توصیه میشود.
- INDIRECT باعث نوسان (Volatile) در محاسبات میشود و در فایلهای بزرگ ممکن است سرعت را کاهش دهد.
- برخی نسخههای قدیمیتر اکسل تابع SHEETS را پشتیبانی نمیکنند؛ معمولاً در نسخههای مدرن (Excel 365، Excel 2019 و نسخههای بعد از 2013) در دسترس است.
نمونه کاربرد عملی با مدیریت خطا
=IFERROR(SHEETS(INDIRECT("'"&A1&":"&B1&"'!A1")), "مرجع نامعتبر")این فرمول تلاش میکند تعداد شیتها بین نام در A1 و B1 را محاسبه کند و در صورت وجود خطا پیام فارسی «مرجع نامعتبر» را نمایش میدهد. این روش برای افزایش پایداری داشبوردها و خروجیهای گزارش مناسب است.
نکات حرفهای (Expert Tips)
- اگر میخواهید شیتهای خاص (مانند شیتهای داده) را شمارش کنید، از نامگذاری یکسان یا پیشوند مشترک (مثلاً “Data_”) استفاده کنید و سپس با توابع کمکی (مثل FILTER، COUNTIF همراه با GET.WORKBOOK در VBA یا با فهرست شیتها) فهرست بسازید.
- برای کار با شیتهای یک کارپوشه (workbook) بسته، از راهحلهایی به جز INDIRECT استفاده کنید یا از VBA برای خواندن نام شیتها بهره ببرید، چون INDIRECT مرجع به فایل بسته را پشتیبانی نمیکند.
- در فایلهای بزرگ و دارای محاسبات زیاد، از INDIRECT کم استفاده کنید تا از افت عملکرد جلوگیری شود.
جمعبندی
تابع SHEETS ابزار ساده و مؤثری برای شمارش تعداد شیتها در اکسل است که بهویژه در مدلهای چندشیتی و گزارشهای پویا کاربردی است. ترکیب آن با توابعی مثل SUM، INDIRECT و IFERROR امکان ساخت محاسبات قابل انعطاف و مقاوم در برابر تغییرات ساختار شیتها را فراهم میکند. در عین حال باید از محدودیتهای مربوط به ورژن اکسل و عملکرد INDIRECT آگاه بود تا پیادهسازی بهینهای انجام شود.
آیا این مطلب برای شما مفید بود ؟




