问题1:
下面是代码片段,它从函数参数中的单元格中获取值并对其进行处理。
function functionName(Parameter1,Parameter2,ParameterOutput)
{
Parameter1.substr(0, 4);
Parameter2.toString();
...........
...........
Return ParameterOutput;
}
Parameter1的数字是544578613
我只想保留前4位数字,但是内置的函数都不起作用。
.toString()
.substr(0, 4)
.substring(0, 4)
或者其他的,他们都不起作用。它的输出仍然是544578613。
TypeError:无法读取未定义的属性“substr”
通过在函数中添加折叠来解决
var = SpreadsheetApp;
var activeSheet = app.getActiveSpreadsheet().getActiveSheet();
问题2:第二个问题是,我通过下面的函数在一行中检查重复项。它在第一张纸上工作得很好。但是我想为第二页修改它,请帮助我如何在第二页上实现它。
图像具有函数plz单击在这里输入图像描述
=======================================
问题3:
我有从列中获取数据的函数。运行第一个For循环,只保留前9个字符。运行第2循环从第1行中选择数据,运行第3次嵌套循环以查找重复项。问题是,列有1400行,所以第二循环运行1400次,第三个嵌套循环运行1400-减次数,每次外循环迭代。
这需要很长时间,而google返回执行超时错误。谷歌执行这一任务的速度非常慢。如何解决这一问题?
此函数在500行以下运行良好。
发布于 2020-04-29 07:43:54
我不明白为什么要使用substr()
而不是substring()
。您使用substr
的来源是什么?
我只是尝试了一个简单的例子,对于我来说,用正确的方法(substring
)获得第一个数字很好。
function test(){
var a = "2020notimportant";
var result = a.substring(0, 4);
Logger.log(result);
}
2020
尝试使用正确的方法,看看这是否有效。
当然,这可以与google单元一起使用,创建一个自定义函数,并且很少进行调整。
function TEST(input){
// var a = "2020notimportant";
Logger.log(input);
var a = input.toString(); // Convert to String before `substring`
var result = a.substring(0, 4);
Logger.log(result);
return result;
}
请注意,如果输入参数是非字符串的话,我在toString
之前使用过substring()
。在这里,您可以看到一个在某些单元格中工作的示例:
https://stackoverflow.com/questions/61490135
复制相似问题