返回列表 发帖

易失性函数介绍

易失函数

易失函数包括七个:NOW、RAND、TODAY、OFFSET、INDIRECT、CELL、INFO。

易失函数返回的结果极不稳定。包含易失函数的单元格公式,除了在插删工作表行列后需要重算外,在下面两种情况下也会引发重算:

1、任意单元格发生变更都要重算公式

为了厘清公式之间的关系,Excel为打开的工作簿中所有的公式建立关系链。比如单元格A1的公式引用了单元格B1,单元格B1的公式又引用了单元格C1,那么A1、B1、C1就连成了一条关系链。按从属关系,A1是B1的从属单元格,B1是C1的从属单元格。关系链上某个单元格发生改变,将按从属关系逐层重算一次,没有从属关系的公式不会重算。

但易失函数比较特殊,只要有一个单元格被更改,所有打开的工作簿里含易失函数的单元格公式都要重算,但不含易失函数的公式不会重算,也不会导致其关系链上的非易失函数公式重算。

2、打开工作簿时重算公式

打开工作簿的时候,含有易失函数的单元格公式都要重算一次。因此打开的工作簿如果单元格公式中使用了易失函数,即使不做任何更改就关闭该工作簿,Excel也会询问“是否保存更改”。

另外,打开工作簿的时候,如果工作簿中使用了外部链接而该链接源没有被打开,Excel 2003将提示“此工作簿包含到其他数据源的链接”,并让你选择“更新”还是“不更新”。如果工作簿中含有易失函数的公式使用了外部链接,链接源没有打开且在上述提示中选择了“不更新”,这些公式将因无法重算而返回错误值。

Excel 2007对此进行了改善,打开工作簿时如果不能更新外部链接,只会出现“已禁止自动更新链接”的安全警告,而不会使公式返回错误值。

二、函数的半易失性

半易失函数在打开工作簿时需要重算,因此打开的工作簿如果单元格公式中使用了半易失函数,即使不做任何更改就关闭,Excel也会询问“是否保存更改”。

在以下情况,INDEX、SUMIF、LOOKUP等函数的引用区域具有不确定性,从而使这些函数具有半易失性。

1、INDEX函数在使用A1:INDEX()、INDEX():INDEX()结构时具有半易失性。例如:

=SUM(A1:INDEX(A:A,3))

2、SUMIF函数当第三个参数简写时具有半易失性。例如:

=SUMIF(A:A,"A",B1)

3、LOOKUP函数在第三个参数简写时具有半易失性。例如:

=LOOKUP("B",A1:C1,A2)

半易失函数只在打开工作簿时出现易失性,修改公式关系链以外的单元格时不会重算。

收藏 分享
分享到: QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友
jinwa/金蛙

返回列表