google-apps-script - 连接字符串的一部分
问题描述
我在 col A 中有这个函数来连接一些单元格以生成一个 ID:
={"ID"; arrayformula(IF(C2:C="";;(LEFT(C2:C;1))&"-"&(LEFT(D2:D;1))&(LEFT(E2:E;1))&"-"&(UPPER(RIGHT(B2:B;8)))))}
我正在尝试用脚本替换该函数,但我的代码不起作用。
怎么了?
function concatenate() {
var sheet = SpreadsheetApp.getActiveSheet();
var data = sheet.getDataRange().getValues();
var lr = sheet.getLastRow()
var values1 = sheet.getSheetValues(2, 3, lr, 1);
var values2 = sheet.getSheetValues(2, 4, lr, 1);
var values3 = sheet.getSheetValues(2, 5, lr, 1);
var values4 = sheet.getSheetValues(2, 2, lr, 1);
var results = [];
for (var i = 0; i < lr; i++) {
results.push([values1[i][0].slice(0,1) + "-" + values2[i][0].slice(0,1) + values3[i][0].slice(0,1) + "-" + values4[i][0].slice(-8)]);
}
sheet.getRange(2, 1, results.length).setValues(results);
}
PS
每次连续编辑时,我怎样才能运行脚本?
解决方案
确定这不是你想要的吗?
function concatenate() {
var sheet = SpreadsheetApp.getActiveSheet();
var data = sheet.getDataRange().getValues();
var results = [];
for (var i=1;i<data.length; i++) {//if you have a header row start from one
results.push([data[i][2].slice(0,1) + "-" + data[i][3].slice(0,1) + data[i][4].slice(0,1) + "-" + data[i][1].slice(-8)]);
}
sheet.getRange(2, 1, results.length,1).setValues(results);
}
推荐阅读
- api - Api Blueprint 文档中 Data Structures 中的字符串
- angular - 一次显示一个活动菜单
- azure - 404Resource Not Found postman post request for Speech to text REST API
- python-3.x - Mariadb:外键始终为 NULL
- jquery - 如何使用 jquery 在跨度内隐藏父元素
- python - “libusb.h:没有这样的文件或目录”来自 gcc 编译 Python 模块
- javascript - 如何在我的反应滑块中设置显示弹性?
- python - 你如何在python中使一组变量都等于相同的数字?
- upload - 上传到 AWS S3
- strapi - 有没有办法将我在 UI 中看到的strapi 错误消息重定向到标准输出?