ویژگی تصویر

تابع SHEET در اکسل — معرفی کلی

  /  اکسل   /  تابع SHEET در اکسل
بنر تبلیغاتی الف

تابع SHEET در اکسل برای به‌دست‌آوردن شمارهٔ برگه (Sheet Index) یک مرجع استفاده می‌شود. شمارهٔ برگه به ترتیب قرارگیری زبانه‌ها در پایین فایل اکسل اختصاص می‌یابد و از 1 شروع می‌شود. این تابع در نسخه‌های جدید اکسل (از Excel 2013 به بعد و نسخه‌های بعدی) در دسترس است و می‌تواند در ترکیب با توابع دیگر برای تولید فرمول‌های پویا مفید باشد.

نحو (Syntax)

نحو تابع به شکل زیر است:

=SHEET([reference])

پارامتر reference اختیاری است. اگر مرجع ارائه نشود، تابع شمارهٔ برگه‌ای که فرمول داخل آن قرار دارد را برمی‌گرداند.

تفاوت شمارهٔ برگه با نام برگه

نکتهٔ مهم: شمارهٔ برگه موقعیت فیزیکی (index) برگه در کتاب کار است، نه نام آن. اگر ترتیب برگه‌ها جابجا شود، مقدار تابع SHEET تغییر خواهد کرد؛ در حالی که نام برگه ثابت می‌ماند مگر اینکه آن را تغییر دهید.

مثال‌های ساده و عملی

فرمولتوضیحخروجی نمونه
=SHEET()شمارهٔ برگه‌ای که فرمول در آن قرار دارد را برمی‌گرداند.1 (اگر اولین برگه باشد)
=SHEET(Sheet2!A1)شمارهٔ برگه‌ای که سلول A1 از Sheet2 در آن قرار دارد.2 (اگر Sheet2 دومین برگه باشد)
=SHEET("Sheet2!A1")می‌توان مرجع را به‌صورت رشته هم داد؛ رفتار شبیه به مرجع عادی است.2
=SHEET()

این فرمول شمارهٔ برگهٔ جاری را برمی‌گرداند. معمولاً برای تولید شماره خودکار برگه یا هنگام ساخت گزارش‌هایی که به موقعیت برگه وابسته‌اند کاربرد دارد.

=SHEET(Sheet2!A1)

شمارهٔ برگه‌ای که سلول A1 در Sheet2 قرار دارد را برمی‌گرداند. توجه کنید که اگر نام برگه دارای فاصله یا کاراکترهای خاص باشد باید آن را داخل کوتیشن و آکولاد (‘) قرار دهید، مثلاً ‘Sales 2025’!A1.

موارد کاربردی و سناریوهای واقعی

  • ساخت شمارهٔ خودکار برای صفحات گزارش: با استفاده از SHEET می‌توانید نشان دهید این برگه چندمین برگهٔ گزارش است.
  • ساخت فرمول‌های پویا بین برگه‌ها: می‌توان از مقدار SHEET برای ارجاع به برگهٔ بعدی یا قبلی با تابع INDIRECT استفاده کرد.
  • گزارش‌گیری و آمار: وقتی برگه‌ها نمایانگر دوره‌های زمانی یا بخش‌ها هستند، موقعیت برگه می‌تواند در منطق محاسبات نقش داشته باشد.
=INDIRECT("'" & "Sheet" & SHEET() + 1 & "'!A1")

این مثال نشان می‌دهد چگونه می‌توان با SHEET و INDIRECT به سلول A1 برگهٔ بعدی ارجاع داد. اگر فرمول روی Sheet2 باشد، مقدار سلول A1 از Sheet3 خوانده می‌شود. توجه: استفاده از INDIRECT به ارجاع‌های پویا منتهی می‌شود و حساس به تغییر نام برگه است.

تفاوت SHEET و SHEETS

دو تابعی که ممکن است با یکدیگر اشتباه شوند:

  • SHEET: شمارهٔ یک مرجع (یا برگهٔ جاری) را برمی‌گرداند.
  • SHEETS: تعداد برگه‌ها در یک مرجع (یا کتاب کار) را برمی‌گرداند؛ مثلاً تعداد برگه‌ها در یک محدوده 3D.

خطاها و محدودیت‌ها

  • اگر مرجع نامعتبر باشد یا برگه حذف شده باشد، ممکن است #REF! بازگردد.
  • به‌دلیل وابستگی به ترتیب زبانه‌ها، تکیهٔ صرف بر شمارهٔ برگه برای منطق‌های حساس توصیه نمی‌شود؛ جابجایی برگه می‌تواند نتایج را خراب کند.
  • برای ارجاع به کارپوشه‌های بسته (closed workbook) یا منابع خارجی، رفتار ممکن است محدود یا خطاپذیر باشد.

مثال خطا

=SHEET('[Nonexistent.xlsx]Sheet1'!A1)

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

نکات حرفه‌ای و توصیه‌ها

  • اگر نیاز به شناسایی برگه‌ها بر اساس نام دارید، از روش استخراج نام برگه با CELL(“filename”,A1) و توابع متن استفاده کنید؛ این روش نام برگه را برمی‌گرداند، نه شماره آن.
  • برای گزارش‌های پایدارتر ترجیح دهید از نام ثابت برگه (یا یک لیست مرجع) استفاده کنید تا از خطا ناشی از جابجایی جلوگیری شود.
  • در نسخه‌های با Dynamic Array، اگر یک آرایه از مراجع به SHEET بدهید، خروجی یک آرایه از اعداد خواهد بود که به‌صورت Spill نمایش داده می‌شود (در نسخه‌های پشتیبانی‌کننده).
=MID(CELL("filename",A1),FIND("]",CELL("filename",A1))+1,255)

این فرمول نام برگهٔ جاری را استخراج می‌کند با استفاده از فرادادهٔ فایل که مسیر و نام برگه را شامل می‌شود. سپس MID و FIND برای جداسازی نام برگه پس از کاراکتر ‘]’ استفاده می‌شوند. توجه: این تابع نیاز دارد که فایل حداقل یک‌بار ذخیره شده باشد تا CELL(“filename”) مقدار دهد.

مثال‌های ترکیبی و پیشرفته

  • ساخت شناسهٔ یکتا برای هر برگه با ترکیب نام و شمارهٔ برگه.
  • نظارت بر ترتیب برگه‌ها و هشدار در صورت تغییر ترتیب (با مقایسه مقدار فعلی SHEET با مقدار ذخیره‌شده).
  • انتقال خودکار به برگهٔ بعدی یا قبلی با استفاده از توابع پویا در صفحات داشبورد (به همراه INDIRECT).

نمونه جدول خلاصه

نیازراه‌حل (مثال)
شمارهٔ برگه جاری=SHEET()
شمارهٔ برگه دلخواه=SHEET('Sales'!A1)
نام برگه جاری=MID(CELL("filename",A1),FIND("]",CELL("filename",A1))+1,255)

جمع‌بندی کوتاه

تابع SHEET ابزار ساده و مفیدی برای به‌دست‌آوردن موقعیت یک برگه در کتاب کار است. برای ساخت فرمول‌های پویا و تعامل بین برگه‌ها کاربرد دارد، اما به‌دلیل وابستگی به ترتیب برگه‌ها باید با احتیاط و در ترکیب با نام‌های ثابت یا دیگر کنترل‌ها استفاده شود. در بسیاری از سناریوها ترکیب SHEET با INDIRECT، CELL و توابع متنی می‌تواند راهکارهای قدرتمندی برای ایجاد داشبوردها و گزارش‌های خودکار فراهم کند.

آیا این مطلب برای شما مفید بود ؟

خیر
بله
موضوعات شما در انجمن: