首页 文章

默认情况下如果在Google表单中没有指定日期,则在使用App Script提交表单时,如何将日期添加到空单元格?

提问于
浏览
0

我有一个时间日志表单,其中包含一个日期字段,我不想每次都填写日期为今天日期的90% . (有时你会从另一天进入某些东西并需要改变它) .

当添加一个条目时,列A总是会有一些东西,所以它应该检查A是否为空,如果相同的行D是空的,它将把今天的日期输入到D.

我看过的一些例子是onEdit of cell change it,但是我无法让它与表单提交一起使用,甚至只是让它自动检查D中的所有单元格,如果是空的则放置今天的日期(仅限B时)有 Value ) .

我现在有一个函数可以在表单提交/ onEdit发生时调用表单,并且希望将新公式保留在同一个表单的底部(除非这是不好的做法) . 这样做的原因是必须添加到触发器列表的功能较少 .

答:时间戳| B:什么| C:有偿吗? | D:日期

2 回答

  • 0

    您可以尝试使用Google表格提供的Google spreadsheets function list Date .

    并且,如Custom Functions in Google Sheets中所述,如果可用功能不足以满足您的需求,您还可以使用Google Apps脚本编写自定义函数,然后在Google表格中使用它们,就像内置函数一样 .

    首先,可以在给定的文档中找到自定义函数和样本的指南 .

  • 0

    您可以使用带有 onFormSubmit 触发器的Google Apps脚本,该触发器将使用默认日期填充所述单元格 .

    下面是一个示例代码,它将填充相关行的第4列中的当前日期 .

    function onFormSubmit(e) {
      //edit responses sheet name
      var responseSheetName = 'Form Responses 2';
      //Edit colmn number, column in which the date has to be autopopulated
      var column = 4;
    
      //Get target row number
      var row = e.range.rowStart;
      //If no date, pouplate the cell with current date
      if(!e.values[column-1]){
        SpreadsheetApp.getActive().getSheetByName(responseSheetName).getRange(row, column).setValue(new Date())
      }
    }
    

    要设置上述代码,请打开包含表单响应的电子表格 . 转到工具>脚本编辑器 . 这将打开脚本编辑器窗口 . 粘贴上面的代码并编辑 responseSheetNamecolumn . 现在保存它 . 保存后,设置表单提交触发器 .

    要设置触发器,请按照下列步骤操作 .

    • 从脚本编辑器中,选择“资源”>“当前项目的触发器” .

    • 单击指示:未设置触发器的链接 . 点击这里,马上添加一个 .

    • 在“运行”下,选择要触发的onFormSubmit函数的名称 .

    • 在“事件”下,选择“从电子表格” .

    • 选择表格提交

    • (可选)单击通知以配置触发功能失败时如何以及何时通过电子邮件联系您 .

    • 单击“保存” .

相关问题