Я сделал пользовательскую функцию в скрипте 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();
}
}'
И пример может быть таким: у Banana есть партия 4, а у Orange партия 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
Но когда я запускаю другую функцию, даже если в другом проекте в той же электронной таблице эти числа не сохраняют ее значения, я понимаю, что она запускается снова ...
Спасиботак много!