javascript - Google Sheet 脚本有条件地将空白单元格的值设置为今天的日期,但保留现有数据相同

标签 javascript google-apps-script google-sheets

我被一个可能很简单的问题难住了。

我有一列数据 J,其中某些单元格中有日期,但不是全部。如果单元格为空,我需要在该单元格中写入今天的日期。

这是我到目前为止所拥有的:

var event=[];
var date= new Date();

for (event=1; event< destSheet.length; event ++){
    if (destSheet[event][10]<1){
        [event][10]=date;
  }
  }  

没有返回错误,它只是没有写入日期(我稍后会担心格式)。我做错了什么?

最佳答案

您可能需要类似以下代码的内容。该代码构建一个二维数组,用相同的数据覆盖现有数据,并将新日期放入空白单元格中。

function xyz() {
  var ss = SpreadsheetApp.getActiveSpreadsheet();
  var sourceSheet = ss.getSheetByName("Sheet1");

  //getRange(start row, start column, numRows, number of Columns)
  var rangeData = sourceSheet.getRange(2,1, sourceSheet.getLastRow()-1, 1);

  var dataFromSheet = rangeData.getValues();
  var date= new Date();

  var i=0,
      thisCellValue,
      innnerArray = [],
      outerArray = [];

  for (i=0; i< dataFromSheet.length; i+=1){
    thisCellValue = dataFromSheet[i];

    if (thisCellValue === ""){
      innnerArray.push(date);
      outerArray.push(innnerArray);
    } else {
      innnerArray.push(thisCellValue); //To overwrite original data with the same data
      outerArray.push(innnerArray);
    }; 
  };

  sourceSheet.getRange(2,1, outerArray.length, innerArray[0].length).setValues(outerArray);
};

关于javascript - Google Sheet 脚本有条件地将空白单元格的值设置为今天的日期,但保留现有数据相同,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34348246/

相关文章:

javascript - 单击时增加多个元素

google-apps-script - 自动完成功能不起作用 - Google 应用程序脚本

javascript - 将 JavaScript 数组转换为 JSON 对象

google-sheets - 移动行时如何更改 Google 表格单元格引用?

google-sheets - 从谷歌文档表单订购电子表格中的列

google-sheets - 谷歌表格: How can I sum two calculated fields in a pivot table

java - java和javascript哪个性能更高?

javascript - ng-repeat + 类似 Meteor Blaze/Spacebars 中的过滤器功能

javascript - Lightswitch HTML 客户端 : How to re-render an item (re-execute postRender callback)

google-apps-script - 谷歌应用程序脚本使用jdbc将日期插入表