所以,我看了 177 部电影,我把所有的标题都放到 A 列,并想出了如何随机化来显示标题,但我想有一个列,也用于显示正在观看的电影,如果已经看过,就跳过已看过的电影,直到看完所有电影。到目前为止,我的代码是这样的:
=INDIRECT("B"&RANDBETWEEN(1;COUNTA(B21:B178)))
答案1
我的建议是添加一个带有随机数的列。然后根据随机数对所有内容进行排序。按给定的顺序观看电影。看完所有电影后,重新生成并重新排序列表。
239 Movie A
475 Movie B
683 Movie C
241 Movie D
748 Movie E
排序后,(在 Excel 中 - 我假设 OOCalc 也会这样做)随机数会重新生成:
145 Movie A
978 Movie D
783 Movie B
322 Movie C
773 Movie E
当您关闭并重新打开文件时,随机数也会重新生成(再次,至少在 Excel 中),因此,在您完全浏览完列表之前,请不要再次排序。
如果您真的想更详细,例如,如果您还想确保在 30 天内不会两次观看同一部电影(即避免某一类的最后一部电影成为下一类的第一部电影的随机可能性),您可以使用一列作为您上次观看该电影的时间戳,然后简单地添加 30 加上一些随机数,然后排序。您甚至可以添加第二个随机数列,以确保在偶尔为多部电影生成相同随机数的情况下具有更高的随机性。
变化和可能性实际上是无穷无尽的。