Excel精英培训网

 找回密码
 注册
数据透视表40+个常用小技巧,让你一次学会!
查看: 5089|回复: 5

[已解决]易失性函数

[复制链接]
发表于 2010-8-23 00:27 | 显示全部楼层 |阅读模式
今天有人我问易失性函数,自己不知道怎么回事,请解答一下,谢谢
最佳答案
2010-8-23 08:02
Excel中的函数一共有两种,易失性和非易失性。

易失性函数最最简单的理解就是不论表格中的数据或者是公式中的参数、引用的数据区域是否有更新动作,易失性函数都会进行重算。

最简单的试验方法是,新建一个Excel文档,在任一单元格中输入“=now()”,保存并关闭该文档,然后重新打开文档再次关闭,这时可以看到提示是否保存该文档。在这个整个过程中,我们没有对工作表进行任何更改,为什么还会提示保存呢?这就是易失性函数引起的,因为每一个动作(打开工作簿,单击选中某一单元格等在Excel中的任何动作)都会引起易失性函数的重算。

而非易失性函数是只有函数的参数或者是引用的区域、数据有变更时才会进行重算。

虽然易失性和非易失性函数在日常看来,对数据的处理都不会有什么影响,但当一个工作表中的数据有成千上万行时,如果某一列中使用了易失性函数则会出现严重的效率问题。注意Excel状态栏的最左侧,似乎总是能看到“正在计算单元格”,在工作表中的每一个动作都会引起易失性函数所在的单元格的重算,在使用易失性函数众多的情况下,效率影响是可想而知的了。

发表于 2010-8-23 00:57 | 显示全部楼层
回复

使用道具 举报

发表于 2010-8-23 08:02 | 显示全部楼层    本楼为最佳答案   

Excel中的函数一共有两种,易失性和非易失性。

易失性函数最最简单的理解就是不论表格中的数据或者是公式中的参数、引用的数据区域是否有更新动作,易失性函数都会进行重算。

最简单的试验方法是,新建一个Excel文档,在任一单元格中输入“=now()”,保存并关闭该文档,然后重新打开文档再次关闭,这时可以看到提示是否保存该文档。在这个整个过程中,我们没有对工作表进行任何更改,为什么还会提示保存呢?这就是易失性函数引起的,因为每一个动作(打开工作簿,单击选中某一单元格等在Excel中的任何动作)都会引起易失性函数的重算。

而非易失性函数是只有函数的参数或者是引用的区域、数据有变更时才会进行重算。

虽然易失性和非易失性函数在日常看来,对数据的处理都不会有什么影响,但当一个工作表中的数据有成千上万行时,如果某一列中使用了易失性函数则会出现严重的效率问题。注意Excel状态栏的最左侧,似乎总是能看到“正在计算单元格”,在工作表中的每一个动作都会引起易失性函数所在的单元格的重算,在使用易失性函数众多的情况下,效率影响是可想而知的了。

回复

使用道具 举报

发表于 2010-8-23 08:02 | 显示全部楼层

“易失函数”又分“显性”易失函数和“隐性”易失函数

now(),rand(),today(),rand()是“显性”易失函数

offset(),indirect(),cell(),info()则是“隐性”易失函数【但cell("filename")不是易失函数】

有些函数:rows(),columns(),areas(),weeknum(),在微软文件中将其列为易失函数,

[此贴子已经被作者于2010-8-23 8:05:47编辑过]
回复

使用道具 举报

发表于 2010-8-23 16:20 | 显示全部楼层

good good study day day up

回复

使用道具 举报

发表于 2010-8-24 08:58 | 显示全部楼层

学习
回复

使用道具 举报

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

本版积分规则

小黑屋|手机版|Archiver|Excel精英培训 ( 豫ICP备11015029号 )

GMT+8, 2024-5-20 06:27 , Processed in 0.369136 second(s), 7 queries , Gzip On, Yac On.

Powered by Discuz! X3.4

Copyright © 2001-2020, Tencent Cloud.

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