Google Sheet Script - if else,检查单元格是否匹配



寻求以下功能的帮助。我试图让它检查如果一个文件已在谷歌驱动器上更新运行导入脚本之前。我把它归结为检查两个日期/时间是否在一张表中匹配,但我似乎无法正确注册它们是否匹配。当S3 <>T3或当U3 = FALSE时。任何帮助都将非常感激!!

function syncCSVtransactions() {
var ss = SpreadsheetApp.getActiveSpreadsheet()
var sh = ss.getSheetByName("LOOKUP")
var cell_trnsnew = sh.getRange("S3");
var cell_trnsold = sh.getRange("T3");
var cell_trnscheck = sh.getRange("U3");
if( cell_trnsnew != cell_trnsold ){    //this is the line giving trouble
var source_file = DriveApp.getFilesByName("data_export.csv").next();
var csvData = Utilities.parseCsv(source_file.getBlob().getDataAsString());
var sheet2 = ss.getSheetByName('trs');
sheet2.getRange(1, 1, csvData.length, csvData[0].length).setValues(csvData);
cell_trnsnew.copyTo(cell_trnsold, {contentsOnly:true});
chartupdate();
} else {
}
}

我认为在你的脚本中,var cell_trnsnew = sh.getRange("S3");,var cell_trnsold = sh.getRange("T3");var cell_trnscheck = sh.getRange("U3");可以一次调用完成。而且,虽然我不确定你的"查找"值;表,下面这两种图案怎么样?

模式1:

在这个模式中,它假设" 3", "T3"one_answers";U3"分别为date对象、date对象和布尔值。

:

var cell_trnsnew = sh.getRange("S3");
var cell_trnsold = sh.getRange("T3");
var cell_trnscheck = sh.getRange("U3");
if( cell_trnsnew != cell_trnsold ){

:

var [cell_trnsnew, cell_trnsold, cell_trnscheck] = sh.getRange("S3:U3").getValues()[0];
if (cell_trnsnew.getTime() != cell_trnsold.getTime() || cell_trnscheck === false) {
模式2:

在此模式中,"S3", "T3"one_answers";U3"被用作字符串值。

:

var cell_trnsnew = sh.getRange("S3");
var cell_trnsold = sh.getRange("T3");
var cell_trnscheck = sh.getRange("U3");
if( cell_trnsnew != cell_trnsold ){

:

var [cell_trnsnew, cell_trnsold, cell_trnscheck] = sh.getRange("S3:U3").getDisplayValues()[0];
if (cell_trnsnew != cell_trnsold || cell_trnscheck == "FALSE") {

引用:

  • getvalue ()
  • getDisplayValues ()