我的If语句说,如果正在查看的单元格为空,则返回x,如果其中有一个值,则返回Y ...记录器在该单元格中显示数据,但仍返回x!< / p>
我尝试更改为isblank,为空,为“”。我可以看到它正在记录数据,但仍然返回空白单元格的答案
function trackingSheetUpdate() {
var now = new Date();
var ss = SpreadsheetApp.getActiveSpreadsheet();
var sourceSheet = ss.getSheetByName('Active Campaign');
var Tracking = ss.getSheetByName('Tracking')
var getUpdate = sourceSheet.getRange(2, 5).getValue();
var dateResult = now - sourceSheet.getRange(2, 6).getValue();
var openSS = SpreadsheetApp.openByUrl(getUpdate).getSheetByName('Sheet1')
var weeklyUpdate = openSS.getRange(2, 1).getValue();
if (dateResult > 1 && dateResult <= 7); {
if (weeklyUpdate == null, Tracking.getRange(2, 2).setValue("x"));
else
("Y");
}
}
如果单元格为空,我要x,如果单元格不为空,我要Y,但它只返回x!最终,我将在一个动态范围内进行循环,但是想先掌握基础知识!
答案 0 :(得分:0)
我创建了一些自己的测试纸数据,下面的代码似乎可以按您期望的那样工作。
function trackingSheetUpdate() {
var now = new Date();
var ss = SpreadsheetApp.getActiveSpreadsheet();
var sourceSheet = ss.getSheetByName('Active Campaign');
var trackSheet = ss.getSheetByName('Tracking');
var getUpdate = sourceSheet.getRange(2, 5).getValue();
var dateResult = now - sourceSheet.getRange(2, 6).getValue();
var openSheet = SpreadsheetApp.openByUrl(getUpdate).getSheetByName('Sheet1');
var weeklyUpdate = openSheet.getRange(2, 1).getValue();
if (dateResult > 1 && dateResult <= 7); {
if (weeklyUpdate == '') {
trackSheet.getRange(2, 2).setValue("x");
} else {
trackSheet.getRange(2, 2).setValue("y");
}
}
}
当然,这取决于您的工作表数据是否正确,例如,您需要var getUpdate
作为URL。为了与脚本的其余部分保持一致,我还重命名了一些变量,并进行了一些语法上的更改,例如确保对结束行使用分号等。