ویژگی تصویر

تابع WEEKDAY در اکسل — معرفی و کاربردهای عملی

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

تابع WEEKDAY یکی از توابع مفید اکسل برای بازگرداندن شمارهٔ روز هفته از روی یک تاریخ است. این تابع زمانی کاربرد دارد که بخواهید بدانید یک تاریخ مشخص در چه روزی از هفته قرار دارد، گزارش‌های مبتنی بر روزهای هفته بسازید، یا محاسباتی مانند تعیین تاریخ اولین/بعدیِ یک روز خاص انجام دهید.

نحو و آرگومان‌ها

نحو پایه‌ای تابع:

=WEEKDAY(serial_number, [return_type])

توضیح پارامترها:

  • serial_number: تاریخ مورد نظر (می‌تواند تاریخ واقعی، ارجاع به سلول حاوی تاریخ یا تابعی مثل DATE باشد).
  • return_type (اختیاری): مشخص می‌کند که شمارهٔ روز هفته چگونه بازگردانده شود. اگر این پارامتر حذف شود، مقدار پیش‌فرض استفاده می‌شود.

مقادیر رایج return_type

return_typeنتیجه
1 (پیش‌فرض)یکشنبه = 1 … شنبه = 7
2دوشنبه = 1 … یکشنبه = 7
3دوشنبه = 0 … یکشنبه = 6

این سه نوع بیشترین کاربرد را دارند و برای بیشتر سناریوها کافی هستند. در نسخه‌های جدید اکسل توابع و گزینه‌های پیشرفته‌تری هم وجود دارد، از جمله WEEKDAY.INTL که سفارشی‌سازی بیشتری می‌دهد.

مثال‌های عملی

مثال ساده: پیدا کردن شمارهٔ روز هفته برای تاریخ 3 نوامبر 2025

=WEEKDAY(DATE(2025,11,3))

این فرمول به‌صورت پیش‌فرض return_type برابر 1 دارد و نتیجه را برمی‌گرداند (مثال: اگر 3 نوامبر 2025 دوشنبه باشد، مقدار 2 نمایش داده می‌شود — چون یکشنبه=1، دوشنبه=2).

تبدیل شماره به نام روز (فارسی)

اگر بخواهید نام روز هفته را به فارسی نمایش دهید، می‌توانید از CHOOSE همراه با WEEKDAY استفاده کنید:

=CHOOSE(WEEKDAY(A1,1),"یکشنبه","دوشنبه","سه‌شنبه","چهارشنبه","پنج‌شنبه","جمعه","شنبه")

در این فرمول A1 تاریخ شماست. ابتدا WEEKDAY شمارهٔ روز را می‌دهد و CHOOSE نام متناسب را برمی‌گرداند. این روش مستقل از تنظیمات زبان سیستم است و همیشه نام‌های فارسی را نمایش می‌دهد.

یافتن «بعدی‌ترین» یک روز هفته (مثلاً بعدی‌ترین دوشنبه)

فرض کنید در سلول A1 یک تاریخ دارید و می‌خواهید تاریخ بعدیِ دوشنبه را پیدا کنید (اگر A1 خودش دوشنبه باشد، آن روز را بازگردانید):

=A1 + MOD(2 - WEEKDAY(A1,2), 7)

توضیح: این فرمول از return_type=2 استفاده می‌کند (دوشنبه=1). برخلاف برخی نسخه‌ها، با این ساختار اگر A1 دوشنبه باشد، عدد 0 اضافه می‌شود و همان تاریخ برگردانده می‌شود. اگر بخواهید همیشه «بعدی» و نه «همان» را بگیرید، عدد 7 را به نتیجهٔ MOD اضافه کنید یا شرطی اضافه نمایید.

کار با تعطیلات و آخر هفته‌های سفارشی — WEEKDAY.INTL

در صورتی که نیاز به تعریف آخر هفته‌های غیرمعمول (مثلاً جمعه و شنبه یا یک روز وسط هفته) داشته باشید، از WEEKDAY.INTL استفاده کنید که امکان تعیین رشتهٔ هفت‌کاراکتری برای نمایش روزهای تعطیل را می‌دهد. نحو کلی:

=WEEKDAY.INTL(serial_number, [return_type], [weekend])

پارامتر weekend می‌تواند یک رشتهٔ هفت‌رقمی شامل 0 و 1 باشد (مثلاً “0000011” که به معنی جمعه و شنبه تعطیل است؛ از چپ به راست برای دوشنبه تا یکشنبه یا برعکس بسته به مستندات نسخهٔ شما). این تابع مناسب سناریوهای بین‌المللی و شرکت‌هایی با روز تعطیل متفاوت است.

مثال کاربردی در گزارش‌گیری

  • گروه‌بندی فروش بر اساس روز هفته: با ترکیب WEEKDAY و SUMIFS می‌توانید مجموع فروش شنبه‌ها یا دوشنبه‌ها را محاسبه کنید.
  • محاسبه میانگین روزهای کاری: با کار با WEEKDAY و تابع NETWORKDAYS یا NETWORKDAYS.INTL، می‌توانید میانگین و تعداد روزهای کاری بین دو تاریخ را بدست آورید.
  • ایجاد تقویم تحویل: یافتن تاریخ ارسال بعدی بر اساس روزهای کاری مشخص.

مثال ترکیبی: جمع فروش در روزهای دوشنبه

=SUMIFS(B2:B100, A2:A100, ">="&DATE(2025,1,1), A2:A100, "<="&DATE(2025,12,31), 
       INDEX(WEEKDAY(A2:A100,2),0), 1)

توضیح: این مثال ساختاری است برای نشان دادن ایده؛ در عمل بهتر است از ستون کمکی استفاده کنید که در آن برای هر تاریخ WEEKDAY محاسبه شده و سپس SUMIFS فقط براساس آن ستون فیلتر می‌کند. در صورت استفاده از فرمول آرایه‌ای یا Excel جدید با داینامیک آرایه می‌توان بدون ستون کمکی هم عمل کرد.

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

  • همیشه نوع بازگشت (return_type) را مشخص کنید تا نتایج بین سیستم‌ها و تنظیمات زبان یکسان بماند.
  • برای گزارش‌های چندزبانه از CHOOSE یا یک جدول ترجمه استفاده کنید تا نمایش اسامی مستقل از زبان سیستم باشد.
  • در محاسبات پیچیده که تعطیلات ملی مهم است از NETWORKDAYS.INTL یا لیست تعطیلات به‌عنوان ورودی استفاده کنید.
  • در نسخه‌های سازمانی و Power Query می‌توانید تبدیل روز هفته را همان‌جا انجام دهید تا دادهٔ ورودی استاندارد شود.

خلاصه

تابع WEEKDAY در اکسل ابزاری ساده اما قدرتمند برای استخراج اطلاعات روز هفته از تاریخ‌هاست. با درک پارامتر return_type و ترکیب آن با توابعی مانند CHOOSE، TEXT، یا WEEKDAY.INTL می‌توانید گزارش‌های منعطف و مطابق نیاز کسب‌وکار تهیه کنید. در پروژه‌های حرفه‌ای همیشه تنظیمات محلی و تعطیلات را در نظر بگیرید تا نتایج دقیق و قابل اعتماد باشند.

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

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