تبدیل تاریخ شمسی به میلادی در گوگل شیت – آموزش فرمول و تابع با مثال
- تیدیل تاریخ شمسی به میلادی در گوگلشیت با فرمولنویسی را یاد میگیرید.
- تبدیل تاریخ شمسی به میلادی در گوگلشیت با ایجاد تابع اختصاصی را میآموزید.
- با مسیر آموزشی تکمیلی یادگیری گوگلشیت همراه فرادرس آشنا خواهید شد.

روش های تبدیل تاریخ شمسی به میلادی در گوگل شیت
دو روش متداول تبدیل تاریخ شمسی به میلادی در گوگل شیت به شرح زیر است.
- فرمولنویسی در محیط گوگلشیت
- تعریف تابع اختصاصی تبدیل تاریخ

تفاوت این دو روش در تعداد استفاده از آنها برای تبدیل تاریخ است. اگر از فرمولنویسی در گوگلشیت استفاده کنیم، محاسبه برای هر تبدیل نیاز به تکرار نوشتن فرمول در هر سلول دارد. اما با نوشتن یک تابع اختصاصی در گوگلشیت میتوانیم آن را برای تبدیل تاریخ به هر تعداد استفاده کنیم.
تبدیل تاریخ شمسی به میلادی در گوگل شیت با فرمول
فرمولنویسی در گوگل شیت یکی از روشهای سریع تبدیل تاریخ است. در این روش میتوانیم بعد از نوشتن فرمول در یک سلول، آن را در دیگر سلولها هم کپی کنیم. اما از آنجا که روشی پیچیده است نیاز به یادگیری کامل مهارت فرمولنویسی در این فضا داریم. در غیر اینصورت ممکن است با پیام خطا روبرو شویم.
مراحل انجام کار
فرمول کلی برای تبدیل تاریخ شمسی به میلادی در گوگل شیت برای سلول نمونه A2 به شرح زیر است.
=INDEX(IMPORTHTML("https://date-today.com/en/shamsi-"&INDEX(SPLIT(A2,"/"),1,3)*1&"-"&INDEX(SPLIT(A2,"/"),1,2)*1&"-"&INDEX(SPLIT(A2,"/"),1,1)*1&"-to-gregorian-calendar.html","table",1),4,2)در این فرمول فقط کافی است، آدرس سلول دارای تاریخ را بهجای A2 بنویسیم. مراحل انجام کار برای تاریخ فرضی ۱۰ شهریور ۱۴۰۵ به شکل زیر است.
۱. ابتدا فرمول را در سلول دلخواه B2 مینویسیم. بعد از فشار دادن دکمه ENTER چون فرمول نیاز به دسترسی از یک لینک خارجی دارد، ممکن است پیامی مانند تصویر زیر ببینیم. بنابراین اگر پیامی دریافت کردیم، دکمه «Allow Access» را میزنیم.

بعد از اجازه دسترسی، تاریخ به شکل یک عدد نمایش داده میشود که به علت تنظیم نبودن فرمت سلول است.

۲. برای نمایش صحیح تاریخ، از زبانه «Format» به بخش «Number» و سپس «Custom date and time» میرویم.

۳. در پنجره باز شده یکی از فرمتهای نمایش تاریخ را به دلخواه انتخاب میکنیم.

۴. نتیجه نهایی به شکل تصویر زیر در میآید.

مسیر یادگیری حرفهای کار با گوگل شیت در فرادرس
یادگیری مهارتهایی مانند فرمولنویسی یا کدنویسی در زمان تبدیل تاریخ شمسی به میلادی در گوگل شیت فقط بخشی از مسیر آموزش است. در برخی موارد برای تغییر فرمت تاریخ در سلول، دستهبندی یا فیلتر کردن اطلاعات لازم است مبانی کار در گوگل شیت را نیز یاد بگیریم.

