google-apps-script - 我的 If 语句没有返回基于单元格为空白或有数据的值
问题描述
我的 If 语句说,如果它正在查看的单元格为空,则返回 x,如果其中有一个值,则 Y... 记录器在单元格中显示数据,但它仍然返回 x!
我试过改成isblank,是null,是“”。我可以看到它正在记录数据,但它仍在返回空白单元格的答案
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!最终,我将在动态范围内循环,但首先要掌握基础知识!
解决方案
我自己创建了一些测试表数据,下面的代码似乎可以按您的预期工作。
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。为了与脚本的其余部分保持一致,我还重命名了一些变量,并进行了一些语法更改,例如确保行尾有分号等。
推荐阅读
- indexing - 查阅列超过列表视图阈值
- excel - 如何在一天中的特定时间将单元格范围复制到新工作表上的最后一个空行
- split - 分割线在处理 3 中给出空指针异常
- javascript - 检测覆盖 iframe 的系统窗口
- javascript - 滚动时如何在特定的div上添加类?
- javascript - 输入数量超过可用库存时如何生成警报
- c# - 我的代码永远不会到达 Monitor.Pulse 行
- php - Symfony 查询 - 检索一个用户的所有项目
- python - 我如何知道数据包将来自或来自 python 中的哪个 url
- rest - 使用 Spring Boot 和 JUnit 对 Rest 服务进行单元测试