网站关键词代码怎么做,wordpress 代码位置,衡阳企业网站建设价格,抖音小程序开发一个多少钱我们#xff0c;让Excel变简单今天我们把主题聚焦在一类特殊函数造成的问题上——volatile function。这一类函数有人把他们翻译成“易变函数”#xff0c;其实挺贴切的。本系列其他文章#xff1a;Excel表格为什么那么慢已经应该如何解决(一)概述Excel表格为什么那么慢已经… 我们让Excel变简单今天我们把主题聚焦在一类特殊函数造成的问题上——volatile function。这一类函数有人把他们翻译成“易变函数”其实挺贴切的。本系列其他文章Excel表格为什么那么慢已经应该如何解决(一)概述Excel表格为什么那么慢已经应该如何解决(二)常见求和公式效率分析Excel表格为什么那么慢已经应该如何解决(三)查找公式的效率分析什么是易变函数一个Excel文件中很可能会包含大量的公式在一般的情况下Excel可以保持一个过得去的性能(当然在有些情况下你必须仔细设计这些公式我们在“Excel表格为什么那么慢已经应该如何解决”系列前面的文章中介绍过一些场景)。Excel之所以可以做到这一点是因为对于大部分函数Excel并不会在每一次表格数据发生变化的时候都去计算一遍只有当该公式引用(直接或间接)的单元格发生变化的时候Excel采取计算该公式。采用这个方法Excel就可以保证每次只计算很小比例的公式降低了计算量。但是如果你的公式中使用了“易变函数”每次Excel有变化时(比如输入数据)这些公式都会被重新计算这样就会增加Excel的计算时间。如果有很多这样的公式Excel的使用体验就会很差。例如Rand和Randbetween是两个易变函数。在下面的数据中B3:E10000使用这两个函数填充同时在另一个表的B5:B33使用Sumif函数计算条件求和引用的区域就是上图的B:E列正常情况下如果我们修改别的单元格的值按说不会引起公式的计算。但是下面的动图告诉我们每次我们修改其他单元格就会导致重算注意右下角的计算显示。每次在K列输入一个值都要等较长时间才能继续下一个操作。表格这样的话基本上不能忍受了。有哪些易变函数在当前普遍使用的Excel各个版本中易变函数有下面这些NOWTODAYRANDBETWEENRANDOFFSETINDIRECTINFO(依赖于参数)CELL(依赖于参数)SUMIF(依赖于参数)这个清单不是很长。但是有一些经常使用的函数(例如前面6个函数尤其是前面四个函数)。INFO和CELL不常用而且依赖于参数。我们会在以后适当的时候为大家介绍这两个函数的用法。这里比较奇怪的是SUMIF函数。在我们的印象里这个函数不应该是易变函数。但是在某些情况下它会变成易变函数我们在本文后面会为大家介绍。另外这个清单还得添加一个成员条件格式出乎所有人的意料。不管你在条件格式里使用什么样的函数条件格式都可以看作是易变函数。也就是说条件格式里的函数总是会重新计算。如何知道表格中有易变函数如果是你自己做的表格你根据上面的清单对比自然就知道有没有易变函数了。如果你忘了或者是别人做的表格这里有一个简单的方法可以判断是否可能有易变函数打开Excel文件点击保存按钮。然后按F9然后马上点击关闭按钮如果Excel提示你需要保存那么很可能这个文件里有易变函数。导致易变函数重新计算的操作并不是所有操作都会导致易变函数重新计算。下面是一些会引起易变函数及相关单元格重新计算的操作输入数据按F9或者在公式选项卡中点击“开始计算”删除或插入行或列保存筛选双击行(或列)分隔线调整行高列宽定义修改或删除名称重命名工作表删除或移动工作表(添加工作表不会引起易变函数重算)隐藏或取消隐藏行(隐藏列不会导致易变函数重算)如何减少易变函数对计算速度的影响需要强调的是易变函数本身的计算速度其实是很快的(大部分情况下)它们对速度的影响主要是会导致跟它们相关的所有单元格都会重新计算影响的是每次操作Excel的响应速度。很多人会采用一个显而易见的操作将计算选项从“自动”改为“手动”这样做可以立竿见影的改进Excel的响应时间。但是我必须要强调的是这是一个我绝对不会推荐的做法。实际上我强烈建议一定要把计算选项设为“自动”之所以这么建议是因为两个原因首先你很可能在Excel中将某些报表作为中间结果这样在你的某些数据修改了的情况下由于是手动计算模式这些中间报表并没有更新从而导致你后续的其他分析错误。其次你很可能要将这个文件分享给其他人而其他人并不知道这个计算选项是手动的这样她就会得到错误的表格数据。对于大部分的易变函数来说都有减少负面影响的方法。不过需要针对不同的函数采用不同的方法篇幅过长我们放到后续的文章中介绍。今天我们只介绍一下SUMIF的问题。特殊的易变函数SUMIF的问题一般情况下SUMIF不是一个易变函数只有它引用单元格发生变化时才会重新计算。但是下面的SUMIF公式是一个易变函数SUMIF(Sheet1!$B$3:$D$10000,Index!$H$2,Sheet1!$E$3:$E$10000)仔细观察就会发现这个公式跟我们通常所用的公式是不一样的它引用了两个区域但是这两个区域的大小是不一样的一个是从B到D共3列一个是只有E一列。当SUMIF中各个参数区域引用的单元格个数不一致时这个公式就会变成易变函数。解决方法其实也很简单将这个公式改写成各区域大小一致就可以了SUMIF(Sheet1!$B$3:$D$10000,Index!$H$2,Sheet1!$E$3:$G$10000)好了今天就分享到这里了关注本公众号点击底部菜单“联系客服”与客服取得联系索取“计算性能分析—volatile”案例文件END关注ExcelEasy关于Excel的一切问题你都可以在这里找到答案