![](/img/trans.png)
[英]Google script: How to hide a row if a cell contains a date 10 days older than today's date
[英]How to use Google Sheet's app script to add 90 days to user inputted date and email if new date is today's date
如何在谷歌表格中獲取日期以在用戶輸入日期后 90 天自動生成。 所以,我有兩列,在 J 列中,我將輸入我第一次訪問患者的日期。 然后在 K 列中,日期應在第一次訪問后自動填充 90 天。 但是第二個日期必須自動填充,一旦我們到達這個日期,腳本應該自動發送 email。 我嘗試使用谷歌表本身以簡單的方法 go 但問題是一旦刪除一行,整個列的公式就會被刪除。
在問這個問題之前,我試着看看這個其他的解決方案: 如何從谷歌表格中添加日期到日期? 但我還是有點失落。
現在,我也知道谷歌表格本身中有一個名為 TODAY() 的 function,我也嘗試過。 但問題是,如果某人/用戶刪除了一行,那么我的 TODAY() 公式將丟失 rest 行。 這就是為什么我需要在 App 腳本中執行此操作。 任何人都可以請幫我嗎? 到目前為止,我有以下代碼。
function DateCompare() {
const ss = SpreadsheetApp.getActiveSheet();
const dataRange = ss.getDataRange();
const dataRangeVals = dataRange.getValues();
const headers = 2;
var getNewDate = new Date();
var getDate = new Date().getDate();
var getMonth = new Date().getMonth()+1;
var getYear = new Date().getFullYear();
var dateGlued = getMonth + "/" + getDate + "/" + getYear;
for(n=2;n<dataRangeVals.length;++n){
var cell = dataRangeVals[n][10]; // x is the index of the column starting from 0
var formattedDate = Utilities.formatDate(new Date(cell), "GMT", "MM/dd/YYYY");
if (dateGlued.valueOf() === formattedDate.valueOf()) {
Logger.log("Date Matched!")
}
}
}
function ifItsBeen90Days() {
const ss = SpreadsheetApp.getActiveSheet();
const dataRange = ss.getDataRange();
const dataRangeVals = dataRange.getValues();
const headers = 2;
dataValues
.filter(row => row[10] !== '' && row[11] !== "") //filtered data where row[9] is empty
.forEach(row => {
let message =
row[0] +
'\n' +
row[1] +
'\n' +
row[2] +
'\n' +
row[3] +
'\n' +
row[4] +
'\n' +
row[5];
let email = row[13];
let subject = 'Sending emails from a Spreadsheet';
MailApp.sendEmail(email, subject, message);
Logger.log(`${subject}: ${message} sent to ${email}`);
});
}
當您可以簡單地使用公式來檢查所需的標准時,為什么還要使用 GAS。 標准(基於圖像)是:
因此,該公式等於以下公式,只需確保將列格式化為日期。
=IF(ISDATE(J2); J2+90; "")
所以現在我們已經確定了日期。
然后,為了在該計算日期自動發送電子郵件,您需要每天運行觸發器。 然后,該觸發器運行特定的 function,然后檢查是否有任何行包含今天的日期。 如果是,則發送 email,如果不是,則不發送。 將活動記錄到工作表是最佳實踐,這樣您就可以看到活動已發送的確認信息。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.