我想保留昨天的日期作为最后一行。
我的数据如下:
我尝试了以下方法来保存数据,效果很好。
function moveValuesOnly() {
var ss = SpreadsheetApp.getActive().getSheetByName('Store values');
Logger.log(ss.getName());
// get yesterday's date
var now = new Date();
var yesterday = new Date();
yesterday.setDate(now.getDate()-1);
yesterday = Utilities.formatDate(yesterday, "GMT+1", 'yyyy-MM-dd');
Logger.log("yesterday: " + yesterday);
var source = ss.getRange('4:4');
source.copyTo(ss.getRange('4:4'), {contentsOnly: true});
source.setFontWeight("bold");
}
在示例电子表格下方找到:
如您所见,我的脚本中的日期格式正确,就像Date
列中一样。我还可以正确地“ 持久”数据。
我的问题是我不知道如何获取昨天的日期所在的范围,以便我可以将其移交给我的脚本以保留它。
任何建议如何获取与昨天的日期匹配的行。
答案 0 :(得分:1)
不能完全确定“ persist”是什么意思,但是下面的函数返回第一行的行号,其中包含昨天的日期:
var yesterdayRow = getYesterdayRow(yesterday,ss.getRange(A:A))
昨天定义后,您可以在代码中这样调用它:
getdisplayValues()
请注意,此功能可以快速解决您当前的需求,但它使用getValues()
,这是一种快速欺骗,无需处理日期。您可能应该修改此功能,以便它可以与其他日期格式一起使用。 (使用yesterday
,从for loop
获取日期,时间和月份,然后从{{1}}中的每个值获取相同的日期,时间和月份,并确保考虑任何时区偏移量。)