پیشنهاد اول برای یادگیری مشاهده فیلمهای آموزشی منتخب زیر است.
- فیلم آموزش فرمولنویسی در گوگلشیت همراه گواهینامه در فرادرس
- فیلم آموزش گوگلشیت مقدماتی همراه گواهینامه در فرادرس
- فیلم آموزش گوگلشیت پیشرفته همراه گواهینامه در فرادرس
- فیلم آموزش گوگلشیت تکمیلی همراه گواهینامه در فرادرس
همچنین در مجموعه فیلم آموزشی زیر نیز امکان انتخاب موارد بیشتر با توجه به علاقهمندی وجود دارد.
تبدیل تاریخ شمسی به میلادی در گوگل شیت با تعریف تابع
در این روش به جای نوشتن یک فرمول طولانی، تابع اختصاصی ایجاد میکنیم. این تابع را یک بار تعریف میکنیم و هر بار میتوانیم با فراخوانی آن از فهرست توابع گوگلشیت، تبدیل تاریخ را بهراحتی انجام دهیم. نوشتن تابع اختصاصی انتخابی مناسب برای افرادی است که بهصورت مرتب نیاز به تبدیل تاریخ شمسی به میلادی در گوگل شیت دارند. با این حال برای این کار نیز لازم است با کدنویسی در فضای گوگل شیت آشنا باشیم که در ادامه به آن میپردازیم.
مراحل انجام کار
۱. برای نمایش صحیح تاریخ بعد از انتخاب سلول، از زبانه «Format» در بخش «Number» روی گزینه «Plain text» کلیک میکنیم.

۲. از بخش «Extentions» روی «Apps Script» کلیک میکنیم.

۳. کد زیر را در محیط «Apps Script» وارد میکنیم.
function JALALI_TO_GREGORIAN(jalaliDate) {
if (jalaliDate === null || jalaliDate === "") return "";
var parts = String(jalaliDate).trim().split("/");
if (parts.length !== 3) return "Invalid date";
var jy = parseInt(parts[0], 10);
var jm = parseInt(parts[1], 10);
var jd = parseInt(parts[2], 10);
if (isNaN(jy) || isNaN(jm) || isNaN(jd)) {
return "Invalid date";
}
var jy2 = jy - 979;
var days = 365 * jy2
+ Math.floor(jy2 / 33) * 8
+ Math.floor((jy2 % 33 + 3) / 4);
if (jm <= 6) {
days += (jm - 1) * 31;
} else {
days += (jm - 7) * 30 + 186;
}
days += jd - 1;
var gDays = days + 79;
var gy = 1600 + 400 * Math.floor(gDays / 146097);
gDays %= 146097;
var leap = true;
if (gDays >= 36525) {
gDays--;
gy += 100 * Math.floor(gDays / 36524);
gDays %= 36524;
if (gDays >= 365) {
gDays++;
} else {
leap = false;
}
}
gy += 4 * Math.floor(gDays / 1461);
gDays %= 1461;
if (gDays >= 366) {
leap = false;
gDays--;
gy += Math.floor(gDays / 365);
gDays %= 365;
}
var monthDays = [
31,
leap ? 29 : 28,
31,
30,
31,
30,
31,
31,
30,
31,
30,
31
];
var gm = 1;
while (gDays >= monthDays[gm - 1]) {
gDays -= monthDays[gm - 1];
gm++;
}
var gd = gDays + 1;
return new Date(gy, gm - 1, gd);
}محیط گوگلشیت بعد از ورود صحیح کد به شکل تصویر نمونه زیر است و بدون خطا اجرا میشود.

۴. کد را در گوگلشیت ذخیره میکنیم.

۵. به محیط گوگلشیت برمیگردیم. اگر تاریخ مورد نظر در سلول A1 باشد، در سلول دلخواه فرمول زیر را مینویسیم.
=JALALI_TO_GREGORIAN(A1)۶. با زدن دکمه ENTER مانند تصویر زیر تبدیل تاریخ انجام میشود.

۷. برای نمایش واضحتر تاریخ میتوانیم فرمت نمایش آن را از مسیر Format>Number> Custom date and time به دلخواه تغییر دهیم. تغییر نهایی بهعنوان نمونه به شکل تصویر زیر در میآید.

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













