هزار و یک شب اکسل - شب چهلم محاسبه سن شخص Calculate Person's Age in Persian Calendar

Collapse
X
 
  • زمان
  • نمایش
حذف همه
new posts
  • امين اسماعيلي
    مدير تالار ويژوال بيسيك

    • 2013/01/17
    • 1198
    • 84.00

    هزار و یک شب اکسل - شب چهلم محاسبه سن شخص Calculate Person's Age in Persian Calendar

    با درود

    تو قصه امشب بعد از اون حکایت های قبلی میخوایم با سه روش با دقت ها ی متفاوت سن یه شخص رو حساب کنین. خب اول توابع فارسی رو به اکسلتون اضافه کنین . اگرم نمیدونین یاد بگیرین چون از این به بعد بیشتر باهاش شاید کار کنیم

    حالا تو سل b1 مثلا در اینجا در نظر گرفتم تاریخ تولدتونو وارد کنید مثلا 1363/04/17 حالا به ترتیب فرمول های زیر رو محاسبه کنین :

    روش اول

    کد:
    =INT((J_GREGORIANDATE(J_TODAY(1),1)-J_GREGORIANDATE(B1,1))/365.25)
    این فرمول 100 درصد دقیق نیست چون از تقسیم شده بر میانگین روزهای سال و مثلا اگر یک کودک دقیقا یکسالش باشه این فرمول به ای 1 صفر رو برمیگردونه

    اما خوب نا امید نشین فرمول دوم

    کد:
    =INT(YEARFRAC(J_GREGORIANDATE(J_TODAY(1),1),J_GREGORIANDATE(B1,1)))
    روش دقیق تر از قبلی استفاده از تابع YEARFRAC هستش که در محاسبات مالی ازش استفاده میکنن و اشکال قبلی رو هم نداره

    و اما روش سوم

    کد:
    =DATEDIF(J_GREGORIANDATE(B1,1),J_GREGORIANDATE(J_TODAY(1),1),"y")
    در این روش از تابع DATEDIF استفاده شده که در Help سیستم اکسل توضیحی در موردش نیومده حالا اگر میخواین دیگه دقیق دقیق با ماه و روز بگین میشهههههههههه

    کد:
    =DATEDIF(J_GREGORIANDATE(B1,1),J_GREGORIANDATE(J_TODAY(1),1),"y")  & " years, " &  DATEDIF(J_GREGORIANDATE(B1,1),J_GREGORIANDATE(J_TODAY(1),1),"ym")  &"months,  "&DATEDIF(J_GREGORIANDATE(B1,1),J_GREGORIANDATE(J_TODAY(1),1),"md")  & " days"
    خوش باشین و پیروز در پناه خداوندگار ایران زمین . شبتون شیک و مجلسی


    Click image for larger version

Name:	Calculate Person's Age in Persian Calendar.JPG
Views:	1
Size:	24.2 کیلو بایت
ID:	142076
    Last edited by ~M*E*H*D*I~; 2014/04/27, 08:51.
    در پناه خداوندگار ایران زمین باشید و پیروز
  • AmirAkbar

    • 2014/02/06
    • 118

    #2
    سلام ..
    این هم فایل من که سالها پیش از روی علاقه و کنجکاوی درستش کردم .. می خواستم با فرمول و بدون اتکا به توابع فارسی باشه ..

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

    کسانی هم که نمی خوان از add-in های فارسی تو فایل شون استفاده کنند، می تونند از فرمول اصلی این فایل که اختلاف دو تاریخ رو به واحد روز محاسبه می کنه استفاده کنند ..!
    فایل های پیوست شده

    کامنت

    چند لحظه..