如何解决OpenOffice RAND() 函数 - 停止重新计算,直到被告知
我有两个生成随机整数的字段,作为加法的操作数。他们使用这个公式:
=INT(RAND()*(D2-B2)+B2)
其中 B2 和 D2 是操作数范围的最小值和最大值。
我还有一个空白字段,孩子将在其中输入他的答案。另一个字段显示 OK 或 NO,具体取决于该答案是否等于两个操作数的总和:
=IF(C6=B4+D4;"OK";"NO")
其中 B4 和 D4 是操作数,C6 是孩子的答案。整个设置当然可以修改为教减法、乘法或除法。
问题是,在输入答案时,OpenOffice Calc 会重新计算整个工作表并重新生成两个随机操作数,因此答案几乎总是错误的 - 因为显然它通常不等于新值的总和。
如何将输入答案的反应与随机操作数的再生分离?
理想情况下,我希望操作数仅在按下某种按钮时重新生成,而不在输入答案时重新生成。
解决方法
我发现函数 RANDBETWEEN 可以满足我的要求。
因为它是一个“加载项函数”,不管它实际上意味着什么,它不会在每次重新计算电子表格时生成一个新的随机数;它仅在按下 Shift+Ctrl+F9 时起作用。 F9 本身不会触发它,尽管它确实会使其他函数重新计算。
顾名思义,它也不需要我的公式来拟合给定最小值和最大值之间的随机数
所以现在代替
=INT(RAND()*(D2-B2)+B2)
我刚写的
=INT(RANDBETWEEN(D2;B2))
并且工作已经完成,至少在 RANDBETWEEN 作为普通(而不是加载项)函数合并到 Calc 之前,这可能会在将来的某个时候发生。在这种情况下,RAND.NV 可能会起作用。
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。