我有一个带有单元格的电子表格,其中包含今天的公式和我使用脚本设置的另一个公式:setValue()
然后在我的脚本中,我将比较这些单元格以捕获不匹配的情况。
即使在调试器中,两个单元格都是相等的,但脚本的行为却并非如此!
有什么想法吗?
谢谢!
首先,您需要将值转换为
Date
对象:
var date1 = new Date(dat1);
var date2 = new Date(dat2);
并且
getTime()
是一个方法,因此你需要一个空参数 () 才能正确解释。
所以在你的代码中它将是:
if (date1.getTime() != date2.getTime()) {
// do something
}
function dateCompare() {
var sheet = SpreadsheetApp.getActiveSpreadsheet().getSheetByName("Sheet2");
var range1 = sheet.getRange("A1");
var cell1 = range1.getValue();
var range2 = sheet.getRange("A2");
var cell2 = range2.getValue();
var date1 = new Date(cell1);
var date2 = new Date(cell2);
if (date1.getTime() != date2.getTime()) {
console.log("Unequal dates");
range2.setValue(cell1);
}
}
更换日期:
控制台日志:
现在可以与 Marios 解决方案配合使用,
getDisplayValue