如何使用单元格旁边的下拉菜单对当前日期进行单元格更新?

Posted

技术标签:

【中文标题】如何使用单元格旁边的下拉菜单对当前日期进行单元格更新?【英文标题】: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() 函数,它会在您打开电子表格时执行一个脚本。逐渐回暖? :-) 【参考方案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);
  

【讨论】:

以上是关于如何使用单元格旁边的下拉菜单对当前日期进行单元格更新?的主要内容,如果未能解决你的问题,请参考以下文章

在EXCEL如何制作树形结构的下拉菜单进行输入到单元格

如何使用键盘在 Excel 单元格中下拉菜单? [关闭]

excel2007为日期制作下拉菜单的方法步骤

清除下拉菜单后自动清除单元格+修复本地时间

如果前一个单元格具有值 HandsOnTable,如何将单元格更改为非活动状态

如何在EXCEL单元格中制作可以选择的下拉日历并自动填充