Google表格:如何触发随机函数?

时间:2019-01-14 11:31:38

标签: google-sheets google-sheets-formula

我在Google上有一个工作表,并且一直在寻找一种解决方案,以使随机脚本仅在需要时起作用,而不是每次打开或刷新工作表时都起作用。

这里是例子。让我们看一下这样的工作表:

Sheet

B5单元具有以下代码:

=index(B1:B3; randbetween(1;3); 1)

每次刷新或加载文档时,它会随机告诉我头发的颜色。

但是,如果我只希望每周一次新发色,但又需要不时打开文档怎么办?

我试图在代码上加一个标志。

Sheet

并更改了B5的代码:

=if(B7=true; index(B1:B3; randbetween(1;3); 1); )

因此,仅当选中该标志时,它才会启动randbetween函数。

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

Here's the spreadsheet

2 个答案:

答案 0 :(得分:1)

enter image description here

在您的 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 函数 here


答案 1 :(得分:0)

也许您只需要单击一个按钮即可运行每周要单击一次的功能?

newIndex