تبدیل تاریخ میلادی به شمسی

Collapse
X
 
  • زمان
  • نمایش
حذف همه
new posts
  • ali.b

    • 2014/01/12
    • 798

    #16
    در قسمت c.Offset(0, 3) = Time در سلول D3 ساعت رو وارد میکنه

    و در قسمت c.Offset(0, 2) = J_TODAY() در سلول C3 تاریخ رو وارد میکنه
    در ضمن در این تابع اگه میخوای از توابع شمسی استفاده بشه در تالار جستجو کنین میتونین ماژول های فارسی رو بگیرین و استفاده کنین
    [CENTER]
    [/CENTER]

    کامنت

    • nartamis

      • 2014/06/04
      • 13

      #17
      نوشته اصلی توسط absorkhi
      در قسمت c.Offset(0, 3) = Time در سلول D3 ساعت رو وارد میکنه

      و در قسمت c.Offset(0, 2) = J_TODAY() در سلول C3 تاریخ رو وارد میکنه
      در ضمن در این تابع اگه میخوای از توابع شمسی استفاده بشه در تالار جستجو کنین میتونین ماژول های فارسی رو بگیرین و استفاده کنین
      دست گلت درد نکنه دوست عزیز
      یه مقدار تغییرش دادم خیلی خوب شد.البته ماژول های شمسی رو اضافه کردم بش

      کامنت

      • davood ahmadi
        • 2015/02/08
        • 1

        #18
        سلام
        دمتون گرم من اون فرمول رو کپی پیست کردم اوکی شد
        بازم ممنون

        کامنت

        • pejmank

          • 2014/10/13
          • 40

          #19
          سلام
          دنبال یک فرمول (و نه تابع) میگردم که تاریخ میلادی رو به شمسی تبدیل بکنه. یعنی وقتی توی یک سلول تاریخ میلادی رو وارد میکنم، توی سلولی که فرمول داره، تاریخ شمسی نشون داده بشه.
          لطفا راهنمایی کنید

          کامنت

          • Ali Parsaei
            مدير تالارتوابع اکسل

            • 2013/11/18
            • 1522
            • 71.67

            #20
            نوشته اصلی توسط pejmank
            سلام
            دنبال یک فرمول (و نه تابع) میگردم که تاریخ میلادی رو به شمسی تبدیل بکنه. یعنی وقتی توی یک سلول تاریخ میلادی رو وارد میکنم، توی سلولی که فرمول داره، تاریخ شمسی نشون داده بشه.
            لطفا راهنمایی کنید
            همان فرمول پست ششم اين تاپيک را به کار ببريد و فقط هرچي: ()today در آن هست را با آدرس سلولي که مي خواهيد تاريخ ميلادي در آن درج گردد تعويض کنيد.
            [SIGPIC][/SIGPIC]

            کامنت

            • pejmank

              • 2014/10/13
              • 40

              #21
              نوشته اصلی توسط علي پارسا
              همان فرمول پست ششم اين تاپيک را به کار ببريد و فقط هرچي: ()today در آن هست را با آدرس سلولي که مي خواهيد تاريخ ميلادي در آن درج گردد تعويض کنيد.
              مرسی این کار رو انجام دادم ولی 2 تا مشکل:
              1- تاریخ رو اشتباه تبدیل میکنه. مثلا وقتی میزنم 12/03/2015 معادل شمسی رو 12/9/1394 نشون میده!!
              2- وقتی سلول رو به سلول های پایینیش بسط میدم و فرمول تکرار میشه، دیگه در سطرهای بعدی کار نمیکنه و #value! میده

              ممنون

              کامنت

              • Ali Parsaei
                مدير تالارتوابع اکسل

                • 2013/11/18
                • 1522
                • 71.67

                #22
                نوشته اصلی توسط pejmank
                مرسی این کار رو انجام دادم ولی 2 تا مشکل:
                1- تاریخ رو اشتباه تبدیل میکنه. مثلا وقتی میزنم 12/03/2015 معادل شمسی رو 12/9/1394 نشون میده!!
                2- وقتی سلول رو به سلول های پایینیش بسط میدم و فرمول تکرار میشه، دیگه در سطرهای بعدی کار نمیکنه و #value! میده

                ممنون
                يک جايي اشتباه کرده ايد! بايد درست کار کند
                فرض کنيم تاريخ ميلادي در خانه a1 نوشته شده باشد، فرمول بايد اينطور باشد: (البته من طبق کامپيوتر خودم جداکننده ها را از "," به ";" تغييردادم):
                کد:
                =concatenate(int((a1-7385)/365.25)+1299;"/";mod(if(int(mod((a1-7385)*100;36525)/100)<186;int(int(mod((a1-7385)*100;36525)/100)/31);if(mod(int((a1-7385)/365.25);4)=0;int((int(mod((a1-7385)*100;36525)/100)-186)/30)+6;if(int(mod((a1-7385)*100;36525)/100)<336;int((int(mod((a1-7385)*100;36525)/100)-186)/30)+6;int((int(mod((a1-7385)*100;36525)/100)-336)/29)+11)));12)+1;"/";if(int(mod((a1-7385)*100;36525)/100)<186;mod(int(mod((a1-7385)*100;36525)/100);31)+1;if(mod(int((a1-7385)/365.25);4)=0;mod(int(mod((a1-7385)*100;36525)/100)-186;30)+1;if(int(mod((a1-7385)*100;36525)/100)<336;mod(int(mod((a1-7385)*100;36525)/100)-186;30)+1;mod(int(mod((a1-7385)*100;36525)/100)-336;29)+1))))
                در موقع درگ کردن رو به پايين هم مشکلي نبايد وجود داشته باشد.
                ضمنا" دقت کنيد تاريخ ها را درست وارد کرده باشيد، يعني اول سال، بعد ماه، بعد روز به فرض: 2015/03/12
                اين را هم بگويم که اين فرمول مقداري خطا دارد زيرا سال شمسي در آن دقيقا" 365.25 روز حساب شده در صورتي که دقيق 365.25 روز نيست!، اين خطا ممکن است در روز اول يا آخر سال يا روز آخر سال کبيسه بروز پيدا کند. (البته من امتحان نکردم ولي حدس مي زنم ممکن است اتفاق بيافتد، يک بررسي بفرماييد که يک وقت مشکلي نباشد)
                [SIGPIC][/SIGPIC]

                کامنت

                • roohollah1359

                  • 2012/11/05
                  • 9

                  #23
                  نوشته اصلی توسط حسام بحرانی
                  سلام
                  از مزایای این فرمول این است که به راحتی و با کمترین حجم، تاریخ روز سیستم را که بر اساس تاریخ میلادی تنظیم شده است را به تاریخ شمسی تبدیل می کند. این مزیت ما را قادر خواهد ساخت تا در فرم هایی که نیاز فراوان بروزرسانی در آنها دیده می شود ( مانند پرینت های روزانه، هفتگی، ماهانه و .. )، بطور خودکار تاریخ بروزرسانی را به هجری شمسی ارائه می دهد.
                  در سیستم هایی که برای جداسازی آرگومانها از سمی کالن ( ; ) بجای کالن ( , ) استفاده می نمایند، می توانند به راحتی همان فرمول را به صورت زیر در سیستم و در واقع اکسل خود پیاده نموده و اجرا نمایند.
                  با تشکر از دوست عزیزمون nartamis
                  * .
                  کد PHP:
                  =CONCATENATE(INT((TODAY()-7385)/365.25)+1299;"/";MOD(IF(INT(MOD((TODAY()-7385)*100;36525)/100)<186;INT(INT(MOD((TODAY()-7385)*100;36525)/100)/31);IF(MOD(
                  INT((TODAY()-7385)/365.25);4)=0;INT((INT(MOD((TODAY()-7385)*100;36525)/100)-186)/30)+6;IF(INT(MOD((TODAY()-7385)*100;36525)/100)<336;INT((INT(MOD((TODAY()-7385)*100;36525)/100)-186)/30)+6;INT((INT(MOD((TODAY()-7385)*100;36525)/100)-336)/29)+11)));12)+1;"/";IF(INT(MOD((TODAY()-7385)*100;36525)/100)<186;MOD(INT(MOD((TODAY()-7385)*100;36525)/100);31)+1;IF(MOD(INT((TODAY()-7385)/365.25);4)=0;MOD(INT(MOD((TODAY()-7385)*100;36525)/100)-186;30)+1;IF(INT(MOD((TODAY()-7385)*100;36525)/100)<336;MOD(INT(MOD((TODAY()-7385)*100;36525)/100)-186;30)+1;MOD(INT(MOD((TODAY()-7385)*100;36525)/100)-336;29)+1)))) 
                  سلام دوست گرامي
                  خداقوت
                  وقتي در سلول اکسل پيست مي کنم روي کلمه today حساسيت نشون داده و ارور مي ده
                  علت چيست ؟
                  با تشکر

                  کامنت

                  • generalsamad
                    مدير تالار توابع

                    • 2014/06/22
                    • 1496

                    #24
                    با سلام
                    با اجازه دوست عزیز حسام بحرانی
                    احتمالا باید جای ";" باید از "," استفاده کنی
                    کد PHP:
                    =concatenate(int((today()-7385)/365.25)+1299,"/",mod(if(int(mod((today()-7385)*100,36525)/100)<186,int(int(mod((today()-7385)*100,36525)/100)/31),if(mod(int((today()-7385)/365.25),4)=0,int((int(mod((today()-7385)*100,36525)/100)-186)/30)+6,if(int(mod((today()-7385)*100,36525)/100)<336,int((int(mod((today()-7385)*100,36525)/100)-186)/30)+6,int((int(mod((today()-7385)*100,36525)/100)-336)/29)+11))),12)+1,"/",if(int(mod((today()-7385)*100,36525)/100)<186,mod(int(mod((today()-7385)*100,36525)/100),31)+1,if(mod(int((today()-7385)/365.25),4)=0,mod(int(mod((today()-7385)*100,36525)/100)-186,30)+1,if(int(mod((today()-7385)*100,36525)/100)<336,mod(int(mod((today()-7385)*100,36525)/100)-186,30)+1,mod(int(mod((today()-7385)*100,36525)/100)-336,29)+1)))) 
                    [CENTER]
                    [SIGPIC][/SIGPIC]
                    [/CENTER]

                    کامنت

                    • rezaafzal
                      • 2015/04/05
                      • 1

                      #25
                      با سلام من فرمول برعکس این رو می خوام یعنی تاریخ شمسی وارد کنم و به میلادی تبدیل کنه
                      با تشکر

                      کامنت

                      • generalsamad
                        مدير تالار توابع

                        • 2014/06/22
                        • 1496

                        #26
                        با سلام
                        با استفاده از Addins توابع هجری فراساران از این تابع میشه استفاده کرد
                        کد PHP:
                        J_GregorianDate (MDATEMODE
                        مثلا تاریخ شمسی رو توی سلول A1 وارد کردید میخواید تاریخ میلادیش رو توی سلول B1 بدست بیارید
                        کد PHP:
                        =J_GregorianDate(A1;1
                        از این لینک هم میشه استفاده کنید که بدون استفاده از توابع شمسی تاریخ رو تبدیل میکنه

                        فایل ضمیمه شد
                        فایل های پیوست شده
                        Last edited by generalsamad; 2015/04/06, 02:31.
                        [CENTER]
                        [SIGPIC][/SIGPIC]
                        [/CENTER]

                        کامنت

                        • mostafahtsm

                          • 2015/06/12
                          • 8

                          #27
                          سلام
                          در سایت زیر می توانید افزونه تبدیل تاریخ در اکسل و همچنین تبدیل عدد به حروف فارسی را رایگان دانلود کنید.

                          افزونه تبدیل تاریخ 4000 ساله برای اکسل
                          الحمدلله که بهتر از بدترم.

                          کامنت

                          • mostafahtsm

                            • 2015/06/12
                            • 8

                            #28
                            با سلام
                            افزونه تبدیل تاریخ 4000 ساله برای اکسل که به صورت رایگان منتشر شده می تواند تاریخ ا را در اکسل به یکدیگر تبدیل کند.

                            ﺍﺯ ﺟﻤﻠﻪ ﻭﯾﮋﮔﻴﻬﺎی پرکاربرد آن عبارت است از:
                            1- ﺗﺒﺪﯾﻞ ﻋﺪﺩ ﺑﻪ ﺣﺮﻭﻑ ﻓﺎﺭﺳﯽ در اکسل(Excel) ﻣﯽ ﺑﺎﺷﺪ که برای حسابداران مفید می باشد و می توانند برای صدور فاکتور در اکسل از این قابلیت استفاده کنند و نیازی به تایپ حروفی اعداد ندارند و این امر باعث صرفه جویی در وقت و هزینه می شود.
                            2- ﺑﺎ ﺗﻮﺟﻪ ﺑﻪ ﺍﯾﻨﮑﻪ ﺩﺭ ﺍﮐﺴﻞ ﻗﺎﺑﻠﻴﺖ ﻣﻌﮑﻮﺱ ﮐﺮﺩﻥ ﻣﺘﻦ ﻭﺟﻮﺩ ﻧﺪﺍﺭﺩ ﺑﺎ ﺍﺳﺘﻔﺎﺩﻩ ﺍﺯ ﺍﯾﻦ ﺍﻓﺰﻭﻧﻪ ﻗﺎﺩﺭ ﺧﻮﺍﻫﻴﺪ ﺑﻮﺩ ﻣﺘﻦ ﻣﻮﺭﺩ ﻧﻈﺮ ﺭﺍ در اکسل ﻣﻌﮑﻮﺱ ﮐﻨﻴﺪ.
                            می توانید از لینک زیر به صورت رایگان دانلود کنید.

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

                            کامنت

                            • sona
                              • 2016/11/29
                              • 1

                              #29
                              سلام ماههای که 31 روزه هستند هنگام محاسبه یک روز را هم کم می کند

                              کامنت

                              چند لحظه..