我被一个可能很简单的问题难住了。
我有一列数据 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/