البرمجة

تنسيق Google Sheets وإشعارات التاريخ في البريد الإلكتروني

لتحقيق ما تريده في جوجل شيتس، يمكنك استخدام الصيغة الشرطية الخاصة لتنسيق الخلايا بناءً على القيم في العمود M_Date (العمود B)، والذي يمكن أن يحتوي على التاريخ. الهدف هو عرض حالة العمل بناءً على التاريخ المحدد.

لتطبيق الصيغة الشرطية، يجب أن تكون الصيغة صحيحة وتعطي نتائج صحيحة أو خطأ (True أو False). في هذه الحالة، يجب أن نتحقق مما إذا كان التاريخ في الخلية يساوي تاريخ اليوم، أو أقل منه، أو أكبر منه.

وهنا الصيغة التي يمكنك استخدامها لتطبيق التنسيق الشرطي:

less
=IF($B2=TODAY(), "Today", IF($B2<TODAY(), "Lapsed", "Pending"))

هذه الصيغة تقوم بما يلي:

  • إذا كان التاريخ في الخلية B2 يساوي تاريخ اليوم، فإن القيمة ستكون “Today”.
  • إذا كان التاريخ في الخلية B2 أقل من تاريخ اليوم، فإن القيمة ستكون “Lapsed”.
  • في أي حالة أخرى، ستكون القيمة “Pending”.

بالنسبة للبريد الإلكتروني، فإنه من الممكن تحقيق هذا باستخدام Google Apps Script. يمكنك كتابة سيناريو يتتبع تغييرات في العمود “Status” ويُرسل بريدًا إلكترونيًا عندما يتغير الحالة من “Pending” إلى “Today”.

هذا مثال على كيفية تنفيذ هذا السيناريو باستخدام Google Apps Script:

javascript
function checkStatusChange() { var sheet = SpreadsheetApp.getActiveSpreadsheet().getActiveSheet(); var lastRow = sheet.getLastRow(); var statusRange = sheet.getRange('C2:C' + lastRow).getValues(); var emailSubject = "Status Change Notification"; var emailAddress = "[email protected]"; // Enter your email address for (var i = 0; i < statusRange.length; i++) { if (statusRange[i][0] == "Today") { var previousStatus = sheet.getRange('D' + (i + 2)).getValue(); // Assuming previous status is in column D if (previousStatus == "Pending") { MailApp.sendEmail(emailAddress, emailSubject, "The status has changed from Pending to Today."); sheet.getRange('D' + (i + 2)).setValue("Today"); } } } }

يرجى تعديل البريد الإلكتروني الخاص بك في المتغير emailAddress. يجب عليك أيضًا تشغيل هذا السيناريو عند تحديث البيانات بواسطة تشغيله يدويًا أو جدولة تشغيله بانتظام.

المزيد من المعلومات

بالتأكيد، سأوفر المزيد من المعلومات لمساعدتك في فهم كيفية تنفيذ الحل الذي ذكرته.

أولاً، بالنسبة لصيغة التنسيق الشرطي في Google Sheets، فهي تستخدم لتغيير شكل البيانات بناءً على شروط محددة. في حالتنا، نريد تغيير قيم العمود “الحالة” (C) استنادًا إلى قيم التاريخ في العمود “تاريخ M” (B). الصيغة التي استخدمناها تقوم بذلك بالشكل التالي:

  • إذا كان التاريخ مساوٍ لتاريخ اليوم، فتظهر “Today”.
  • إذا كان التاريخ أقدم من تاريخ اليوم، فتظهر “Lapsed”.
  • في أي حالة أخرى، تظهر “Pending”.

ثانيًا، بالنسبة للبريد الإلكتروني، يمكنك استخدام Google Apps Script لإرسال بريد إلكتروني تلقائيًا عندما يتغير الحالة من “Pending” إلى “Today”. هذا يعتمد على استدعاء دالة checkStatusChange() عند حدوث تغيير في الجدول.

داخل الدالة checkStatusChange()، نقوم بتحديد المدى الذي يحتوي على قيم الحالة (العمود C)، ثم نقوم بفحص كل قيمة. إذا كانت القيمة “Today”، فإننا نتحقق مما إذا كانت الحالة السابقة “Pending”، وإذا كان الأمر كذلك، فإننا نُرسل بريدًا إلكترونيًا إلى العنوان الذي قمت بتحديده في المتغير emailAddress، ونُعيد تعيين القيمة السابقة إلى “Today” في العمود الذي يحتوي على الحالة السابقة (يفترض أنه العمود D في هذا المثال).

لتنفيذ هذا الحل، يمكنك اتباع الخطوات التالية:

  1. انسخ الصيغة الشرطية إلى Google Sheets في قسم “تنسيق الشروط”.
  2. قم بإنشاء دالة checkStatusChange() داخل Google Apps Script وقم بتشغيلها عندما يتم تحديث الجدول.
  3. تحقق من السماح لـ Google Apps Script بالوصول إلى جدولك وإرسال البريد الإلكتروني.
  4. اختبر الحل عن طريق تغيير حالة بعض الصفوف في الجدول.

هذه هي الخطوات الأساسية لتنفيذ الحل. إذا كانت هناك أية استفسارات أو تفاصيل إضافية تحتاجها، فلا تتردد في طرحها!

مقالات ذات صلة

زر الذهاب إلى الأعلى
إغلاق

أنت تستخدم إضافة Adblock

يرجى تعطيل مانع الإعلانات حيث أن موقعنا غير مزعج ولا بأس من عرض الأعلانات لك فهي تعتبر كمصدر دخل لنا و دعم مقدم منك لنا لنستمر في تقديم المحتوى المناسب و المفيد لك فلا تبخل بدعمنا عزيزي الزائر