微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

OpenOffice RAND() 函数 - 停止重新计算,直到被告知

如何解决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 举报,一经查实,本站将立刻删除。

相关推荐


Selenium Web驱动程序和Java。元素在(x,y)点处不可单击。其他元素将获得点击?
Python-如何使用点“。” 访问字典成员?
Java 字符串是不可变的。到底是什么意思?
Java中的“ final”关键字如何工作?(我仍然可以修改对象。)
“loop:”在Java代码中。这是什么,为什么要编译?
java.lang.ClassNotFoundException:sun.jdbc.odbc.JdbcOdbcDriver发生异常。为什么?
这是用Java进行XML解析的最佳库。
Java的PriorityQueue的内置迭代器不会以任何特定顺序遍历数据结构。为什么?
如何在Java中聆听按键时移动图像。
Java“Program to an interface”。这是什么意思?