Javascript Google脚本/工作表在数据输入单元格后为其添加前缀
目标Javascript Google脚本/工作表在数据输入单元格后为其添加前缀,javascript,google-apps-script,google-sheets,Javascript,Google Apps Script,Google Sheets,目标 将前缀CSC1[前导零]添加到数字,如1291或12922或129223,这应适用于整列(F列) 使用零填充确保字符串总长度为=15,因此单元格值应为csc10000001291 用户只需输入1291,但我计划让脚本覆盖它,使单元格值csc10000001291 可以使用公式完成,但跨越两列,但更愿意使用一列,因为它看起来更整洁 e、 g[用户输入]=[最终单元格值] - 1291 = CSC100000001291 - 12922 = CSC100000012922 当前正在尝试解
csc10000001291
- 1291 = CSC100000001291
- 12922 = CSC100000012922
当前正在尝试解决此问题,请使用以下方法:
- 用于检查某人何时更新了单元格的
- 添加前导零的步骤
- 带有“CSC1”的前4个零(因为如果传递的是字符串而不是正则表达式,则只会替换第一个匹配项)
- 更新编辑的单元格的步骤
我可以确认这正是需要的,只需将第2行调整到我的相关列。我的理解是,您将单元格设置为15x零,然后将前4位数字替换为CSC1,但用户输入从何而来?@unstacked55我不确定我是否理解您为什么这样问。从问题标题“输入单元格后”,用户输入来自编辑单元格的用户。请帮我理解我在这里误解了什么。嗨,迭戈,是的,我正在试着进一步理解代码。代码的哪一部分引用了用户输入?@unstacked55用户输入是
e.value
。请看文档,其中描述了传递到onEdit(e)
的e
。
function onEdit(e) {
if (e.range.columnStart == 1) { // Column A
const padded = e.value.padStart(15, 0);
e.range.setValue(padded.replace('0000', 'CSC1'));
}
}