【问题标题】:Sheets multiple random numbers in range在范围内绘制多个随机数
【发布时间】:2021-10-06 20:33:25
【问题描述】:

我正在制作一个相当简单的电子表格来组织各种锦标赛,并想找到一种使用表格随机化一些变量的方法。

这个想法是可以选择 25 张可能的地图,但用户将确定将播放多少张地图(在工作表内),例如 5。理想情况下,我会有一个单元格来接受数字要播放的地图数量(在本例中为 5),然后将从地图 1 到地图 25 的范围内依次打印 5 张随机地图。

例如-

D24 = 5 (Number of maps)

D26 = 3,16,21,13,6

还有没有办法让它不会出现重复?

我尝试过这样的事情:=TRUNC(RAND() * (25-1)+1) 但是找不到让它循环的方法。

【问题讨论】:

  • 您是否愿意使用 Apps 脚本 custom functions
  • 当然,非常高兴!

标签: google-sheets random google-sheets-formula


【解决方案1】:

试试:

=JOIN(", ", ARRAY_CONSTRAIN(SORT({A2:A26, RANDARRAY(COUNTA(A2:A26), 1)}, 2, 1), D2, 1))

【讨论】:

  • 成功了,非常感谢!有什么办法可以让它只在地图单元格的数量更新时随机化,而不是在工作表上的任何内容发生变化时随机化?
  • @ChristopherGeorgiou 使用任务脚本或使用未记录的函数WHATTHEFOXSAY() - see here
  • 当按下“按钮”时,我最终使用了一个脚本并将值复制到一个单独的单元格中!我确实有另一个小问题,你也许可以帮助我。我有每个球员的总分,并且想要一种方法为获得最高分的球队额外增加 20 分? (屏幕截图应该希望能更清楚地说明这一点)。尝试使用 large 来识别它是谁,但我得到一个#ERROR!公式解析错误消息gyazo.com/1403e2e34fe1446870dc80a406e02965
  • @ChristopherGeorgiou 如果您想出一个脚本解决方案来避免进一步的随机化,您会考虑将其发布为答案吗?
  • @Iamblichus 抱歉回复晚了!所以我使用了 Kishkin 建议的方法,但是结果显示在一个隐藏的单元格中。然后,我添加了一个附加到按钮的 Apps 脚本,以复制值并将它们粘贴到不同的单元格中,以便仅在按下按钮后更新 - function mapSelection() { var maps = SpreadsheetApp.getActiveSheet().getRange(28,3).getValues(); Logger.log(maps); var cell = SpreadsheetApp.getActiveSheet().getRange(30,3); cell.setValue(maps); }
猜你喜欢
  • 2023-02-06
  • 2018-04-08
  • 1970-01-01
  • 2011-12-16
  • 2019-08-31
  • 2011-03-01
  • 1970-01-01
相关资源
最近更新 更多