我需要设置Google表格以将ID合并到ID列中
这是我设计的Google表单。
我希望它像这样 = if(isblank(H3),“”,减号(H3,G3)) 但输出如下 我说期望示例的输出:QA + Date + 001 即:QA20190324001
答案 0 :(得分:0)
下面的代码读取整个工作表,然后检查每行中的ID
。如果不存在ID
,则根据QA+Date+Number
公式创建一个。然后将行写回到工作表。试试这个。
var AUTOINC_COLUMN = 0; // which col to increment
var HEADER_ROW_COUNT = 1; // how many header rows
var spreadsheet = SpreadsheetApp.getActiveSpreadsheet();
var sheet = spreadsheet.getSheetByName('Sheet1');
var range = sheet.getDataRange(); // get sheet range
var values = range.getValues(); // get sheet values
var today = new Date(); // todays date
var autoIncStart = 1; // start auto increment at this number
var lengthOfID = 3; // length of ID
var prefixID = 'QA'; // ID prefix
for (var row = HEADER_ROW_COUNT; row < values.length; row++) {
var id = values[row][AUTOINC_COLUMN];
if (('' + id).length === 0) {
// no id present, create one and set
// comment out below lines if no operation is needed when id is empty
id = prefixID;
id += today.getFullYear() + zeroPad(today.getMonth() + 1, 2) + today.getDate();
id += zeroPad(autoIncStart, lengthOfID);
values[row][AUTOINC_COLUMN] = id;
autoIncStart++;
}
}
// write values back to sheet
range.setValues(values);
// zero pad a number up to given length
function zeroPad(num, length) {
var str = '' + num;
while (str.length < length) str = '0' + str;
return str;
}