DATEDIF و NETWORKDAYS در Google Sheets: تفاوت تاریخ در روز، ماه و سال

  • این را به اشتراک بگذارید
Michael Brown

پست وبلاگ امروز تماماً در مورد پی بردن به تفاوت بین دو تاریخ در Google Sheets است. شما تعداد زیادی فرمول DATEDIF را برای شمارش روزها، ماه ها و سال ها خواهید دید و یاد می گیرید که چگونه از NETWORKDAYS برای شمارش روزهای کاری استفاده می شود، حتی اگر تعطیلات شما بر اساس یک برنامه زمانی سفارشی باشد.

بسیاری از کاربران صفحات گسترده پیدا می کنند. رسیدگی به تاریخ ها اگر بسیار دشوار نباشد، گیج کننده است. اما باور کنید یا نه، چند عملکرد مفید و ساده برای این منظور وجود دارد. DATEDIF و NETWORKDAYS چند مورد از آنها هستند.

    عملکرد DATEDIF در کاربرگ‌نگار Google

    همانطور که در مورد توابع اتفاق می‌افتد، نام آنها نشان دهنده این عمل است. در مورد DATEDIF هم همینطور. باید به عنوان date dif خوانده شود، نه dated if ، و مخفف تفاوت تاریخ است. بنابراین، DATEDIF در Google Sheets تفاوت تاریخ بین دو تاریخ را محاسبه می‌کند.

    بیایید آن را به قطعات تقسیم کنیم. این تابع به سه آرگومان نیاز دارد:

    =DATEDIF(تاریخ_شروع، تاریخ_پایان، واحد)
    • تاریخ_شروع - تاریخی که به عنوان نقطه شروع استفاده می شود. این باید یکی از موارد زیر باشد:
      • خود یک تاریخ در دو گیومه: "8/13/2020"
      • اشاره به سلولی با تاریخ: A2
      • فرمولی که تاریخ را برمی گرداند: DATE(2020، 8، 13)
      • عددی که مخفف یک تاریخ خاص است و می تواند توسط Google Sheets به عنوان تاریخ تفسیر شود، به عنوان مثال. 44056 نشان دهنده 13 آگوست 2020 است.
    • تاریخ_پایان - تاریخ استفاده شدهبه عنوان نقطه پایانی باید از همان قالب start_date باشد.
    • واحد - برای گفتن اینکه تابع چه تفاوتی را باید برگرداند استفاده می شود. لیست کاملی از واحدهایی که می توانید استفاده کنید در اینجا آمده است:
      • "D" – (مخفف روز ) تعداد روزهای بین دو تاریخ را نشان می دهد.
      • "M" - (ماه) تعداد ماههای کامل بین دو تاریخ.
      • "Y" - (سال) تعداد سالهای کامل.
      • "MD" - (روزهایی که ماه ها را نادیده می گیرند) تعداد روزهای پس از تفریق ماه های کامل.
      • "YD" - (روزهایی که سال ها را نادیده می گیرند) تعداد روزهای پس از تفریق سالهای کامل.
      • "YM" - (ماهها بدون توجه به سالها) تعداد ماههای کامل پس از تفریق سالهای کامل.

    توجه همه واحدها باید به همان شکلی که در بالا نشان داده می شوند در فرمول قرار داده شوند - در دو نقل قول.

    اکنون بیایید همه این بخش‌ها را با هم ترکیب کنیم و ببینیم فرمول‌های DATEDIF چگونه در کاربرگ‌نگار Google کار می‌کنند.

    محاسبه روز بین دو تاریخ در Google Sheets

    مثال 1. شمارش همه روزها

    من یک میز کوچک برای پیگیری برخی سفارشات دارم. همه آنها در نیمه اول آگوست ارسال شده اند - تاریخ ارسال - که تاریخ شروع من خواهد بود. همچنین یک تاریخ تقریبی تحویل وجود دارد - تاریخ سررسید .

    من قرار است روزها را محاسبه کنم - "D" - بین ارسال و تاریخ سررسید تا ببینید چقدر طول می کشد تا اقلام به دستشان برسد. این فرمولی است که باید استفاده کنم:

    =DATEDIF(B2, C2, "D")

    من واردفرمول DATEDIF در D2 و سپس آن را در ستون کپی کنید تا در سطرهای دیگر اعمال شود.

    نکته. همیشه می‌توانید کل ستون را به‌طور هم‌زمان با یک فرمول با استفاده از ARRAYFORMULA محاسبه کنید:

    =ArrayFormula(DATEDIF(B2:B13, C2:C13, "D"))

    مثال 2. تعداد روزها را با نادیده گرفتن ماه‌ها بشمارید

    آنجا را تصور کنید چند ماه بین دو تاریخ است:

    چگونه فقط روزها را حساب می کنید که انگار متعلق به یک ماه است؟ درست است: با نادیده گرفتن ماه های کامل گذشته. وقتی از واحد "MD" استفاده می کنید، DATEDIF این را به طور خودکار محاسبه می کند:

    =DATEDIF(A2, B2, "MD")

    این تابع ماه های سپری شده را کم می کند و روزهای باقی مانده را می شمارد. .

    مثال 3. شمارش روزها با نادیده گرفتن سالها

    یک واحد دیگر - "YD" - به زمانی کمک می کند که تاریخ ها بیش از یک سال بین آنها باشد:

    =DATEDIF(A2, B2, "YD")

    این فرمول ابتدا سالها را کم می کند و سپس روزهای باقیمانده را محاسبه می کند که گویی متعلق به همان سال است.

    شمارش روزهای کاری در Google Sheets

    مورد خاصی وجود دارد که باید فقط روزهای کاری را در Google Sheets بشمارید. فرمول های DATEDIF در اینجا کمک چندانی نخواهند کرد. و من معتقدم که شما موافقت خواهید کرد که تفریق آخر هفته ها به صورت دستی زیباترین گزینه نیست.

    خوشبختانه، Google Sheets چند طلسم نه چندان جادویی برای آن دارد :)

    مثال 1. تابع NETWORKDAYS

    اولین تابع NETWORKDAYS نامیده می شود. این تابع تعداد روزهای کاری بین دو تاریخ به استثنای تعطیلات آخر هفته (شنبه ویکشنبه) و حتی تعطیلات در صورت لزوم:

    =NETWORKDAYS(تاریخ_شروع، تاریخ_پایان، [تعطیلات])
    • تاریخ_شروع - تاریخی که به عنوان نقطه شروع استفاده می شود. ضروری.

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

    • تاریخ_پایان - تاریخی که به عنوان نقطه پایانی استفاده می شود. ضروری.

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

    • تعطیلات - این یکی برای زمانی که باید به تعطیلات خاصی اشاره کنید اختیاری است. این باید طیفی از تاریخ ها یا اعدادی باشد که تاریخ ها را نشان می دهد.

    برای نشان دادن نحوه کار، فهرستی از تعطیلات را که بین تاریخ ارسال و سررسید انجام می شود اضافه می کنم:

    بنابراین، ستون B تاریخ شروع من است، ستون های C - تاریخ پایان. تاریخ های ستون E تعطیلاتی هستند که باید در نظر گرفته شوند. فرمول باید چگونه به نظر برسد:

    =NETWORKDAYS(B2, C2, $E$2:$E$4)

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

    آیا متوجه شده اید که چگونه تعداد روزها در مقایسه با فرمول های DATEDIF کاهش یافته است؟ زیرا اکنون این تابع به طور خودکار همه شنبه ها، یکشنبه ها و دو تعطیلی را که در جمعه و دوشنبه برگزار می شود کم می کند.

    توجه داشته باشید. برخلاف DATEDIF در کاربرگ‌نگار Google، NETWORKDAYS start_day و end_day را به‌عنوان روزهای کاری حساب می‌کند، مگر اینکه روزهای تعطیل باشند. بنابراین، D7 1 را برمی گرداند.

    مثال 2.NETWORKDAYS.INTL برای Google Sheets

    اگر برنامه آخر هفته سفارشی دارید، از عملکرد دیگری بهره مند خواهید شد: NETWORKDAYS.INTL. به شما امکان می‌دهد روزهای کاری را در کاربرگ‌نگار Google بر اساس آخر هفته‌های تنظیم‌شده شخصی بشمارید:

    =NETWORKDAYS.INTL(start_date، end_date، [Weekend]، [تعطیلات])
    • start_date – a تاریخ به عنوان نقطه شروع استفاده می شود. الزامی است.
    • تاریخ_پایان - تاریخی که به عنوان نقطه پایانی استفاده می شود. ضروری.

      توجه داشته باشید. NETWORKDAYS.INTL در کاربرگ‌نگار Google همچنین start_day و end_day را به‌عنوان روزهای کاری در نظر می‌گیرد مگر اینکه تعطیلات باشند.

    • آخر هفته – این یکی است اختیاری. در صورت حذف، شنبه و یکشنبه به عنوان تعطیلات آخر هفته در نظر گرفته می شوند. اما شما می توانید با استفاده از دو روش آن را تغییر دهید:
      • ماسک .

        نکته. این روش برای زمانی که روزهای تعطیل شما در سراسر هفته پراکنده است بسیار مناسب است.

        ماسک یک الگوی هفت رقمی از 1 و 0 است. 1 مخفف یک تعطیلات آخر هفته، 0 برای یک روز کاری است. اولین رقم در الگو همیشه دوشنبه و آخرین رقم یکشنبه است.

        برای مثال، "1100110" به این معنی است که شما در روزهای چهارشنبه، پنجشنبه، جمعه و شنبه کار می کنید.

        توجه داشته باشید. ماسک باید در دو گیومه قرار گیرد.

      • اعداد .

        از اعداد یک رقمی (1-7) استفاده کنید که نشان دهنده یک جفت تعطیلات آخر هفته است:

        Number Weekend
        1 شنبه، یکشنبه
        2 یکشنبه، دوشنبه
        3 دوشنبه، سه شنبه
        4 سه شنبه،چهارشنبه
        5 چهارشنبه، پنجشنبه
        6 پنجشنبه، جمعه
        7 جمعه، شنبه

        یا با اعداد دو رقمی (11-17) که یک روز استراحت را نشان می دهند کار کنید. در عرض یک هفته:

        تعداد روز آخر هفته
        11 یکشنبه
        12 دوشنبه
        13 سه شنبه
        14 چهارشنبه
        15 پنجشنبه
        16 جمعه<23 - همچنین اختیاری است و برای تعیین تعطیلات استفاده می شود.

      این تابع ممکن است به دلیل همه آن اعداد پیچیده به نظر برسد، اما من شما را تشویق می کنم آن را امتحان کنید.

      اول، فقط کافی است درک روشنی از روزهای تعطیل خود داشته باشید. بیایید آن را یکشنبه و دوشنبه کنیم. سپس، تصمیم بگیرید که تعطیلات آخر هفته خود را نشان دهید.

      اگر با ماسک می روید، به این صورت خواهد بود - 1000001 :

      =NETWORKDAYS.INTL(B2, C2, "1000001")

      اما از آنجایی که من دو روز آخر هفته پشت سر هم دارم، می توانم از یک عدد از جداول بالا استفاده کنم، 2 در مورد من:

      =NETWORKDAYS.INTL(B2, C2, 2)

      سپس به سادگی عدد را اضافه کنید آخرین آرگومان - به تعطیلات در ستون E مراجعه کنید، و فرمول آماده است:

      =NETWORKDAYS.INTL(B2, C2, 2, $E$2:$E$4)

      Google Sheets و تفاوت تاریخ در ماه

      گاهی اوقات ماهها بیشتر از روزها اهمیت دارند. اگر این برای شما صادق است و ترجیح می‌دهید تفاوت تاریخ را به‌جای روز دریافت کنید، به Google Sheets اجازه دهیدDATEDIF کار را انجام دهید.

      مثال 1. تعداد ماههای کامل بین دو تاریخ

      تمرین یکسان است: ابتدا تاریخ_شروع و سپس <1 می آید>پایان_تاریخ و "M" – که برای ماهها می ماند – به عنوان استدلال نهایی:

      =DATEDIF(A2, B2, "M")

      نکته. تابع ARRAUFORMULA را فراموش نکنید که می تواند به شما کمک کند ماه ها را روی همه ردیف ها به طور همزمان بشمارید:

      =ARRAYFORMULA(DATEDIF(A2:A13, B2:B13, "M"))

      مثال 2. تعداد ماه هایی که سال ها را نادیده می گیرند

      شاید نیازی به این نباشد ماه ها را در تمام سال ها بین تاریخ شروع و پایان حساب کنید. و DATEDIF به شما امکان می دهد این کار را انجام دهید.

      فقط از واحد "YM" استفاده کنید و فرمول ابتدا سال های کامل را کم می کند و سپس تعداد ماه های بین تاریخ ها را می شمارد:

      =DATEDIF(A2, B2, "YM")

      محاسبه سال بین دو تاریخ در Google Sheets

      آخرین (اما نه کم اهمیت) چیزی که به شما نشان می دهد این است که چگونه Google Sheets DATEDIF تاریخ را محاسبه می کند تفاوت در سالها.

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

      همانطور که شما ممکن است قبلا حدس زده باشید، من از واحد "Y" برای آن استفاده خواهم کرد:

      =DATEDIF(A2, B2, "Y")

      همه این فرمول های DATEDIF عبارتند از ابتدا در مورد محاسبه روز، ماه و سال بین دو تاریخ در کاربرگ‌نگار Google امتحان کنید.

      اگر مشکل شما با این موارد حل نمی‌شود یا سؤالی دارید، توصیه می‌کنم آنها را به اشتراک بگذارید. با ما در بخش نظراتزیر.

    مایکل براون یک علاقه‌مند به فناوری است که علاقه زیادی به ساده‌سازی فرآیندهای پیچیده با استفاده از ابزارهای نرم‌افزاری دارد. او با بیش از یک دهه تجربه در صنعت فناوری، مهارت های خود را در Microsoft Excel و Outlook و همچنین Google Sheets و Docs تقویت کرده است. وبلاگ مایکل اختصاص داده شده است تا دانش و تخصص خود را با دیگران به اشتراک بگذارد و نکات و آموزش هایی را برای بهبود بهره وری و کارایی ارائه دهد. چه یک حرفه ای با تجربه باشید و چه مبتدی، وبلاگ مایکل، بینش های ارزشمند و توصیه های عملی را برای استفاده حداکثری از این ابزارهای نرم افزاری ضروری ارائه می دهد.