簡體   English   中英

Google Sheet Script - if else, 檢查單元格是否匹配

[英]Google Sheet Script - if else, checking if cells match

尋找以下功能的幫助。 我試圖讓它在運行導入腳本之前檢查 Google Drive 中的文件是否已更新。 我可以檢查兩個日期/時間是否在一張表中匹配,但我似乎無法讓它正確注冊它們是否匹配。 它應該在 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"); 可以一鍵寫入。 而且,雖然我不確定您的“查找”表的值,但以下兩種模式怎么樣?

模式一:

在此模式中,假設“S3”、“T3”和“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").getValues()[0];
if (cell_trnsnew.getTime() != cell_trnsold.getTime() || cell_trnscheck === false) {

模式二:

在此模式中,“S3”、“T3”和“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") {

參考:

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM