محاسبه روزهای دوره جاری و آتی بین دو تاریخ

Collapse
X
 
  • زمان
  • نمایش
حذف همه
new posts
  • yasertati3602

    • 2013/10/16
    • 32

    محاسبه روزهای دوره جاری و آتی بین دو تاریخ

    سلام به همه دوستان عزیز
    من یه فرم دارم که توش یه تاریخ قرارداد دارم و یک تاریخ سررسید، تاریخ قرارداد به صورت دستی وارد میشه و تاریخ سررسید به صورت خودکار محاسبه میشه و نحوه محاسبشم به این شکله که تاریخ قراردادم مثلا 1393/07/05 وارد میشه و مدت قرارداد رو (که به ماه هست) میزنم 10 بنابراین تاریخ سررسیدم رو میگه که 1394/05/05 هست بعد توی یه تکست باکس اختلاف تاریخ سررسید و تاریخ قرارداد به روز آورده میشه تا اینجا مشکلی وجود نداره
    اما محاسبات من به این شکله که میخوام تعداد روزها رو به دو قسمت مدت به روز - دوره جاری و مدت به روز دوره آتی تقسیم کنم
    من دوره مالیم منتهی به 31 شهریوره حالا اگر تاریخ سررسیدم بعد 31 شهریور بشه میخوام روزهایی که برای دوره آتی هست محاسبه بشه
    مثلا تاریخ قرارداد بوده 1393/04/01 مدت قراردادم 6 ماه بوده سررسیدم میشه 1393/10/01 که 61 روزش مربوط به دوره جاریه و 91روزش مربوط به دوره آتی میشه
    اگر مدت قرارداد 2 ماه باشه سررسید میشه 1393/06/01 و روزای دوره جاری میشه 62 روز و دوره آتی هم صفره
    اگر تاریخ قرارداد 1393/07/05 باشه و قرارداد م 10 ماهه باشه سررسید میشه 1394/05/05 و تمام روزا مربوط به دوره جاریه و دوره آتی صفره
    گر تاریخ قرارداد 1393/07/05 باشه و قرارداد 14 ماهه باشه سررسید میشه 1393/09/05 و روزای دوره جاری میشه 360 روز و روزای دوره آتی میشه 65 روز
    اما من هر کاری میکنم نمیتونم یه کدی بنویسم که درست و حسابی حالتهای مختلف رو حساب کنه یکی دوتا از حالت هام درست حساب میشن و بقیه غلط حساب میشن
    لطفا راهنمایی بکنید چه کدی بنویسم
  • mokaram
    مدير تالار اکسل و بانک اطلاعاتی

    • 2011/02/06
    • 1805
    • 74.00

    #2
    شما با استفاده از توابع شمسی ( تابع J_Diff و J_Add) می تونید به خواستتون برسید

    محاسبات ساده ای باید انجام بدید اگه با این توابع کار کرده باشید کار سختی نیست یه مطالعه کوچیک رو این توابع انجام بدید مطمئنا می تونید حلش کنید
    [CENTER][IMG]http://forum.exceliran.com/signaturepics/sigpic909_10.gif[/IMG]
    [/CENTER]

    کامنت

    • yasertati3602

      • 2013/10/16
      • 32

      #3
      سلام
      فکر کنم من خوب توضیح ندادم اون چیزایی که شما گفتید رو من انجام دادم
      منتها من مشکلم تو محاسبه مدت به روز(جاری) و مدت به روز (آتی ) هست , محاسبات درست کار نمیکنه حالتهای زیر رو امتحان کنید
      ت قرارداد 1393/07/10 مدت قرارداد 10 ماه نتیجه تاریخ سررسید = 1394/05/10 و مدت به روز (جاری) = 303 روز که درسته
      ت قرارداد 1393/04/01 مدت قرارداد 2 ماه نتیجه تاریخ سررسید = 1393/06/01 و مدت به روز (جاری) میشه 62 روز که بازم درسته
      ت قرارداد 1393/04/01 مدت قرارداد 10 ماه نتیجه تاریخ سررسید = 1394/02/01 که درسته
      ولی مدت به روز (جاری) میشه 31 که غلطه باید اختلاف تاریخ سررسید تا تاریخ قرارداد رو نتیجه بده
      فایل رو پیوست کردم در صورت امکان راهنمایی کنید
      تسهیلات اعطایی 2

      کامنت

      • yasertati3602

        • 2013/10/16
        • 32

        #4
        سلام
        از دوستان کسی میتونه راهنمایی کنه
        ممنون میشم

        کامنت

        • khakzad

          • 2010/03/17
          • 2034
          • 85.00

          #5
          سلام
          کد مربوط به قسمت Private Sub TextBox5_Change()

          اون قسمتی که اختلاف تاریخ ها رو می خواید محاسبه کنید اشتباهی خورده شماره 21
          درحالیکه شماره تکست باکس 13 هست!!!
          در ضمن برای اینکه منفی نشه یا جای 6 و 4 عوض کنید یا int بگیرید

          موفق باشید
          [CENTER][B][COLOR=#008000][SIZE=3]محصولات و جزوات آموزش تخصصی [URL="https://excelpedia.net/"]اکسل[/URL] در:

          [URL="https://excelpedia.net/category/excel-functions/"]برترین مرجع تخصصی پارسی اکسل[/URL]
          [URL="http://www.exceliran.com/shop/"]جامعه اكسل ايرانيان: فروشگاه[/URL][/SIZE][/COLOR][/B]
          :wcom:

          [B][URL="https://excelpedia.net/"]آموزش اکسل تخصصی[/URL] و [URL="https://excelpedia.net/excel-ninja/"]پیشرفته[/URL] - [URL="https://excelpedia.net/"]تهران[/URL][/B]
          [EMAIL="h.khakzad@yahoo.com"]h.khakzad@yahoo.com[/EMAIL]
          [/CENTER]

          کامنت

          • yasertati3602

            • 2013/10/16
            • 32

            #6
            نوشته اصلی توسط khakzad
            سلام
            کد مربوط به قسمت Private Sub TextBox5_Change()

            اون قسمتی که اختلاف تاریخ ها رو می خواید محاسبه کنید اشتباهی خورده شماره 21
            درحالیکه شماره تکست باکس 13 هست!!!
            در ضمن برای اینکه منفی نشه یا جای 6 و 4 عوض کنید یا int بگیرید

            موفق باشید
            سلام
            ممنون از اینکه پاسخ دادید
            تکست 21 اختلاف دو تاریخ هست و تکست 13 اختلاف دو تاریخ نیست در واقع تکست 13 محاسبه میکنه که چه تعداد روز مربوط به دوره جاری می باشد
            من برخی حالتهام درست محاسبه نمیکنند
            ممنون میشم راهنمایی کنید

            کامنت

            • khakzad

              • 2010/03/17
              • 2034
              • 85.00

              #7
              من فکر کنم همچنان مشکل همونه که گفتم!!
              به شکل زیر دقت کنید
              تغییرات رو اعمال کردم. فایل رو تست کنید بینید درست نتیجه میده؟؟؟؟؟؟
              متاسفانه کامن خیلی کم گذاشتید برای توضیح کدها. track کردنش مشکله

              Click image for larger version

Name:	Untitled.png
Views:	1
Size:	90.9 کیلو بایت
ID:	123718
              فایل های پیوست شده
              [CENTER][B][COLOR=#008000][SIZE=3]محصولات و جزوات آموزش تخصصی [URL="https://excelpedia.net/"]اکسل[/URL] در:

              [URL="https://excelpedia.net/category/excel-functions/"]برترین مرجع تخصصی پارسی اکسل[/URL]
              [URL="http://www.exceliran.com/shop/"]جامعه اكسل ايرانيان: فروشگاه[/URL][/SIZE][/COLOR][/B]
              :wcom:

              [B][URL="https://excelpedia.net/"]آموزش اکسل تخصصی[/URL] و [URL="https://excelpedia.net/excel-ninja/"]پیشرفته[/URL] - [URL="https://excelpedia.net/"]تهران[/URL][/B]
              [EMAIL="h.khakzad@yahoo.com"]h.khakzad@yahoo.com[/EMAIL]
              [/CENTER]

              کامنت

              چند لحظه..