我已经定义了两个函数,sPad和zPad,用于谷歌电子表格,分别附加+(作为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;
}
};
https://docs.google.com/spreadsheets/d/1DQPBCOdIaU7tZz6ukb2upxqmJU9P8ag6jFU50oNftpU/edit?usp=sharing
编辑:结果是否实际加载似乎是在硬币翻转上发生的。
答案 0 :(得分:1)
我假设您不时会收到无限期的“正在加载...”错误。似乎主要是在开放式范围作为参数传递时观察到,但在您的情况下,您传递的是两个单值。
This is the best thread that I can find这个问题;你可能想把它作为一种(某种)投票方式,并且还会得到更新的通知。
对公式或传递给它的基础数据进行编辑似乎通常可以解决问题。另一种解决方法是不使用自定义函数,使用本机函数(可以使用您的特定示例)或使用Google Apps脚本中的获取和集合进行处理,也可以使用onEdit触发器运行。显然,不必采用这些解决方法是理想的。