Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/date/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Date 如何使用单元格旁边的下拉列表,使用当前日期更新单元格?_Date_Google Apps Script_Google Sheets_Timestamp - Fatal编程技术网

Date 如何使用单元格旁边的下拉列表,使用当前日期更新单元格?

Date 如何使用单元格旁边的下拉列表,使用当前日期更新单元格?,date,google-apps-script,google-sheets,timestamp,Date,Google Apps Script,Google Sheets,Timestamp,我需要对一系列单元格进行数据验证。我想要一个下拉列表,其中唯一的选项是当前日期。要获取当前日期,我可以使用=TODAY()。问题是,日期并不是一成不变的。当工作表重新计算时,所有日期也将重新计算。我需要日期保持不变 我怎样才能解决这个问题 我找到了答案,但我看不出作者是如何制作电子表格的。我会有一个下拉项,上面写着“dags dato”。接下来,我使用eventlistener检查单元格中的文本是否更改为“dags dato” 如果是,则将当前日期放入单元格中,如下所示: function on

我需要对一系列单元格进行数据验证。我想要一个下拉列表,其中唯一的选项是当前日期。要获取当前日期,我可以使用
=TODAY()
。问题是,日期并不是一成不变的。当工作表重新计算时,所有日期也将重新计算。我需要日期保持不变

我怎样才能解决这个问题


我找到了答案,但我看不出作者是如何制作电子表格的。

我会有一个下拉项,上面写着“dags dato”。接下来,我使用eventlistener检查单元格中的文本是否更改为“dags dato”

如果是,则将当前日期放入单元格中,如下所示:

function onEdit(event)
{
  var ss = event.source.getActiveSheet();
  var r = event.source.getActiveRange();

  var currentValue = r.getValue();

  if(currentValue == "dags dato")
  {
    var dd = Utilities.formatDate(new Date(), "GMT", "yyyy-MM-dd");
    r.setValue(dd);
  }
}

我会有一个下拉项,上面写着“dags dato”。接下来,我使用eventlistener检查单元格中的文本是否更改为“dags dato”

如果是,则将当前日期放入单元格中,如下所示:

function onEdit(event)
{
  var ss = event.source.getActiveSheet();
  var r = event.source.getActiveRange();

  var currentValue = r.getValue();

  if(currentValue == "dags dato")
  {
    var dd = Utilities.formatDate(new Date(), "GMT", "yyyy-MM-dd");
    r.setValue(dd);
  }
}

为什么需要一个带有单个值的下拉列表?为什么不能在输入表单中输入TODAY(),然后将值复制到工作表中?因为有些人会使用电子表格,他们不喜欢一直复制/粘贴。因此,我想为他们制作一个选择项,将当前日期放入单元格,而不重新计算日期。将您的问题重新表述为“如何使谷歌电子表格使用当前日期更新单元格,但仅响应用户的操作?”是否准确?换句话说,它是否必须是一个下拉列表,或者是一个标有“更新日期”的按钮?谢谢你的评论。我将重新措辞我的问题。下拉菜单是首选,因为用户不必经常移动鼠标。用户可以以这种方式在一行中更新多个列,因此,如果用户不移动鼠标一整列,则效率更高查看Google AppScript,特别是onOpen()函数,它将在打开电子表格时执行脚本。正在变暖?:-)为什么需要一个带有单个值的下拉列表?为什么不能在输入表单中输入TODAY(),然后将值复制到工作表中?因为有些人会使用电子表格,他们不喜欢一直复制/粘贴。因此,我想为他们制作一个选择项,将当前日期放入单元格,而不重新计算日期。将您的问题重新表述为“如何使谷歌电子表格使用当前日期更新单元格,但仅响应用户的操作?”是否准确?换句话说,它是否必须是一个下拉列表,或者是一个标有“更新日期”的按钮?谢谢你的评论。我将重新措辞我的问题。下拉菜单是首选,因为用户不必经常移动鼠标。用户可以以这种方式在一行中更新多个列,因此,如果用户不移动鼠标一整列,则效率更高查看Google AppScript,特别是onOpen()函数,它将在打开电子表格时执行脚本。正在变暖?:-)