Google apps script 如何防止随机化公式在工作表中的每次更改时随机化?
我有一个可爱的公式:Google apps script 如何防止随机化公式在工作表中的每次更改时随机化?,google-apps-script,random,google-sheets,google-sheets-macros,Google Apps Script,Random,Google Sheets,Google Sheets Macros,我有一个可爱的公式: =sort(A1:A416,arrayFormula(randbetween(sign(row(A1:A416)),C1)),true) 我原以为我可以在更改C1中的值时更改随机化事件,但现在我看到,当我使用其他值更新工作表时,随机化事件会不断更改 我怎样才能避免这种情况发生 我只希望在更改C1中的种子时发生随机化尝试在脚本中使用此编辑触发器: function onEdit(e) { if(e.range.getA1Notation() == 'C1') {
=sort(A1:A416,arrayFormula(randbetween(sign(row(A1:A416)),C1)),true)
我原以为我可以在更改C1
中的值时更改随机化事件,但现在我看到,当我使用其他值更新工作表时,随机化事件会不断更改
我怎样才能避免这种情况发生
我只希望在更改
C1
中的种子时发生随机化尝试在脚本中使用此编辑触发器:
function onEdit(e) {
if(e.range.getA1Notation() == 'C1') {
var sheet = e.source.getActiveSheet();
var firstRow = 1;
var lastRow = 416;
var col = 1;
var seedValue = Number(e.range.getValue());
if(seedValue > 1) {
for(var row = firstRow; row < lastRow; row++) {
var cellValue = Math.ceil(Math.random() * seedValue);
var cell = sheet.getRange(row, col);
cell.setValue(cellValue);
}
}
var range = sheet.getRange(firstRow, col, lastRow, 1)
range.sort(1);
}
}
函数onEdit(e){
如果(e.range.getA1Notation()=='C1'){
var sheet=e.source.getActiveSheet();
var firstRow=1;
var lastRow=416;
var-col=1;
var seedValue=Number(e.range.getValue());
如果(种子值>1){
对于(变量行=第一行;行<最后一行;行++){
var cellValue=Math.ceil(Math.random()*seedValue);
var单元格=sheet.getRange(行、列);
cell.setValue(cellValue);
}
}
var range=sheet.getRange(第一行,列,最后一行,1)
排序范围(1);
}
}
我希望这就是您希望通过公式实现的目标。尝试在脚本中使用此编辑触发器:
function onEdit(e) {
if(e.range.getA1Notation() == 'C1') {
var sheet = e.source.getActiveSheet();
var firstRow = 1;
var lastRow = 416;
var col = 1;
var seedValue = Number(e.range.getValue());
if(seedValue > 1) {
for(var row = firstRow; row < lastRow; row++) {
var cellValue = Math.ceil(Math.random() * seedValue);
var cell = sheet.getRange(row, col);
cell.setValue(cellValue);
}
}
var range = sheet.getRange(firstRow, col, lastRow, 1)
range.sort(1);
}
}
函数onEdit(e){
如果(e.range.getA1Notation()=='C1'){
var sheet=e.source.getActiveSheet();
var firstRow=1;
var lastRow=416;
var-col=1;
var seedValue=Number(e.range.getValue());
如果(种子值>1){
对于(变量行=第一行;行<最后一行;行++){
var cellValue=Math.ceil(Math.random()*seedValue);
var单元格=sheet.getRange(行、列);
cell.setValue(cellValue);
}
}
var range=sheet.getRange(第一行,列,最后一行,1)
排序范围(1);
}
}
我希望这就是您希望通过公式实现的目标。您需要将此公式用于公式吗?也许您可以在应用程序脚本中使用onEdit()触发器?您的问题只能通过脚本或宏来解决您需要将其与公式一起使用吗?也许您可以在应用程序脚本中使用onEdit()触发器?您的问题只能通过脚本或宏来解决