由於我不是特別精通Google Sheet腳本,因此在Google上做相當體面的事情,併爲我工作。自定義Google表格凍結時間戳公式
如果我在我的RSS閱讀器中保存文章,我正在使用IFTTT.com自動追加Google表格。
隨着IFTTT的工作方式,它會根據保存的文章的各種屬性在表格的底部添加一行。
我越來越掛斷了向該行添加自動非易失性時間戳。
我試過使用下面的自動時間戳功能,當我鍵入一個單元格時工作,但不是當附加表單時。
function onEdit(event)
{
var timezone = "GMT-5";
var timestamp_format = "MM-dd-yyyy"; // Timestamp Format.
var updateColName = "Article Title";
var timeStampColName = "Date Discovered";
var sheet = event.source.getSheetByName('Sheet1'); //Name of the sheet where you want to run this script.
var actRng = event.source.getActiveRange();
var editColumn = actRng.getColumn();
var index = actRng.getRowIndex();
var headers = sheet.getRange(1, 1, 1, sheet.getLastColumn()).getValues();
var dateCol = headers[0].indexOf(timeStampColName);
var updateCol = headers[0].indexOf(updateColName); updateCol = updateCol+1;
if (dateCol > -1 && index > 1 && editColumn == updateCol) { // only timestamp if 'Last Updated' header exists, but not in the header row itself!
var cell = sheet.getRange(index, dateCol + 1);
var date = Utilities.formatDate(new Date(), timezone, timestamp_format);
cell.setValue(date);
}
}
IFTTT可以讓你設置什麼樣的數據被移植到什麼樣的列,並有具體的「成分」從資訊提供ly數據可以放入列。
它們還允許使用靜態文本和公式。
意識到這一點,我發現以下自定義函數,這似乎有點工作。
function timestamp() {
return new Date()
}
這使得如果是真的我補充一個函數來檢查文章的標題是否有內容,和時間戳。
=時間戳(INDIRECT(「E」 & ROW()))
奇怪的是,當我今天重新裝紙的第一行用這個公式並沒有改變(我昨天輸入公式),也沒有一個沿着表格向下排。
源工作表:https://docs.google.com/spreadsheets/d/1ybfgOgBkqHdld9_sexzMfdMV2lT6Qp7WgQ8Di96S-a8/edit?usp=sharing
很多提前感謝。
查看OnEdit或OnSubmit {Event Object}(https://developers.google.com/apps-script/guides/triggers/events)以運行該函數,並將時間戳放置在正確的位置。這將是觸發器IFTTT導致的功能,如果有的話。如果是OnEdit,那麼您可以從傳遞給觸發器的數據中獲取行。其他觸發器可能需要通過電子表格循環才能找到最後一行。 –