【问题标题】:How can I make a cell update with the current date, using a dropdown next to the cell?如何使用单元格旁边的下拉菜单对当前日期进行单元格更新?
【发布时间】:2012-03-03 20:15:38
【问题描述】:

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

我该如何解决这个问题?

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

【问题讨论】:

  • 为什么你需要有一个单一值的下拉列表?为什么不能将 TODAY() 放在输入表单中,并将 value 复制到工作表中?
  • 因为有些人会使用电子表格,他们不喜欢一直复制/粘贴。所以我想为他们做一个选择项目,将当前日期放在单元格中,而不需要重新计算日期
  • 将您的问题改写为“如何让 Google 电子表格使用当前日期更新单元格,但仅响应用户的操作”是否准确?换句话说,它必须是一个下拉菜单,还是一个标有“更新日期”的按钮?
  • 感谢您的评论。我会改写我的问题。下拉是首选,因为用户不必移动鼠标太多。用户可以通过这种方式连续更新几列,因此如果用户不移动鼠标,效率会更高
  • 看看 Google AppScript,特别是 onOpen() 函数,它会在您打开电子表格时执行一个脚本。逐渐回暖? :-)

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


【解决方案1】:

我会有一个下拉项目,上面写着“dags dato”。接下来我使用一个事件监听器来检查单元格中的文本是否更改为“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);
  }
}

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2021-12-15
    • 1970-01-01
    • 1970-01-01
    • 2012-04-05
    • 2023-04-02
    相关资源
    最近更新 更多