首页 > 解决方案 > 当我在单元格 A1 中进行任何更改时,如何将单元格 A2 的值更改为“Today()”?

问题描述

我正在使用 Google 电子表格进行项目管理。自动将我的评论字段更改为我的 change_date-field =TODAY() 的脚本将帮助我节省一些时间,并将此功能用于我将来可能需要的其他脚本。

当我目前在评论字段中进行更改时,我必须在我的 change_date-field 中手动输入更改日期,我认为这很容易实现自动化。

不幸的是,我不知道如何为此编写代码。

当我在名为“comment”的列中进行任何更改时,我想在名为“change_date”的列中返回值“=TODAY()”。你们能帮我写一个自动为我完成这项工作的脚本吗?

标签: google-apps-scriptgoogle-sheetsgoogle-sheets-formulagoogle-sheets-macros

解决方案


如果您可以共享您所引用的电子表格版本以帮助我们更准确地回答,这可能会有所帮助。

根据提供的信息,可能对您有所帮助的一些想法可能是: 1. 用于setFormula将请求的单元格更改为 today()。就像是

function setToday() {
 var sheet = SpreadsheetApp.getActiveSheet();
 var range = sheet.getRange('B1'); //Set the cell here
 range.setFormula('=today()');
}

2.直接使用脚本添加日期

    function newDate() {
     var sheet = SpreadsheetApp.getActiveSheet();
     var range = sheet.getRange('B1'); //Set the cell here
     var today = Utilities.formatDate(new Date(),Session.getScriptTimeZone(),'dd//MM/yy');
     range.setValue(today);
    }

您可以使用 onEdit 触发器在编辑特定单元格时更新单元格。

function onEdit(e){
 var sheet = SpreadsheetApp.getActiveSheet();
 var range = e.range;
 var column = range.getColumn();
 var row = range.getRow();
 if (column==2) { //Replace 2 with the column number of your comments cell//
   var newRange = sheet.getRange(row,column+1); //If the date is in the next column
 newRange.setFormula('=today()');
 }

对不起,我不能更具体。


推荐阅读