google-apps-script - 有没有办法在 Google 表格上自动增加(QA)的 ID 代码?
问题描述
我需要设置 Google 表格以在 ID 列中合并 ID
这是我设计的谷歌表单。
我希望它像这样 =if(isblank(H3),"", minus(H3,G3)) 但下面的输出我说期望输出示例:QA+Date+001 即:QA20190324001
解决方案
下面的代码读取整个工作表,然后检查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;
}
推荐阅读
- mongodb - MongoDB 不适用于 Catalina。不断报错
- python - 即使在中断后程序循环
- swift - 从服务器视频 url 创建的缩略图在滚动 tableview 时不断变化
- r - R:在矩阵中找到最小值
- python - 将数据从 Json 提取到 Id 位于 Key 中的表中
- javascript - cytoscape 的条件样式
- ansible - 使用 ansible-lint 处理全局角色目录
- aframe - 当还使用 Aframe-Vimeo-Component 时,为什么在 Aframe 中添加激光控件不起作用?
- apple-watch - Cutsom 打算开发独立的 Apple Watch 应用程序 watchos6
- python - 间歇性 Firestore 超时锁定整个客户端