【发布时间】:2019-12-20 15:10:17
【问题描述】:
因此,Tanaike 为我构建了一个脚本,该脚本将一列中的值复制到另一列并沿行向下直到它遇到原始列中的另一个值,然后继续复制该值。这对于在大纲格式的 Google 表格上为 vlookup 获取连接字符串非常有用。
对此我剩下的一个问题是:如何在工作表末尾向新生成的行添加更多列。
这是田池的脚本:
function myFunction() {
var ss = SpreadsheetApp.getActiveSpreadsheet();
var sheet = ss.getActiveSheet(); // or ss.getSheetByName(name);
var values = sheet.getRange(2, 1, sheet.getLastRow() - 1, 3).getValues();
var n = "";
var res = values.map(function(row) {
if (row[1].indexOf("Place") != -1) { // Modified
n = row[1];
return row;
}
return [n, row[1], row[2]]; // Modified
});
sheet.getRange(sheet.getLastRow() + 3, 1, res.length, res[0].length).setValues(res);
// ss.getSheetByName("Sheet2").getRange(1, 1, res.length, res[0].length).setValues(res);
}
我不熟悉这里的一些操作,所以我试图猜测如何扩展它拉下的列值(目前它转到 C),但我一直遇到数据错误。
我只想让它做它已经在做的事情,但是将额外的列拉到生成的行中,其中 B 的值现在被复制到每一行的 A 中,直到它遇到一个新值名称中包含“地点”的 B。
效果很好,我只需要用它来降低其他一些值,例如“代码”、“收入”、“小时”和“金额”列。这就是为什么我可以将它们连接成一个唯一的字符串,用于我需要在另一张表上导入的某些值。感谢您为我解决此问题提供的所有帮助。
【问题讨论】:
标签: google-apps-script google-sheets