ExcelHome技术论坛

 找回密码
 免费注册

QQ登录

只需一步,快速开始

快捷登录

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

[讨论] 有志于用活循环迭代公式的不要错过

[复制链接]

TA的精华主题

TA的得分主题

发表于 2009-9-6 15:43 | 显示全部楼层 |阅读模式
[广告] VBA代码宝 - VBA编程加强工具 · VBA代码随查随用  · 内置多项VBA编程加强工具       ★ 免费下载 ★      ★使用手册
尝试利用循环运算实现动态二进制的一个实例。
附件图里的效果是利用循环迭代生成的,设置迭代次数为1,大家尝试实现一下,并期盼分享一些你认为需要注意的地方或心得...

设置迭代后,按F9公式就会重新计算。下图的动态变化是按F9实现的。

图的效果是一个二进制数数,上面是低位,下面是高位,主要用来体会单元格之间迭代传递的关系。
================================================================================
迭代,或者说循环运算,弥补了常规函数公式应用时的一些缺陷,比如要从单元格中剔除具体的字符,而字符个数又是不确定的。
此外,可以直接通过编写公式构造一些小型的智能策略(规划求解);再则可以和RAND随机函数一起做一些仿真。
个人感觉他能给函数公式带来循环结构,智能判断...
================================================================================
同样,本帖的意图不是考大家,而是希望通过一起讨论,把 迭代循环 中一些需要的注意的地方给 扣 出来...

鉴于上次“有志于成为数组公式高手的不要错过”的形式比较成功,所以就沿用了...知道对和错是一码事,自己有深刻体会就更进一步了。

上传一个屏幕录制小软件,用于录制动态图,方便交流

[ 本帖最后由 胡剑0227 于 2009-10-13 14:14 编辑 ]
循环运算实现二进制数实例.gif

dtOb9yrx.rar

349.94 KB, 下载次数: 3927

TA的精华主题

TA的得分主题

发表于 2009-9-6 15:48 | 显示全部楼层
没看明白示例中的动画,呵呵。 太快了些。

TA的精华主题

TA的得分主题

 楼主| 发表于 2009-9-6 15:50 | 显示全部楼层
[广告] VBA代码宝 - VBA编程加强工具 · VBA代码随查随用  · 内置多项VBA编程加强工具       ★ 免费下载 ★      ★使用手册
2003版本应该是工具-选项-重新计算;
2007版本应该是Office按钮-选项-公式:

[ 本帖最后由 胡剑0227 于 2009-9-6 15:57 编辑 ]
选项.png
选项2007.png

TA的精华主题

TA的得分主题

 楼主| 发表于 2009-9-6 15:52 | 显示全部楼层
原帖由 gouweicao78 于 2009-9-6 15:48 发表
没看明白示例中的动画,呵呵。 太快了些。



呵呵,就是二进制数数啦,上面是低位,下面是高位...

TA的精华主题

TA的得分主题

 楼主| 发表于 2009-9-6 16:15 | 显示全部楼层
作业1:可以先尝试一下单 单元格 的数数,应该可以有所启发。关键是要听到她的心跳...

[ 本帖最后由 胡剑0227 于 2009-9-7 11:28 编辑 ]
单单元格循环.gif

循环精灵.rar

8.5 KB, 下载次数: 240

TA的精华主题

TA的得分主题

 楼主| 发表于 2009-9-10 17:02 | 显示全部楼层
哈哈,看来可能是自己势造的不够,呵呵。有空先贴一些应用,尽量动态的(当然也只有动态能表达循环)。

我就先开始自话自说吧,呵呵。

TA的精华主题

TA的得分主题

发表于 2009-9-10 21:24 | 显示全部楼层

TA的精华主题

TA的得分主题

 楼主| 发表于 2009-9-11 15:06 | 显示全部楼层
一个简单的应用仿真,或者说情景再现:
目的,求PI
验证一个数学理论:在一个平面上画一些平行线,间隔距离都是D,一根长度为d的针被扔到画好线的平面上,如果针刚好压在线上,那么就认为投掷有效。当针长d=D时,有效投掷概率为2/pi()

[ 本帖最后由 胡剑0227 于 2009-9-11 15:32 编辑 ]
推算PI.gif

TA的精华主题

TA的得分主题

 楼主| 发表于 2009-9-11 15:17 | 显示全部楼层
嗨...思路乱的要死

解析循环迭代一:
1、要建立脉冲时钟的概念,这里脉冲对应于是上面选项中设置的计算次数,Excel每执行一次计算,就理解成每个单元格得到一个执行计算的脉冲。
脉冲的概念是为了建立一个时间点,脉冲前(此次计算前),脉冲后(此次计算结束)
2、循环迭代:公式出现了对自身单元格的引用,意味着在执行计算时(即单元格得到计算脉冲时)他能够记忆脉冲前自身单元格的值,并将这个值当做当前值进行计算,最后公式返回的结果作为本计算脉冲后的本单元格值;当下一个脉冲进行时,该值又被当成记忆值来计算...如此往复....


[ 本帖最后由 胡剑0227 于 2009-9-11 15:21 编辑 ]

TA的精华主题

TA的得分主题

 楼主| 发表于 2009-9-11 15:31 | 显示全部楼层
5楼作业1
A1公式:
=IF(A1=9,0,A1+1)
设置迭代次数为1,为了方便查看运算过程,在编写循环公式中非常重要,用来检验公式是否按照自己的意图进行运算....

编辑完公式,按<Enter>键,公式值返回1。
解析:
得到计算脉冲时,A1的记忆值是空白单元格,数值运算时就是 0,于是A1=9不成立,返回A1+1=0+1=1。
按F9,此时记忆值为1,依然执行A1+1=1+1=2....
当记忆值为9时,A1=9,成立,返回0...
于是循环 0-9 数字。

本公式功能简单,就是循环特定的数字,简单修改后可以灵活设定特定的循环数字,但需要掌握的不是这个具体应用,而是要建立 记忆值计算脉冲 的概念,学会分析...

[ 本帖最后由 胡剑0227 于 2009-9-11 15:33 编辑 ]
您需要登录后才可以回帖 登录 | 免费注册

本版积分规则

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

GMT+8, 2024-12-28 04:00 , Processed in 0.039271 second(s), 11 queries , Gzip On, MemCache On.

Powered by Discuz! X3.4

© 1999-2023 Wooffice Inc.

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

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

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