我已经在Google脚本中完成了一个自定义功能,奇怪的是,每次我运行另一个Google脚本时,此功能似乎都可以再次运行...
我不明白这是一个函数。一旦键入它,结果应该是静态的,但是会改变...
例如,当您使用sum
之类的非自定义函数时,它会显示为数字,并且除非您决定更改参数,否则它不会改变...
更多信息,我没有使用任何onEdit()
代码。
例如,当我第一次在单元格中首次编写该自定义函数时,该如何运行一次?
我的代码是这个:
'/**
*
*
* @customfunction
*/
function CreateID(row) {
var ss = SpreadsheetApp.getActiveSpreadsheet().getSheetByName("Relationships");
var BI = BatchID(row);
var data1 = ss.getRange('B:B').getValues();
var data2 = ss.getRange('G:G').getValues();
var Max = getMaxInColumn();
var RoleName = SearchRoleName(row);
var count = 0;
for(var i = 0;i<row;i++){
if(data1[i] == RoleName){
if(data2[i] == Max){
count = count +1;
} // close 1.1.1 IF
} // close 1.1 IF
}
Logger.log(count);
if(count<BI){
return Max;
}else if(count>=BI){
return Max+1;
count = 0;
Max=getMaxInColumn();
}
}'
一个例子可能是这样的: 香蕉有4个批次,橙有3个批次 所以我有两列
Column 1 FRUIT Column 2 ID Banana 1 Banana 1 Banana 1 Banana 1 Orange 2 Orange 2 Orange 2 Banana 3 Orange 4 Banana 3
但是当我运行另一个函数时,即使在同一电子表格中的另一个项目中,这些数字也不能保持其值,导致我发现它可以再次运行...
非常感谢!
答案 0 :(得分:2)
所有自定义函数都在全局范围内,因此,每次调用另一个函数时都会加载它们。将单独的项目用于自定义功能。
文件>新建>项目