Google Sheet 脚本递增 未按预期方式工作,但正在连接

Google Sheet Script Incrementing Not working the way its expected but its concatinating

Google Sheet 脚本应该将列 1 的值递增 1,但它是连接 1。我不擅长 google 脚本。你能帮我看看我做错了什么吗。

function onFormSubmit(e) {
  var columnNumber = 1; // first col is 0
  var initialId = 18;   
  var sp = PropertiesService.getScriptProperties();
  var id = sp.getProperty("req_id") || initialId ;
  id = id.split(".")[0] ;
  e.range.offset(0, columnNumber, 1, 1).setValue(id);
  sp.setProperty("req_id", id + 1);
}

sheet

中的输出看起来像这样
1811
18111
181111
18111111
  • 您想要将值放入单元格并且您想要在每个 运行.
  • 添加 1
  • 你想在这种情况下使用 PropertiesService。

如果我的理解是正确的,这个答案怎么样?请将此视为几个可能的答案之一。

修改点:

  • 我认为你的问题的原因是 getProperty() 检索到的值是字符串类型。在这种情况下,即使用 setProperty() 放入数字,当用 getProperty() 检索值时,检索到的值也是字符串类型。
  • 当号码用于split()时,会出现错误。因为 split() 用于字符串。

修改后的脚本:

当你的脚本修改后,变成如下。

function onFormSubmit(e) {
  var columnNumber = 1; // first col is 0
  var initialId = 18;
  var sp = PropertiesService.getScriptProperties();
  var id = Number(sp.getProperty("req_id")) || initialId; // Modified
  e.range.offset(0, columnNumber, 1, 1).setValue(id);
  sp.setProperty("req_id", id + 1);
}

参考文献:

如果我误解了你的问题,这不是你想要的结果,我深表歉意。