Google 电子表格的时间戳(仅适用于填充行数据)
Timestamp for Google Spread Sheets (for only filled rows data)
在电子表格中,我想为预先选择的 (E20: N48) 行和列数据添加时间戳。
例如:如果Sheet-1的E20:E22单元格填充了一些数据,那么时间戳将设置为Sheet-的第1列单元格A2到单元格A4 2.同样,每次到最后一行的数据都会设置时间戳。
正如您在我的代码中看到的那样,29 被指定为最后一行,因此前 2 行充满了数据,但时间戳被设置为包括前 2 行在内的其余 28 行。
特别说明:我只想为填充数据的行添加时间戳。
这是我的代码:
function save() {
var sheet = SpreadsheetApp.getActiveSpreadsheet();
var ss = sheet.getSheetByName('Sheet-1'); //sheetstore
var data = sheet.getSheetByName('Sheet-2');
var getValue = ss.getRange('E20:N48').getValues();
var lastRow = data.getLastRow()+1;
var updateTable = data.getRange(lastRow,2,29,10).setValues(getValue); //From column 2, total 29 column, total 10 rows
//Timestamp for column 1
var timestamp = Utilities.formatDate(new Date(), "GMT+6:00", "yyyy-MM-dd HH:mm:ss");
Logger.log(lastRow)
var date = data.getRange(lastRow,1,29,1).setValue(timestamp); //From columns 1 to 29 rows, every time print in column 1
}
此函数保证您只获取每一列中都有数据的行,因此您可以继续将时间戳记放在 Sheet-2 的第 1 列中,因为只有完全填充的行才会放在那里。
function save() {
const sss = SpreadsheetApp.getActive();
const sh1 = sss.getSheetByName('Sheet-1');
const sh2 = sss.getSheetByName('Sheet-2');
const vs1 = sh1.getRange('E20: N48').getValues().filter(r => !r.some(e => !e));
const lr = sh2.getLastRow() + 1;
const vs2 = sh2.getRange(lr, 2, vs1.length, vs1[0].length).setValues(vs1);
const timestamp = Utilities.formatDate(new Date(), "GMT+6:00", "yyyy-MM-dd HH:mm:ss");
sh2.getRange(lr, 1, vs1.length, 1).setValue(timestamp);
}
在电子表格中,我想为预先选择的 (E20: N48) 行和列数据添加时间戳。
例如:如果Sheet-1的E20:E22单元格填充了一些数据,那么时间戳将设置为Sheet-的第1列单元格A2到单元格A4 2.同样,每次到最后一行的数据都会设置时间戳。
正如您在我的代码中看到的那样,29 被指定为最后一行,因此前 2 行充满了数据,但时间戳被设置为包括前 2 行在内的其余 28 行。
特别说明:我只想为填充数据的行添加时间戳。
这是我的代码:
function save() {
var sheet = SpreadsheetApp.getActiveSpreadsheet();
var ss = sheet.getSheetByName('Sheet-1'); //sheetstore
var data = sheet.getSheetByName('Sheet-2');
var getValue = ss.getRange('E20:N48').getValues();
var lastRow = data.getLastRow()+1;
var updateTable = data.getRange(lastRow,2,29,10).setValues(getValue); //From column 2, total 29 column, total 10 rows
//Timestamp for column 1
var timestamp = Utilities.formatDate(new Date(), "GMT+6:00", "yyyy-MM-dd HH:mm:ss");
Logger.log(lastRow)
var date = data.getRange(lastRow,1,29,1).setValue(timestamp); //From columns 1 to 29 rows, every time print in column 1
}
此函数保证您只获取每一列中都有数据的行,因此您可以继续将时间戳记放在 Sheet-2 的第 1 列中,因为只有完全填充的行才会放在那里。
function save() {
const sss = SpreadsheetApp.getActive();
const sh1 = sss.getSheetByName('Sheet-1');
const sh2 = sss.getSheetByName('Sheet-2');
const vs1 = sh1.getRange('E20: N48').getValues().filter(r => !r.some(e => !e));
const lr = sh2.getLastRow() + 1;
const vs2 = sh2.getRange(lr, 2, vs1.length, vs1[0].length).setValues(vs1);
const timestamp = Utilities.formatDate(new Date(), "GMT+6:00", "yyyy-MM-dd HH:mm:ss");
sh2.getRange(lr, 1, vs1.length, 1).setValue(timestamp);
}