ExcelHome技术论坛

 找回密码
 免费注册

QQ登录

只需一步,快速开始

快捷登录

搜索
EH技术汇-专业的职场技能充电站 妙哉!函数段子手趣味讲函数 Excel服务器-会Excel,做管理系统 效率神器,一键搞定繁琐工作
HR薪酬管理数字化实战 Excel 2021函数公式学习大典 Excel数据透视表实战秘技 打造核心竞争力的职场宝典
让更多数据处理,一键完成 数据工作者的案头书 免费直播课集锦 ExcelHome出品 - VBA代码宝免费下载
用ChatGPT与VBA一键搞定Excel WPS表格从入门到精通 Excel VBA经典代码实践指南
楼主: 丢丢表格

[Excel 函数与公式] [开_151]随机小学生加法计算式

[复制链接]

TA的精华主题

TA的得分主题

发表于 2017-6-19 09:32 | 显示全部楼层
=TEXT(SUM((RANDBETWEEN(10,89)*{100,-1}+{0,89})*RAND()^{0,1}+{0,10}),"00+00=")

评分

2

查看全部评分

TA的精华主题

TA的得分主题

 楼主| 发表于 2017-6-21 09:37 | 显示全部楼层
老师们 的积极参与 ,增加解题的思路,其中确有很独特的解法,学习了。
如有误评的, 请私我 纠正。
无标题.gif

加法计算式(开).zip

14.39 KB, 下载次数: 47

评分

2

查看全部评分

TA的精华主题

TA的得分主题

发表于 2017-6-22 08:40 | 显示全部楼层
开贴,评分见32楼,如有意见请尽快反馈,我稍后加分。

评分

2

查看全部评分

TA的精华主题

TA的得分主题

发表于 2017-6-22 15:39 | 显示全部楼层
[广告] VBA代码宝 - VBA编程加强工具 · VBA代码随查随用  · 内置多项VBA编程加强工具       ★ 免费下载 ★      ★使用手册
丢丢表格 发表于 2017-6-21 09:37
老师们 的积极参与 ,增加解题的思路,其中确有很独特的解法,学习了。
如有误评的, 请私我 纠正。

原来只有我一个人字数超!真丢人!!。。。。

评分

1

查看全部评分

TA的精华主题

TA的得分主题

发表于 2017-6-26 15:26 | 显示全部楼层
=MOD(SECOND(NOW())*ROW(),80)+10&"+"&RANDBETWEEN(0,79-MOD(SECOND(NOW())*ROW(),80))+10&"="我的公式不对吗?为什么你上面显示正确的好几个结果不对?楼主也把自己的结果写上大家瞧瞧吧。

TA的精华主题

TA的得分主题

发表于 2017-6-26 15:27 | 显示全部楼层
=MOD(SECOND(NOW())*ROW(),80)+10&"+"&RANDBETWEEN(0,79-MOD(SECOND(NOW())*ROW(),80))+10&"="我的公式不对吗?为什么你上面显示正确的好几个结果不对?楼主也把自己的结果写上大家瞧瞧吧。

评分

1

查看全部评分

TA的精华主题

TA的得分主题

 楼主| 发表于 2017-6-26 16:42 | 显示全部楼层
[广告] VBA代码宝 - VBA编程加强工具 · VBA代码随查随用  · 内置多项VBA编程加强工具       ★ 免费下载 ★      ★使用手册
parobird 发表于 2017-6-26 15:27
=MOD(SECOND(NOW())*ROW(),80)+10&"+"&RANDBETWEEN(0,79-MOD(SECOND(NOW())*ROW(),80))+10&"="我的公式不对 ...

因为 NOW()*ROW() 不是随机函数, 它是时间函数。所以不能判为正确,

TA的精华主题

TA的得分主题

发表于 2017-7-21 14:57 | 显示全部楼层
本帖最后由 LOVE-CLOUD 于 2017-7-22 16:21 编辑


TEXT(SUM((FREQUENCY(ROW(1:81),RANDBETWEEN({2;2},80)))*{100;0;1})+909,"0+00")

TA的精华主题

TA的得分主题

发表于 2017-8-7 16:17 | 显示全部楼层
我针对答案=TEXT(SUM(INT(RAND()*ABS(RAND()-{1,0})*80+10)*{100,1}),"0+00=")就提一个问题

其中的提取下SUM(INT(RAND()*ABS(RAND()-{1,0})*80+10)),表示两个加数的和
RAND由于易失性,两个不是同一个值,我们初步设为y*ABS(x-{1,0})*80 我们知道rand是大于等于0,小于1。
则原式可写为 = y*((1-x)+(x-0))*80+10=y*80+10 其结果理论上应该是大于等于10小于90


可实际测试发现 其有大于90的情况
也即是

rand-{1,0}处理过程中又出现了易失性,我们知道{1,0}是内存数组,是直接放在栈里的,也就是在RAND在和堆栈内数据进行交互的时候,如果是需要指针移动的,那么RAND也会易失
变为
= y*((1-x)+(z-0))*80+10
=(y-xy+zy)*80+10
这样的话就会造成一个函数式中出现3个易失变量
在x,y,z都∈[0,1)的情况下,显然最大值是x=0,z无限接近于1,y无限接近于1
其结果就是整体无限接近于2
那么2*80+10>>170

显然这个值多次运算并未出现,那么从数学角度来解释,为什么?能保证在100以内

TA的精华主题

TA的得分主题

发表于 2017-8-10 15:15 | 显示全部楼层
本帖最后由 qigengzier 于 2017-8-10 15:24 编辑
qigengzier 发表于 2017-8-7 16:17
我针对答案=TEXT(SUM(INT(RAND()*ABS(RAND()-{1,0})*80+10)*{100,1}),"0+00=")就提一个问题

其中的提取 ...

我知道了

= y*{(1-x)+(x-0)}*80+10
并不等于y*80+10
而是等于y*80+{10,10}
这样就是产生的数据在100以内了

而在栈中,rand不会再次易失

评分

1

查看全部评分

您需要登录后才可以回帖 登录 | 免费注册

本版积分规则

手机版|关于我们|联系我们|ExcelHome

GMT+8, 2024-12-23 09:31 , Processed in 0.037522 second(s), 8 queries , Gzip On, MemCache On.

Powered by Discuz! X3.4

© 1999-2023 Wooffice Inc.

沪公网安备 31011702000001号 沪ICP备11019229号-2

本论坛言论纯属发表者个人意见,任何违反国家相关法律的言论,本站将协助国家相关部门追究发言者责任!     本站特聘法律顾问:李志群律师

快速回复 返回顶部 返回列表