献上循环引用一例(说明)_第1页
献上循环引用一例(说明)_第2页
献上循环引用一例(说明)_第3页
献上循环引用一例(说明)_第4页
献上循环引用一例(说明)_第5页
已阅读5页,还剩1页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

,以下是实现的大体思路和步骤:,,,,,,,,,,,,,,,,,,,,,,

,,前提工作:,,,,,,,,,,,,,,,,,,,,,

,,1),,在[工具(Tools)/选项(Options)/重新计算(Calculation)]中,确定[自动运算(Automatic)]被选中。,,,,,,,,,,,,,,,,,,,

,,2),,在[工具(Tools)/选项(Options)/重新计算(Calculation)]中,确定[反复操作(Iteration)]被选上。,,,,,,,,,,,,,,,,,,,

,,3),,在[最多迭代次数(MaximumIterations)]中输入1。,,,,,,,,,,,,,,,,,,,

,,,,,,,,,,,,,,,,,,,,,,,,

,,,,说明:其中第二项是Excel中启用循环引用的必要条件。第三项表示迭代循环一次。,,,,,,,,,,,,,,,,,,,

,,实现关键:,,,,,,,,,,,,,,,,,,,,,

,,,,先用一个实例了解一下核心技术:,,,,,,,,,,,,,,,,,,,

,,,,,,,,,,,,,,,,,,,,,,,,

,,,,原始单元格:,,,,,,,,,111,,,,,,,,(在这里输入数据),,

,,,,,,,,,,,,,,,,,,,,,,,,

,,,,清除记忆标识单元格:,,,,,,,,,0,,,,,,,,"这一项技术很重要!它有点像编程环境(IDE)中的""Run""和""Stop""。",,

,,,,,,,,,,,,,,,,,,,,,,,,

,,,,触发标志单元格:,,,,,,,,,1,,,,,,,,这一技术对于得到与计划目标一致的内容来说很重要。,,

,,,,,,,,,,,,,,,,,,,,,,,,

,,,,具有记忆功能的单元格:,,,,,,,,,0,,,,,,,,,,

,,,,临时单元格:,,,,,,,,,111,,,,,,,,,,

,,,,如果上面的内容还没有想明白其关系,可以再看看下面的方法:,,,,,,,,,,,,,,,,,,,

,,,,,,,,,,,,,,,,,,,,,,,,

,,,,原始单元格:,,,,,,,,,222,,,,,,,,,,

,,,,,,,,,,,,,,,,,,,,,,,,

,,,,清除记忆标识单元格:,,,,,,,,,0,,,,,,=1or0,,,,

,,,,,,,,,,,,,,,,,,,,,,,,

,,,,触发标志单元格:,,,,,,,,,2,,,,,,"=IF(N29=1,0,IF(N31<2,N31+1,N31))",,,,

,,,,,,,,,,,,,,,,,,,,,,,,

,,,,具有记忆功能的单元格:,,,,,,,,,111,,,,,,"=IF(N29=1,0,IF(AND(N31=2,N33=0),N27,N33))",,,,

,,,,这两项技术的关键差别在于:第二种方法的“清除记忆标识单元格”没有设置数据有效性(Validation)!,,,,,,,,,,,,,,,,,,,

,,,,不知道这算不算MicrosoftExcel中的一个Bug!,,,,,,,,,,,,,,,,,,,

,,,,"当通过用""数据有效性(Validation)""的“列表(List)”方法更改数据时,Excel会自动重算2次!",,,,,,,,,,,,,,,,,,,

,,,,"即使在“[工具(Tools)/选项(Options)/重新计算(Calculation)]”的""[最多迭代次数(MaximumIterations)]""中输入1,Excel也会重新运算2次!",,,,,,,,,,,,,,,,,,,

,,,,"换句话说,如果“[最多迭代次数(MaximumIterations)]""设置为n,那么Excel就会重新运算2*n次!",,,,,,,,,,,,,,,,,,,

,,,,这是在Excel2000下调试的结果,不知道ExcelXP中是否有同样的问题。,,,,,,,,,,,,,,,,,,,

,,,,正是介于这一点,所以建议采用第二种方法。否则,你很可能会得到一些莫名的结果。(它曾经害得我好惨!),,,,,,,,,,,,,,,,,,,

,,,,"稍微将这项技术变形,就是""Interface""工作表的核心内容了。",,,,,,,,,,,,,,,,,,,

,,,,,,,,,,,,,,,,,,,,,,,,

,,,,,,,,,,,,,,,,,,,,,,,,

,,,,原始单元格:,,,,,,,,,item2,,,,,,输入数据,,,,(空值忽略)

,,,,,,,,,,,,,,,,,,,,,,,,

,,,,清除记忆标识单元格:,,,,,,,,,0,,,,,,=1or0,,,,1=清除历史记录

,,,,,,,,,,,,,,,,,,,,,,,,

,,,,触发标志单元格:,,,,,,,,,5,,,,,,"=IF(N51=1,0,IF(AND(N49<>0,N53<10),N53+1,N53))",,,,

,,,,,,,,,,,,,,,,,,,,,,,,

,,,,具有记忆功能的单元格:,,,,,,,,,item1,,,,,,"=IF($N$51=1,0,IF(AND($N$53=ROW()-ROW($N$54),N55=0,$N$49<>0),$N$49,N55))",,,,

,,,,,,,,,,,,,item2,,,,,,"=IF($N$51=1,0,IF(AND($N$53=ROW()-ROW($N$54),N56=0,$N$49<>0),$N$49,N56))",,,,

