我需要在我的电子表格中添加一列,每十帧以随机间隔生成两个“假”。
例如,第 1 行到第 10 行可以是:
- 正确
- 正确
- 正确
- 错误
- 正确
- 错误
- 正确
- 正确
- 正确
- 正确
然后对第 11 行到第 20 行重复该操作,但假的随机放在不同的位置。等。我想写一个公式来为我做这件事。
最佳答案
使用 Office 365:
在您想要创建列表的第一个单元格中放置:
=LET(rws,1000,arr,RANDARRAY(10,rws/10),seq,SEQUENCE(rws,,0),INDEX(MAKEARRAY(10,rws/10,LAMBDA(i,j,INDEX(BYCOL(arr,LAMBDA(v,MATCH(SMALL(v,i),v,0))),1,j)<9)),MOD(seq,10)+1,INT(seq/10)+1))
更改 1000
到所需的行数。
如果没有 Office 365,则将其放在列的第二行并将其复制下来。
=IF(COUNTIF(INDEX(A:A,MIN(ROW($ZZ1)-MOD(ROW($ZZ1)-1,10)+1,ROW()-1)):INDEX(A:A,ROW()-1),FALSE)>=2,TRUE,IF(COUNTIF(INDEX(A:A,MIN(ROW($ZZ1)-MOD(ROW($ZZ1)-1,10)+1,ROW()-1)):INDEX(A:A,ROW()-1),TRUE)>=8,FALSE,RANDBETWEEN(0,9)<8))
注意:
每个单元格都是随机选择的,因此 FALSE 出现在最后 10 个单元格中的频率高于真正随机选择的单元格。可以玩 RANDBETWEEN(0,9)<8
或许可以让它更随机。
关于excel - 在excel中每十行生成两个假 bool 值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/72663345/