google-apps-script - 在新创建的行中插入公式
问题描述
大家好,我想知道如何在新创建的行中插入一个公式这个脚本插入 10 个新行,我想在 E 列的 10 个新创建的行中插入一个公式
var ss = SpreadsheetApp.getActive();
var target = ss.getSheetByName('Data Entry');
target.insertRowsAfter(target.getMaxRows(), 10)
我需要在那些新创建的行中插入这个公式
=If(len(D3:D),vlookup(D3:D,'Configuration List'!A2:B,2,0),"")
解决方案
您想将行添加到最后一行,并将公式放入已创建行中的 E 列。您想修改公式的“D3:D”。如果我的理解是正确的,这两种解决方案怎么样?我认为您的情况有几种解决方案。因此,请将此视为其中两个。
模式1:
在此脚本中,它创建包含公式的二维数组。并使用 . 将它们放到创建的行的 E 列setFormulas()
。
var ss = SpreadsheetApp.getActive();
var target = ss.getSheetByName('Data Entry');
var maxRow = target.getMaxRows();
var r = target.insertRowsAfter(maxRow, 10);
var formulas = [];
for (var i = 1; i < maxRow; i++) {
formulas.push(["=If(len(D" + (maxRow + i) + ":D),vlookup(D" + (maxRow + i) + ":D,'Configuration List'!A2:B,2,0),\"\")"]);
}
target.getRange(maxRow + 1, 5, 10, 1).setFormulas(formulas);
模式 2:
在此脚本中,它创建了一个公式。并使用 . 将其放入已创建行的 E 列setFormula()
。
var ss = SpreadsheetApp.getActive();
var target = ss.getSheetByName('Data Entry');
var maxRow = target.getMaxRows();
var r = target.insertRowsAfter(maxRow, 10);
var formula = "=If(len(D" + (maxRow + 1) + ":D),vlookup(D" + (maxRow + 1) + ":D,'Configuration List'!$A$2:B,2,0),\"\")";
target.getRange(maxRow + 1, 5, 10, 1).setFormula(formula);
笔记 :
- 请根据您的情况选择其中之一。
参考 :
如果我误解了你的问题,请告诉我。我想修改它。
推荐阅读
- python - 如何在python中合并不同维度的数组?
- azure - Azure B2C UI 自定义 - 身份提供程序标头和字段显示名称
- jenkins - 由于“誓言范围不足”,将 jenkins 部署到现有的 kubernetes 集群中失败
- amazon-web-services - 是否可以在 AppSync 解析器中引用 CloudFormation 资源名称?
- slack-api - 如何使用斜杠命令向频道显示交互式消息,除了唤起它的人?
- java - 注册用户后自动登录
- assembly - 带有面包板的汇编语言可编程微控制器
- node.js - 了解 Lambda 以调用 API
- c# - 检索启动进程的实际用户帐户
- c++ - 如何在if语句c ++中将字符串转换为更低