,,,,,,,,,,,,,item2,,,,,,"=IF($N$51=1,0,IF(AND($N$53=ROW()-ROW($N$54),N57=0,$N$49<>0),$N$49,N57))",,,,

,,,,,,,,,,,,,item2,,,,,,"=IF($N$51=1,0,IF(AND($N$53=ROW()-ROW($N$54),N58=0,$N$49<>0),$N$49,N58))",,,,

,,,,,,,,,,,,,item2,,,,,,"=IF($N$51=1,0,IF(AND($N$53=ROW()-ROW($N$54),N59=0,$N$49<>0),$N$49,N59))",,,,

,,,,,,,,,,,,,0,,,,,,"=IF($N$51=1,0,IF(AND($N$53=ROW()-ROW($N$54),N60=0,$N$49<>0),$N$49,N60))",,,,

,,,,,,,,,,,,,0,,,,,,"=IF($N$51=1,0,IF(AND($N$53=ROW()-ROW($N$54),N61=0,$N$49<>0),$N$49,N61))",,,,

,,,,,,,,,,,,,0,,,,,,"=IF($N$51=1,0,IF(AND($N$53=ROW()-ROW($N$54),N62=0,$N$49<>0),$N$49,N62))",,,,

,,,,,,,,,,,,,0,,,,,,"=IF($N$51=1,0,IF(AND($N$53=ROW()-ROW($N$54),N63=0,$N$49<>0),$N$49,N63))",,,,

,,,,,,,,,,,,,0,,,,,,"=IF($N$51=1,0,IF(AND($N$53=ROW()-ROW($N$54),N64=0,$N$49<>0),$N$49,N64))",,,,

,,,,,,,,,,,,,,,,,,,,,,,,

,,,,但是有个问题,当工作表再次重算时,“触发标志单元格”就会自动+1,从而导致即使“原始单元格”内容没有改变,,,,,,,,,,,,,,,,,,,,

,,,,“记忆单元格”也会自动增加项目。,,,,,,,,,,,,,,,,,,,

,,,,"就像上面的多个""item2""就是重算后自动生成的。(不信按F9或更改任意单元格内容试试)",,,,,,,,,,,,,,,,,,,

,,,,这样就需要对“触发标志单元格”进行调整,改变其条件。,,,,,,,,,,,,,,,,,,,

,,,,我想到的方法就是用“原始单元格”与最后输入的内容作对比,如果一致,则不将本身+1。,,,,,,,,,,,,,,,,,,,

,,,,而这种技术就使得用户不能够连续输入两次同样的数据。如果非要连续输入两次同样的内容,先将”原始单元格“内容清空再添加。,,,,,,,,,,,,,,,,,,,

,,,,使用这种技术需要再添加两个中介单元格,,,,,,,,,,,,,,,,,,,

,,,,,,,,,,,,,,,,,,,,,,,,

,,,,,,,,,,,,,,,,,,,,,,,,

,,,,原始单元格:,,,,,,,,,item2,,,,,,输入数据,,,,(空值忽略)

,,,,,,,,,,,,,,,,,,,,,,,,

,,,,清除记忆标识单元格:,,,,,,,,,0,,,,,,=1or0,,,,1=清除历史记录

,,,,,,,,,,,,,,,,,,,,,,,,

,,,,触发标志单元格:,,,,,,,,,3,,,,,,"=IF(N79=1,0,IF(AND(N77<>0,N81<10,N77<>E96),N81+1,N81))",,,,

,,,,,,,,,,,,,,,,,,,,,,,,

,,,,具有记忆功能的单元格:,,,,,,,,,item1,,,,,,"=IF($N$79=1,0,IF(AND($N$81=ROW()-ROW($N$82),N83=0,$N$77<>0),$N$77,N83))",,,,

,,,,,,,,,,,,,item2,,,,,,"=IF($N$79=1,0,IF(AND($N$81=ROW()-ROW($N$82),N84=0,$N$77<>0),$N$77,N84))",,,,

,,,,,,,,,,,,,item2,,,,,,"=IF($N$79=1,0,IF(AND($N$81=ROW()-ROW($N$82),N85=0,$N$77<>0),$N$77,N85))",,,,

,,,,,,,,,,,,,0,,,,,,"=IF($N$79=1,0,IF(AND($N$81=ROW()-ROW($N$82),N86=0,$N$77<>0),$N$77,N86))",,,,

,,,,,,,,,,,,,0,,,,,,"=IF($N$79=1,0,IF(AND($N$81=ROW()-ROW($N$82),N87=0,$N$77<>0),$N$77,N87))",,,,

,,,,,,,,,,,,,0,,,,,,"=IF($N$79=1,0,IF(AND($N$81=ROW()-ROW($N$82),N88=0,$N$77<>0),$N$77,N88))",,,,

,,,,,,,,,,,,,0,,,,,,"=IF($N$79=1,0,IF(AND($N$81=ROW()-ROW($N$82),N89=0,$N$77<>0),$N$77,N89))",,,,

,,,,,,,,,,,,,0,,,,,,"=IF($N$79=1,0,IF(AND($N$81=ROW()-ROW($N$82),N90=0,$N$77<>0),$N$77,N90))",,,,

,,,,,,,,,,,,,0,,,,,,"=IF($N$79=1,0,IF(AND($N$81=ROW()-ROW($N$82),N91=0,$N$77<>0),$N$77,N91))",,,,

,,,,,,,,,,,,,0,,,,,,"=IF($N$79=1,0,IF(AND($N$81=ROW()-ROW($N$82),N

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论