If statement 谷歌表单:如何触发随机函数?

If statement 谷歌表单:如何触发随机函数?,if-statement,google-sheets,random,checkbox,google-sheets-formula,If Statement,Google Sheets,Random,Checkbox,Google Sheets Formula,我在谷歌上有一个工作表,一直在寻找一个解决方案,如何使随机化脚本只在需要时工作,而不是每次我打开工作表或刷新它 下面是一个例子。让我们看一下这张表,它是这样的: B5电池具有以下代码: =index(B1:B3; randbetween(1;3); 1) 每次刷新或加载文档时,它都会随机告诉我头发的颜色 但是,如果我每周只想要一次新的头发颜色,但需要不时打开文档,该怎么办 我试图给代码加上一个标志 并更改了B5的代码: =if(B7=true; index(B1:B3; randbetwe

我在谷歌上有一个工作表,一直在寻找一个解决方案,如何使随机化脚本只在需要时工作,而不是每次我打开工作表或刷新它

下面是一个例子。让我们看一下这张表,它是这样的:

B5电池具有以下代码:

=index(B1:B3; randbetween(1;3); 1)
每次刷新或加载文档时,它都会随机告诉我头发的颜色

但是,如果我每周只想要一次新的头发颜色,但需要不时打开文档,该怎么办

我试图给代码加上一个标志

并更改了B5的代码:

=if(B7=true; index(B1:B3; randbetween(1;3); 1); )
因此,只有在选中标志时,它才会启动randbetween函数

但是!取消选中该标志时,头发颜色显示为空(右,因为它在
IF
函数中有一个空格)。如何保持头发颜色与以前相同,并且仅在检查标志时才进行更改


.

也许您只需制作一个按钮,用于运行每周单击一次的功能

function onOpen() {
    var ui = SpreadsheetApp.getUi();

    ui.createMenu('The name of menu')
        .addItem('Button name', 'functionName').addToUi(); 
}

在您的B5中使用:

=ARRAYFORMULA(IFNA(VLOOKUP(
 IFNA(REGEXEXTRACT(TEXT(PI()^3*PRODUCT(LEN(IF(B7=TRUE; 
 {WHATTHEFOXSAY(); WHATTHEFOXSAY(); WHATTHEFOXSAY();
  WHATTHEFOXSAY(); WHATTHEFOXSAY(); WHATTHEFOXSAY();
  WHATTHEFOXSAY(); WHATTHEFOXSAY(); WHATTHEFOXSAY()}; 
 {WHATTHEFOXSAY(); WHATTHEFOXSAY(); WHATTHEFOXSAY();
  WHATTHEFOXSAY(); WHATTHEFOXSAY(); WHATTHEFOXSAY();
  WHATTHEFOXSAY(); WHATTHEFOXSAY(); WHATTHEFOXSAY()})))*
 (TRANSPOSE(SEQUENCE(1; 1; 29; 73)))*PI()^3; "0"); 
 JOIN("|"; SORT({3;2;1}; 1; IFERROR(0/C2)))); 2); 
 {ROW(B1:B3)&""\ B1:B3}; 2; 0)))
对于每周重新计算,请在C1中使用:

=IF(IFERROR(WEEKDAY(TODAY(); 2); 0)=1; {"";1}; {"";0})
因此,每次勾选/取消勾选复选框以及每周一,B5的值都会发生变化


更多关于
WHATTHEFOXSAY
函数的信息