繁体   English   中英

使用 Google Apps 脚本根据日期更改 Google 表格中的下拉列表单元格

[英]Change Drop Down List cell in Google Sheets based on date using Google Apps Script

我对 Google Apps 脚本完全陌生,我正在尝试在 Google 表格中添加一个包含 IF 语句的下拉列表。

我在 A 列中有一个标题为“发布日期”的列,在 D 列中有一个标题为“状态”的列。我希望 D 列中的每个单元格都从“计划在 Hootsuite”和“计划在 Wordpress”更改为“已发布”一次今天的日期已经过了发布日期。

我创建了一个 IF 语句公式,但公式不能用于标准的 Google 表格数据验证,所以我转向 Google Apps 脚本,但不知道该怎么做。

我在 Google Apps Script 中设置了下拉列表:

function myFunction() {
  var cell = SpreadsheetApp.getActive().getRange('D2:D999');
var range = SpreadsheetApp.getActive().getRange('J2:J6');
var rule = SpreadsheetApp.newDataValidation().requireValueInRange(range).build();
cell.setDataValidation(rule);

}

var range (J2:J6)如下所列; 待写,初稿已写,计划在 Hootsuite 上,计划在 WordPress 上,已发布。

你知道如何在这个脚本中添加 IF 语句吗?

您可以结合使用循环和条件语句来完成

样本:

function checkOnTimer(){
  var sheet = SpreadsheetApp.getActive().getActiveSheet();
  var values = SpreadsheetApp.getActive().getRange('A2:D' + sheet.getLastRow()).getValues(); 
  for (var i = 0; i < values.length; i++){
    if(values[i][0].getTime() >= new Date().getTime() && (values[i][3] == "Scheduled on Hootsuite" || values[i][3] == "Scheduled on WordPress")){
      sheet.getRange((i+2), 4).setValue("Published");
    }
  }      
}

如果您想自动执行任务,请创建一个每日时间驱动的触发器,该触发器将自动运行 function。

参考:

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM