【问题标题】:Google Scripts - Adding Days to Date -谷歌脚本 - 添加日期日期 -
【发布时间】:2019-11-26 14:49:24
【问题描述】:

我请求您的帮助是因为我对编程知之甚少! ;-(

我有一个客户注册的谷歌表单。 每个注册的联系人都会添加到相关的工作表中,指明注册的日期和时间(A 列)

我想知道如果使用与发送表单相关联的脚本,我们可以将这个值添加到列 J: 注册日期 + 7 天

感谢大家的宝贵帮助!

【问题讨论】:

  • 发布一些代码。这会很有帮助
  • 你为什么不直接在 J 列做 =registrationdate+7 我不明白?
  • 数据在mysql数据库上自动同步。如果我输入这个公式“= A2 + 7”。问题出现在空白行 - 没有注册日期 - 在 J 列中我总是有一个数字,这会在数据库上产生同步问题。单元格 J 应该保持空白,直到 A 列中出现新的注册。我希望我自己解释了 :-)

标签: javascript date google-apps-script google-sheets


【解决方案1】:

您可以尝试在提交表单时写下日期。使用Form Submit 触发器运行此函数:

function newRow() {

  var sprsheet = SpreadsheetApp.openById("your sheet Id");
  var sheet = sprsheet.getActiveSheet();

  var lastRow = sheet.getLastRow();

  //Gets the current date and adds 7 days to it
  var date = new Date();
  var value = new Date(date.setDate(date.getDate()+7));

  //"10" is the J column
  sheet.getRange(lastRow, 10).setValue(value);

  }

参考资料:

【讨论】:

  • 非常感谢您的帮助。我是否需要从模块或直接从工作表激活此脚本?然后我必须应用触发器
  • 您必须将此脚本附加到您的表单,保存并按照here 中的步骤创建触发器,但使用“提交表单”作为事件。
  • 太棒了,效果很好。非常感谢您的帮助!
  • 不客气!请考虑接受我的回答,这样其他人就可以在不查看 cmets 的情况下看到它:)
【解决方案2】:

我认为这里不需要使用 Google Apps 脚本。只需使用公式检查日期范围内的空白

=ArrayFormula(IF(ISBLANK(A2:A),"",A2:A + 7));

该公式检查单元格是否为空白,如果此条件为真,则输出一个空字符串。如果条件为假,则将日期增加 7 天。 请注意,将公式应用于范围后,您可能会在结果列中看到类似于数字的内容(见下文)。这些是您可以通过将日期格式应用于列来正确显示的有效日期。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2021-04-10
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2016-07-23
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多