Javascript 自定义函数莫名其妙地停止了某些值的工作

Javascript 自定义函数莫名其妙地停止了某些值的工作,javascript,google-sheets,Javascript,Google Sheets,我定义了两个函数sPad和zPad,用于google电子表格中,分别附加+(作为url的空格)和前置零,直到生成的字符串达到指定长度。当我第一次定义这些函数时,它们似乎工作得很好,但后来我共享了电子表格,它现在任意拒绝加载结果。这是第二次发生这种情况。再次将电子表格私有化并不能解决此问题 function sPad(string, length) { string = string.toString(); if (string.length >= length) { r

我定义了两个函数sPad和zPad,用于google电子表格中,分别附加+(作为url的空格)和前置零,直到生成的字符串达到指定长度。当我第一次定义这些函数时,它们似乎工作得很好,但后来我共享了电子表格,它现在任意拒绝加载结果。这是第二次发生这种情况。再次将电子表格私有化并不能解决此问题

function sPad(string, length) {
  string = string.toString();
  if (string.length >= length) {
      return string;
  } else {
      return string + Array(length - string.length + 1).join("+");
  }
};

function zPad(number, length) {
  number = number.toString();
  if (number.length >= length) {
      return number;
  } else {
      return Array(length - number.length + 1).join("0") + number;
  }
};


编辑:结果是否实际加载似乎发生在掷硬币上。

我假设您不时会遇到不确定的“加载…”错误。这似乎主要是在将开放范围作为参数传递时观察到的,但在您的示例中,您传递的是两个单一值

就这个问题,;您可能希望将其作为一种(某种)投票的方式,并收到更新通知


对公式或传递给公式的基础数据进行编辑似乎可以解决问题。另一个解决方法是不使用自定义函数,而是使用本机函数(在您的特定示例中可能会用到)或使用Google Apps脚本中的get和set(可能在onEdit触发器上运行)进行处理。显然,不必求助于这些变通方法是理想的。

谢谢你的提示!我希望我错过了一些东西,因为这是我第一次创建自定义函数。