فهرست مطالب
در این آموزش، یک توضیح ساده در مورد تابع اکسل DATEDIF و چند مثال فرمول خواهید یافت که نحوه مقایسه تاریخ ها و محاسبه تفاوت در روز، هفته، ماه یا سال را نشان می دهد.
در چند هفته گذشته، تقریباً همه جنبههای کار با تاریخ و زمان در اکسل را بررسی کردیم. اگر مجموعههای وبلاگ ما را دنبال کردهاید، از قبل میدانید که چگونه تاریخها را در کاربرگهای خود درج و قالببندی کنید، چگونه روزهای هفته، هفتهها، ماهها و سالها را محاسبه کنید و همچنین تاریخها را جمع و تفریق کنید.
در این آموزش، ما روی محاسبه اختلاف تاریخ در اکسل تمرکز خواهیم کرد و شما روش های مختلفی را برای شمارش تعداد روزها، هفته ها، ماه ها و سال ها بین دو تاریخ یاد خواهید گرفت.
به راحتی تفاوت بین دو تاریخ را پیدا کنید. Excel
نتیجه را به صورت فرمول آماده در سال، ماه، هفته یا روز دریافت کنید
بیشتر بخوانیدافزودن و تفریق تاریخ ها با چند کلیک
تاریخ نمایندگی & ساخت فرمول های زمان برای یک متخصص
بیشتر بخوانیدمحاسبه سن در اکسل در حال پرواز
و فرمول سفارشی دریافت کنید
بیشتر بخوانیدExcel DATEDIF تابع - دریافت تفاوت تاریخ
همانطور که از نامش پیداست، تابع DATEDIF برای محاسبه تفاوت بین دو تاریخ در نظر گرفته شده است.
DATEDIF یکی از معدود توابع غیرمستند در اکسل است و به این دلیل که "پنهان" آن را در برگه فرمول پیدا نخواهید کرد و هیچ راهنمایی دریافت نمی کنیدتوابع:
=DATEDIF(A2, B2, "y") &" years, "&DATEDIF(A2, B2, "ym") &" months, " &DATEDIF(A2, B2, "md") &" days"
اگر ترجیح می دهید مقادیر صفر را نمایش ندهید، می توانید هر DATEDIF را در تابع IF به صورت زیر بپیچید:
=IF(DATEDIF(A2,B2,"y")=0, "", DATEDIF(A2,B2,"y") & " years ") & IF(DATEDIF(A2,B2,"ym")=0,"", DATEDIF(A2,B2,"ym") & " months ") & IF(DATEDIF(A2, B2, "md")=0, "", DATEDIF(A2, B2, "md") & " days"
این فرمول فقط عناصر غیرصفر را نمایش میدهد که در تصویر زیر نشان داده شده است:
برای سایر روشهای دریافت تفاوت تاریخ در روز، نگاه کنید به نحوه محاسبه روز از تاریخ یا تا تاریخ در اکسل.
فرمول های DATEDIF برای محاسبه سن در اکسل
در واقع، محاسبه سن افراد بر اساس تاریخ تولد، یک مورد خاص برای محاسبه تفاوت تاریخ است. در اکسل، جایی که تاریخ پایان، تاریخ امروز است. بنابراین، شما از فرمول DATEDIF معمولی با واحد "Y" استفاده می کنید که تعداد سال های بین تاریخ ها را برمی گرداند و تابع TODAY() را در آرگومان end_date وارد می کنید:
=DATEDIF(A2, TODAY(), "y")
Where A2 تاریخ تولد است.
فرمول بالا تعداد سالهای کامل را محاسبه می کند. اگر ترجیح می دهید سن دقیق، شامل سال، ماه و روز را به دست آورید، سپس سه تابع DATEDIF را مانند مثال قبلی به هم متصل کنید:
=DATEDIF(B2,TODAY(),"y") & " Years, " & DATEDIF(B2,TODAY(),"ym") & " Months, " & DATEDIF(B2,TODAY(),"md") & " Days"
و نتیجه زیر را دریافت خواهید کرد. :
برای یادگیری روش های دیگر تبدیل تاریخ تولد به سن، نحوه محاسبه سن از تاریخ تولد را بررسی کنید.
تاریخ و amp; Time Wizard - راه آسان برای ساخت فرمول های تفاوت تاریخ در اکسل
همانطور که در قسمت اول این آموزش نشان داده شد، Excel DATEDIF یک تابع کاملاً همه کاره است که برای کاربردهای مختلف مناسب است. با این حال، وجود داردیک ایراد مهم این است که توسط مایکروسافت مستند نشده است، به این معنی که DATEDIF را در لیست توابع پیدا نمیکنید و وقتی شروع به تایپ یک فرمول در یک سلول میکنید، هیچ راهنمایی ابزار آرگومان نخواهید دید. برای اینکه بتوانید از تابع DATEDIF در کاربرگ های خود استفاده کنید، باید نحو آن را به خاطر بسپارید و همه آرگومان ها را به صورت دستی وارد کنید، که ممکن است راهی زمان بر و مستعد خطا باشد، به خصوص برای مبتدیان.
Ultimate Suite. برای اکسل این را به طور اساسی تغییر می دهد زیرا اکنون Date & Time Wizard که می تواند تقریباً هر فرمول تفاوت تاریخ را در کمترین زمان ایجاد کند. به این صورت است:
- سلولی را که میخواهید فرمول را در آن درج کنید انتخاب کنید.
- به برگه ابزار Abblebits بروید > Date & گروه Time ، و روی Date & دکمه Time Wizard :
- در کادر Date 1 کلیک کنید (یا روی دکمه Collapse Dialog در سمت راست کادر کلیک کنید) و یک سلول حاوی تاریخ اول را انتخاب کنید.
- در کادر Date 2 کلیک کنید و یک سلول با تاریخ دوم.
- واحد یا ترکیب واحدهای مورد نظر را از منوی کشویی تفاوت در انتخاب کنید. با انجام این کار، جادوگر به شما امکان می دهد نتیجه را در کادر و فرمول موجود در سلول را پیش نمایش کنید.
- اگر ازپیش نمایش، روی دکمه درج فرمول کلیک کنید، در غیر این صورت واحدهای مختلف را امتحان کنید.
به عنوان مثال، اینگونه می توانید تعداد روز را بدست آورید. بین دو تاریخ در اکسل:
وقتی فرمول در سلول انتخاب شده درج شد، میتوانید طبق معمول با دوبار کلیک کردن یا کشیدن دسته پر، آن را در سلولهای دیگر کپی کنید. نتیجه شبیه به این خواهد بود:
برای ارائه نتایج به مناسب ترین روش، چند گزینه اضافی دیگر در دسترس است:
- استثنای سال و/یا عدم حذف ماه از محاسبات.
- نمایش یا عدم نمایش برچسب های نوشتاری مانند روز ، ماه ، هفته و سال .
- نمایش یا عدم نمایش صفر واحد . <33 اگر تاریخ 1 (تاریخ شروع) بزرگتر از تاریخ 2 (تاریخ پایان) است، نتایج را به عنوان مقادیر منفی برگردانید.
به عنوان مثال، اجازه دهید تفاوت بین دو تاریخ را بدست آوریم. در سال، ماه، هفته و روز، نادیده گرفتن واحدهای صفر:
مزایای استفاده از Date & Time Formula Wizard
به غیر از سرعت و سادگی، تاریخ & Time Wizard چند مزیت دیگر ارائه می دهد:
- برخلاف فرمول DATEDIF معمولی، فرمول پیشرفته ای که توسط جادوگر ایجاد می شود اهمیتی نمی دهد که کدام یک از این دو تاریخ کوچکتر و کدام بزرگتر است. تفاوت همیشه کاملاً محاسبه می شود حتی اگر تاریخ 1 (تاریخ شروع) بزرگتر از تاریخ 2 (تاریخ پایان) باشد.
- جادوگراز تمام واحدهای ممکن (روز، هفته، ماه و سال) پشتیبانی می کند و به شما امکان می دهد از بین 11 ترکیب مختلف این واحدها انتخاب کنید. طبق معمول آنها را کپی یا جابجا کنید. همچنین میتوانید کاربرگهای خود را با افراد دیگر به اشتراک بگذارید، و همه فرمولها در جای خود باقی میمانند، حتی اگر فردی Ultimate Suite را در اکسل خود نداشته باشد.
به این ترتیب تفاوت بین دو تاریخ را محاسبه میکنید. در بازه های زمانی مختلف امیدواریم تابع DATEDIF و سایر فرمولهایی که امروز آموختهاید در کار شما مفید واقع شوند.
دانلودهای موجود
نسخه کاملاً کاربردی 14 روزه Ultimate Suite (فایل exe)<3
وقتی شروع به تایپ نام تابع در نوار فرمول می کنید، چه آرگومان هایی را وارد کنید. به همین دلیل مهم است که سینتکس کامل اکسل DATEDIF را بدانید تا بتوانید از آن در فرمول های خود استفاده کنید.عملکرد اکسل DATEDIF - syntax
سینتکس تابع اکسل DATEDIF به شرح زیر است. :
DATEDIF(تاریخ_شروع، تاریخ_پایان، واحد)هر سه آرگومان مورد نیاز است:
تاریخ_شروع - تاریخ اولیه دوره ای که می خواهید محاسبه کنید.
تاریخ_پایان - تاریخ پایان دوره.
واحد - واحد زمانی برای محاسبه تفاوت بین دو تاریخ. با تهیه واحدهای مختلف، می توانید تابع DATEDIF را دریافت کنید تا تفاوت تاریخ را بر حسب روز، ماه یا سال برگرداند. به طور کلی، 6 واحد موجود است که در جدول زیر توضیح داده شده است>
فرمول اکسل DATEDIF
برای دریافت تفاوت بین دو تاریخ در اکسل، وظیفه اصلی شما ارائه تاریخ شروع و پایان به تابع DATEDIF است. این را می توان به روش های مختلفی انجام داد، مشروط بر اینکه اکسل بتواند تاریخ های ارائه شده را به درستی درک و تفسیر کند.
مرجع سلولی
ساده ترین راه برای ایجاد فرمول DATEDIF در اکسل این است که دو تاریخ معتبر را در سلول های جداگانه وارد کنید و به آن سلول ها مراجعه کنید. برای مثال، فرمول زیر تعداد روزهای بین تاریخهای سلولهای A1 و B1 را میشمارد:
=DATEDIF(A1, B1, "d")
رشتههای متنی
اکسل تاریخها را درک میکند. در بسیاری از قالبهای متنی مانند "1-Jan-2023"، "1/1/2023"، "1 ژانویه 2023"، و غیره. تاریخها به عنوان رشتههای متنی محصور در علامت نقل قول را میتوان مستقیماً در آرگومانهای فرمول تایپ کرد. برای مثال، اینگونه می توانید تعداد ماه های بین تاریخ های مشخص شده را محاسبه کنید:
=DATEDIF("1/1/2023", "12/31/2025", "m")
شماره های سریال
از آنجایی که مایکروسافت اکسل هر کدام را ذخیره می کند تاریخ به عنوان یک شماره سریال که از 1 ژانویه 1900 شروع می شود، از اعداد مربوط به تاریخ ها استفاده می کنید. اگرچه این روش پشتیبانی می شود، اما قابل اعتماد نیست زیرا شماره گذاری تاریخ در سیستم های مختلف کامپیوتری متفاوت است. در سیستم تاریخ 1900، میتوانید از فرمول زیر برای یافتن تعداد سالهای بین دو تاریخ، 1-ژان-2023 و 31-دسامبر-2025 استفاده کنید:
=DATEDIF(44927, 46022, "y")
نتایجتوابع دیگر
برای اینکه بفهمید بین امروز تا 20 مه 2025 چند روز وجود دارد، این فرمولی است که باید استفاده کنید.
=DATEDIF(TODAY(), "5/20/2025", "d")
توجه داشته باشید. در فرمول های شما، تاریخ پایان باید همیشه بزرگتر از تاریخ شروع باشد، در غیر این صورت تابع اکسل DATEDIF عدد #NUM را برمی گرداند! خطا
امیدواریم که اطلاعات بالا برای درک اصول اولیه مفید بوده باشد. و اکنون، بیایید ببینیم چگونه میتوانید از تابع Excel DATEDIF برای مقایسه تاریخها در کاربرگهای خود و برگرداندن تفاوت استفاده کنید.
چگونه تعداد روزهای بین دو تاریخ را در اکسل بدست آورید
اگر میخواهید آرگومان های DATEDIF را با دقت مشاهده کردید، متوجه شده اید که 3 واحد مختلف برای شمارش روز بین تاریخ ها وجود دارد. اینکه کدام یک از آنها دقیقاً به نیازهای شما بستگی دارد.
مثال 1. فرمول Excel DATEDIF برای محاسبه اختلاف تاریخ بر حسب روز
فرض کنید تاریخ شروع را در سلول A2 و تاریخ پایان را در سلول دارید سلول B2 و می خواهید اکسل اختلاف تاریخ را بر حسب روز برگرداند. یک فرمول ساده DATEDIF به خوبی کار می کند:
=DATEDIF(A2, B2, "d")
به شرطی که مقداری در آرگومان start_date کمتر از end_date باشد. در صورتی که تاریخ شروع بزرگتر از تاریخ پایان باشد، تابع Excel DATEDIF خطای #NUM را برمی گرداند، مانند ردیف 5:
اگر به دنبال فرمولی هستید که می توانید تفاوت تاریخ را بر حسب روز به صورت یک عدد مثبت یا منفی برگردانید، به سادگی یک تاریخ را مستقیماً از آن کم کنیددیگر:
=B2-A2
لطفاً برای جزئیات کامل و مثالهای بیشتر فرمول نحوه تفریق تاریخها در اکسل را ببینید.
مثال 2. شمارش روزها در اکسل بدون توجه به سالها
فرض کنید شما دو لیست از تاریخها دارید که متعلق به سالهای مختلف هستند و میخواهید تعداد روزهای بین تاریخها را طوری محاسبه کنید که انگار مربوط به همان سال هستند. برای انجام این کار، از یک فرمول DATEDIF با واحد "YD" استفاده کنید:
=DATEDIF(A2, B2, "yd")
اگر می خواهید تابع اکسل DATEDIF نه تنها سال ها بلکه همچنین را نادیده بگیرد. پروانه، سپس از واحد "md" استفاده کنید. در این مورد، فرمول شما روزهای بین دو تاریخ را محاسبه میکند که انگار مربوط به یک ماه و یک سال هستند:
=DATEDIF(A2, B2, "md")
تصویر زیر نتایج را نشان میدهد و آن را با عکس صفحه بالا می تواند به درک بهتر تفاوت کمک کند.
نکته. برای بدست آوردن تعداد روز کاری بین دو تاریخ، از تابع NETWORKDAYS یا NETWORKDAYS.INTL استفاده کنید.
نحوه محاسبه تفاوت تاریخ در هفته
همانطور که احتمالا متوجه شدید، تابع Excel DATEDIF واحد خاصی برای محاسبه اختلاف تاریخ در هفته ندارد. با این حال، یک راه حل آسان وجود دارد.
برای اینکه بفهمید چند هفته بین دو تاریخ وجود دارد، می توانید از تابع DATEDIF با واحد "D" برای برگرداندن اختلاف در روز استفاده کنید و سپس نتیجه را بر تقسیم کنید. 7.
برای به دست آوردن تعداد هفته های کامل بین تاریخ ها، فرمول DATEDIF خود را درتابع ROUNDDOWN، که همیشه عدد را به سمت صفر گرد می کند:
=ROUNDDOWN((DATEDIF(A2, B2, "d") / 7), 0)
که در آن A2 تاریخ شروع و B2 تاریخ پایان دوره ای است که شما محاسبه می کنید.
نحوه محاسبه تعداد ماههای بین دو تاریخ در اکسل
همانطور که شمارش روزها انجام میشود، تابع Excel DATEDIF میتواند تعداد ماههای بین دو تاریخ را که شما مشخص کردهاید محاسبه کند. بسته به واحدی که ارائه می کنید، فرمول نتایج متفاوتی را تولید می کند.
مثال 1. محاسبه ماه های کامل بین دو تاریخ (DATEDIF)
برای شمارش تعداد ماه های کامل بین تاریخ ها، شما از تابع DATEDIF با واحد "M" استفاده کنید. برای مثال، فرمول زیر تاریخهای A2 (تاریخ شروع) و B2 (تاریخ پایان) را مقایسه میکند و تفاوت را بر حسب ماه برمیگرداند:
=DATEDIF(A2, B2, "m")
توجه. برای اینکه فرمول DATEDIF ماه ها را به درستی محاسبه کند، تاریخ پایان باید همیشه بزرگتر از تاریخ شروع باشد. در غیر این صورت فرمول خطای #NUM را برمی گرداند.
برای جلوگیری از چنین خطاهایی، می توانید اکسل را مجبور کنید که همیشه تاریخ قدیمی تر را به عنوان تاریخ شروع و تاریخ جدیدتر را به عنوان تاریخ دریافت کند. تاریخ پایان برای انجام این کار، یک تست منطقی ساده اضافه کنید:
=IF(B2>A2, DATEDIF(A2,B2,"m"), DATEDIF(B2,A2,"m"))
مثال 2. تعداد ماه های بین دو تاریخ را که سال ها را نادیده می گیرند (DATEDIF) بدست آورید
برای شمارش تعداد ماههای بین تاریخها مثل اینکه مربوط به همان سال است، "YM" را در آرگومان واحد تایپ کنید:
=DATEDIF(A2, B2, "ym")
همانطور که میبینید، این فرمولهمچنین خطایی را در ردیف 6 برمیگرداند که در آن تاریخ پایان کمتر از تاریخ شروع است. اگر مجموعه داده های شما ممکن است حاوی چنین تاریخ هایی باشد، راه حل را در مثال های بعدی پیدا خواهید کرد.
مثال 3. محاسبه ماه بین دو تاریخ (تابع MONTH)
روشی جایگزین برای محاسبه عدد ماه بین دو تاریخ در اکسل از تابع MONTH یا به طور دقیق تر ترکیبی از توابع MONTH و YEAR استفاده می کند:
=(YEAR(B2) - YEAR(A2))*12 + MONTH(B2) - MONTH(A2)
البته این فرمول به اندازه DATEDIF و آن شفاف نیست. زمان می برد تا سر خود را دور منطق بپیچید. اما برخلاف تابع DATEDIF، میتواند هر دو تاریخ را مقایسه کند و تفاوت ماهها را بهعنوان یک مقدار مثبت یا منفی برگرداند:
توجه کنید که فرمول YEAR/MONTH هیچ مشکل با محاسبه ماه های ردیف 6 که در آن تاریخ شروع جدیدتر از تاریخ پایان است، سناریویی که در آن فرمول آنالوگ DATEDIF شکست می خورد.
توجه داشته باشید. نتایج برگردانده شده توسط فرمول های DATEDIF و YEAR/MONTH همیشه یکسان نیستند زیرا بر اساس اصول مختلف عمل می کنند. تابع Excel DATEDIF تعداد ماههای تقویم کامل بین تاریخها را برمیگرداند، در حالی که فرمول YEAR/MONTH بر روی اعداد ماهها عمل میکند.
به عنوان مثال، در ردیف 7 در تصویر بالا، فرمول DATEDIF 0 را برمی گرداند زیرا یک ماه تقویمی کامل بین تاریخ ها هنوز سپری نشده است، در حالی که YEAR/MONTH 1 را برمی گرداند زیرا تاریخ هامتعلق به ماه های مختلف است.
مثال 4. شمارش ماه ها بین 2 تاریخ با نادیده گرفتن سال ها (تابع MONTH)
در صورتی که همه تاریخ های شما مربوط به یک سال باشد یا بخواهید ماه های بین آن ها را محاسبه کنید تاریخ ها را نادیده می گیرند، می توانید تابع MONTH را برای بازیابی ماه از هر تاریخ، و سپس کم کردن یک ماه از تاریخ دیگر:
=MONTH(B2) - MONTH(A2)
این فرمول مشابه Excel DATEDIF با "YM" کار می کند. " واحد همانطور که در اسکرین شات زیر نشان داده شده است:
با این حال، نتایج بدست آمده توسط دو فرمول متفاوت است چند ردیف است:
- ردیف 4 : تاریخ پایان کمتر از تاریخ شروع است و بنابراین DATEDIF یک خطا برمیگرداند در حالی که MONTH-MONTH یک مقدار منفی به دست میدهد.
- ردیف 6: تاریخها مربوط به ماههای مختلف هستند، اما تفاوت تاریخ واقعی فقط یک روز است. . DATEDIF 0 را برمی گرداند زیرا ماه های کامل را بین 2 تاریخ محاسبه می کند. MONTH-MONTH 1 را برمی گرداند زیرا اعداد ماه ها را از یکدیگر کم می کند و روزها و سال ها را نادیده می گیرد.
نحوه محاسبه سال بین دو تاریخ در اکسل
اگر از مثال های قبلی پیروی کرده اید که در آن ماه ها و روزها را بین دو تاریخ محاسبه کردیم، سپس می توانید به راحتی فرمولی برای محاسبه سال ها در اکسل استخراج کنید. مثالهای زیر میتوانند به شما کمک کنند تا بررسی کنید آیا فرمول را درست دریافت کردهاید :)
مثال 1. محاسبه سالهای کامل بین دو تاریخ (عملکرد DATEDIF)
برای یافتن تعداد سالهای تقویم کامل بیندو تاریخ، از DATEDIF خوب قدیمی با واحد "Y" استفاده کنید:
=DATEDIF(A2,B2,"y")
توجه کنید که فرمول DATEDIF 0 را در ردیف 6 برمی گرداند، اگرچه تاریخ ها مربوط به سال های مختلف است این به این دلیل است که تعداد سالهای کامل تقویمی بین تاریخ شروع و پایان برابر با صفر است. و من معتقدم که از دیدن #NUM تعجب نمی کنید! خطا در ردیف 7 که در آن تاریخ شروع جدیدتر از تاریخ پایان است.
مثال 2. محاسبه سال بین دو تاریخ (تابع YEAR)
یک روش جایگزین برای محاسبه سال در اکسل استفاده می شود تابع سال مشابه فرمول MONTH، سال را از هر تاریخ استخراج میکنید، و سپس سالها را از یکدیگر کم میکنید:
=YEAR(B2) - YEAR(A2)
در تصویر زیر، میتوانید نتایج بازگشتی توسط DATEDIF را مقایسه کنید. و توابع YEAR:
در اکثر موارد نتایج یکسان هستند، با این تفاوت که:
- تابع DATEDIF سالهای تقویم کامل را محاسبه می کند، در حالی که YEAR فرمول به سادگی یک سال را از دیگری کم می کند. ردیف 6 تفاوت را نشان می دهد.
- فرمول DATEDIF اگر تاریخ شروع بزرگتر از تاریخ پایان باشد، یک خطا برمی گرداند، در حالی که تابع YEAR مقدار منفی را مانند ردیف 7 برمی گرداند.
برای شمارش تعداد سالها، ماهها و روزهای کامل بین دو تاریخ در یک فرمول واحد، به سادگی سه DATEDIF را به هم متصل کنید.