یکی از نیازهای اصلی کاربران ایرانی در گوگل شیت استفاده از تاریخ شمسی و تبدیل تاریخهای میلادی و شمسی به یکدیگر است. در این مطلب چند روش برای تبدیل تاریخ میلادی به شمسی در گوگل شیت را شرح میدهیم.
روش اول: تبدیل تاریخ میلادی به شمسی در گوگل شیت با استفاده از فرمول
با استفاده از فرمولهای زیر در گول شیت میتوان یک تاریخ میلادی را به تاریخ شمسی تبدیل کرد.
- در صورتیکه یک تاریخ میلادی (با ساعت یا بدون ساعت) دارید، با استفاده از فرمول زیر میتوان آنرا به تاریخ شمسی (بدون ساعت) تبدیل کرد؛
=CONCATENATE((INT((DATE-7385)/365.25)+1299),"-",(MOD(IF(INT(MOD((DATE-7385)*100,36525)/100)<186,INT(INT(MOD((DATE-7385)*100,36525)/100)/31),IF(MOD(INT((DATE-7385)/365.25),4)=0,INT((INT(MOD((DATE-7385)*100,36525)/100)-186)/30)+6,IF(INT(MOD((DATE-7385)*100,36525)/100)<336,INT((INT(MOD((DATE-7385)*100,36525)/100)-186)/30)+6,INT((INT(MOD((DATE-7385)*100,36525)/100)-336)/29)+11))),12)+1),"-",(IF(INT(MOD((DATE-7385)*100,36525)/100)<186,MOD(INT(MOD((DATE-7385)*100,36525)/100),31)+1,IF(MOD(INT((DATE-7385)/365.25),4)=0,MOD(INT(MOD((DATE-7385)*100,36525)/100)-186,30)+1,IF(INT(MOD((DATE-7385)*100,36525)/100)<336,MOD(INT(MOD((DATE-7385)*100,36525)/100)-186,30)+1,MOD(INT(MOD((DATE-7385)*100,36525)/100)-336,29)+1)))))
- در صورتیکه یک تاریخ میلادی با ساعت دارید، با استفاده از فرمول زیر میتوان آنرا به تاریخ شمسی همراه با ساعت تبدیل کرد؛
=CONCATENATE((INT((DATE-7385)/365.25)+1299),"-",(MOD(IF(INT(MOD((DATE-7385)*100,36525)/100)<186,INT(INT(MOD((DATE-7385)*100,36525)/100)/31),IF(MOD(INT((DATE-7385)/365.25),4)=0,INT((INT(MOD((DATE-7385)*100,36525)/100)-186)/30)+6,IF(INT(MOD((DATE-7385)*100,36525)/100)<336,INT((INT(MOD((DATE-7385)*100,36525)/100)-186)/30)+6,INT((INT(MOD((DATE-7385)*100,36525)/100)-336)/29)+11))),12)+1),"-",(IF(INT(MOD((DATE-7385)*100,36525)/100)<186,MOD(INT(MOD((DATE-7385)*100,36525)/100),31)+1,IF(MOD(INT((DATE-7385)/365.25),4)=0,MOD(INT(MOD((DATE-7385)*100,36525)/100)-186,30)+1,IF(INT(MOD((DATE-7385)*100,36525)/100)<336,MOD(INT(MOD((DATE-7385)*100,36525)/100)-186,30)+1,MOD(INT(MOD((DATE-7385)*100,36525)/100)-336,29)+1)))))&" "&RIGHT(DATE,8)
* فرمولهای بالا برگرفته از سایت گوگلچه هستند.
- در صورتیکه یک تاریخ میلادی (با ساعت یا بدون ساعت) دارید، با استفاده از فرمول زیر میتوان آنرا به تاریخ شمسی با نمایش ماه بصورت حروف لاتین تبدیل کرد؛
=ARRAYFORMULA(IFERROR(VLOOKUP(DATEVALUE(DATE), {ROW(INDIRECT( DATEVALUE("01/01/"&YEAR(DATE))&":"& DATEVALUE("12/31/"&YEAR(DATE)))), REGEXREPLACE(REGEXREPLACE(REGEXEXTRACT(QUERY(IMPORTXML( "https://calendar.zoznam.sk/persian_calendar-en.php?ly="&YEAR(DATE), "//tr"), "select Col2 where Col2 is not null"), ": (.+)"), " ", ", "), "\., ", " ")}, 2, 0)))
* فرمول بالا (ردیف 3) برگرفته از سایت stackoverflow.com است.
نکته:
* در فرمولهای بالا بجای مقدار DATE باید یک تاریخ میلادی (بطور مستقیم یا با استفاده از آدرس یک سلول) وارد شود.
روش دوم: تبدیل تاریخ میلادی به شمسی در گوگل شیت با استفاده از اسکریپت
با استفاده از اسکریپت زیر میتوان یک تاریخ میلادی را به تاریخ شمسی تبدیل کرد؛
function JALALI_DATE(date) {
let jalaliFormat = new Date(date).toLocaleDateString('fa-IR').replace(/([۰-۹])/g, token => String.fromCharCode(token.charCodeAt(0) - 1728));
return jalaliFormat;
}
* اسکریپت بالا برگرفته از سایت stackoverflow.com است.
* برای استفاده از این اسکریپت وارد محیط App script شوید سپس اسکریپت بالا را نوشته و ذخیره نمائید، حالا در محیط گوگل شیت با استفاده از تابع JALALI_DATE میتوانید تاریخهای میلادی را به تاریخ شمسی تبدیل کنید.
برای تبدیل تاریخ شمسی به میلادی در گوگل شیت، مطلب زیر را مطالعه کنین؛
فرمول تبدیل تاریخ شمسی به میلادی در گوگل شیت
بازنشر مطالب با رعایت قوانین سایت جیگاید آزاد است.
اگر این مطلب برایتان مفید بود، آنرا با دیگران به اشتراک بگذارید یا نظر خود را درباره این مطلب بیان کنید.