11,203

در اکسل دو تاریخ شمسی دارم. چطور می‌تونم تفاوت این دو تاریخ رو بر حسب ماه مشخص کنم؟ یعنی چند ماه بین اولی و دومی فاصله است؟

توسط prodo (8.2k امتیاز)

1 پاسخ

+1 امتیاز
بهترین پاسخ

چون اکسل تاریخ شمسی رو پشتیبانی نمی‌کنه شما یا باید تاریخ فارسی رو خودتون شبیه‌سازی کنید یا از بسته‌های آماده‌ای که دیگران طراحی کرده‌اند استفاده کنید. یکی از این بسته‌های خوب بسته‌ی تاریخ فارسی فرساران هست.

بعد از نصب بسته به صورت زیر عمل کنید.
۱- ابتدا شماره‌ی سال رو از دو تاریخ جدا کنید
۲- بعد شماره‌ی ماه دو تاریخ رو جدا کنید

فرض کنیم شماره‌ی سال و ماه تاریخ بزرگ‌تر به ترتیب در A1 و B1 و شماره‌ی سال و ماه تاریخ کوچک‌تر به ترتیب در A2 و B2 باشه. تعدا ماه‌های بین دو تاریخ به صورت زیر به دست میاد

=(A1-A2)*12 + (B1-B2)
توسط programmer (13.0k امتیاز)
انتخاب شده توسط prodo
0

این فرمول چطور برای انواع زیر کار می‌کنه؟
سال و ماه تاریخ اول از تاریخ دوم بزرگ‌تر باشه
سال و ماه تاریخ اول از تاریخ دوم کوچک‌تر باشه
سال تاریخ اول از سال تاریخ دوم بزرگ‌تر باشه اما ماه تاریخ اول از ماه تاریخ دوم کوچک‌تر باشه
سال تاریخ اول از سال تاریخ دوم کوچک‌تر باشه اما ماا تاریخ اول از ماه تاریخ دوم بزرگ‌تر باشه

توسط prodo (8.2k امتیاز)
0

اول این که فرض کردیم تاریخ اول از دوم بزرگ‌تر باشه. بنابراین حالت ۲ و ۴ حذف می‌شه. در دو دیدگاه بعدی به ترتیب حالت ۱ و ۳ رو توضیح می‌دم

توسط programmer (13.0k امتیاز)
0

حالت۱) در این صورت مشخصه که چه اتفاقی می‌افته. تفاوت سال‌ها محاسبه می‌شه و هر سال ۱۲ ماه تفاوت حساب می‌شه ((A1-A2)*12). بعد تفاوت ماه‌ها محاسبه می‌شه و با این تعداد جمع می‌شه.
مثلاً برای دو تاریخ 1390/5/1 و 1387/2/1 تفاوت سال‌ها ۳ سال یا ۳۶ ماه و تفاوت ماه‌ها ۳ ماه هست. بنابراین در مجموع ۳۹ ماه تفاوت وجود داره.

توسط programmer (13.0k امتیاز)
0

حالت ۲) در این صورت ابتدا تفاوت تعداد سال‌ها مثل حالت ۱ محاسبه می‌شه و تفاوتی نداره. اما بعد چون عدد ماه تاریخ دوم بزرگ‌تره باید این مقدار تفاوت از عدد به دست اومده از تفاوت سال‌ها کم بشه.
مثلاً برای دو تاریخ 1390/2/1 و 1387/5/1 تفاوت سال‌ها ۳ و بنابراین در مجموع ۳۶ ماه تفاوت وجود داره. اما باید ۳ ماه از ۵ تا ۲ از این مقدار کم بشه که B1-B2 یک عدد منفی (در اینجا -۳) تولید می‌کنه که بعد از جمع با ۳۶ داریم

=36+(-3) = 33

که همون عدد مورد نظر ماست

توسط programmer (13.0k امتیاز)
0

خوب حالا اگه بخوایم بدون توجه به بزرگ‌تر بدون تاریخ اول محاسبه انجام بدیم چی؟

توسط prodo (8.2k امتیاز)
+1

از فرمول فوق قدر مطلق بگیرین

=ABS((A1-A2)*12 + (B1-B2))
توسط programmer (13.0k امتیاز)
...