除了改进编辑公式的界面外,我们还在Excel 12的内置函数库上花了些功夫。多年以来,用户挖掘出 许多新方法,整合和发挥Excel函数的功能,创建各式各样的公式。虽然如此,用户还是期望拥有更多新的函数。此版本中,我们瞄准了三个方面来扩充Excel内置函数库,它们是——分析工具库,SQL Server Analysis Services和用户提出的最具代表性的需求。
首先,我们把分析工具库函数整合到Excel内置函数库中,使其成为“一等公民”,并取消了原来的加载宏。这些函数对用户十分有价值。从Excel 12起,它们就可以和其它Excel内置函数一样 方便地使用。这意味着,用户不需要加载宏,可以直接使用这些函数。它们会出现在Formula AutoComplete功能提供的下拉列表中(见前面的帖子),且和其他内置函数一样也有相应的功能提示。
第二,我们还新增了一套函数,允许用户从SQL Server Analysis Services中获取数据。考虑到一些 读者并不熟悉SQL Server Analysis Services,我先简单地概括一下。除了相关数据库产品外,SQL Server 还包括一个称为Analysis Services 的功能,提供商业智能和数据挖掘能力(有兴趣的读者可以 在这里找到更多信息)。在Excel 12 中,这些新增的函数可从SQL Server Analysis Services 直接获 取数据,存放到单元格里。由于涉及面较广,接下来的几周里,我会再写些帖子介绍这些函数。
第三,我们新增了5个在用户提出的需求中具有代表性的函数,作为Excel的内置函数:
IFERROR
AVERAGEIF
AVERAGEIFS
SUMIFS
COUNTIFS
下面是这5个函数的介绍:
我们收到关于函数的最具普遍性的需求,是用户要求简化错误值的处理过程。例如,想要截获 VLOOKUP计算结果中的错误值,并将其替换为用户自定义的错误提示,就不得不采用像IF和ISERROR这样 的函数组合。
如您所见,这里两次运用了VLOOKUP公式。这样做会有几个问题。首先,维护公式比较麻烦,如果你 想改动公式,就不得不修改两处。其次,它影响运算速度,公式往往会被多运算一遍。IFERROR函数解决 了这些问题,它可以让用户方便地截获并处理公式算出的错误值。下例,我们采用IFERROR函数处理上述 的情形:
=IFERROR(VLOOKUP(“Bob”, SalesTable, 3, false), “Value not found”)
与之前的公式相比较,该公式书写少了,维护少了,运算速度也更快了。
另一个用户普遍关心的需求是,想要一个条件平均函数作为SUMIF和COUNTIF的补充。相应地,我们新 增了AVERAGEIF函数,对在一定范围内满足某条件的数据进行求平均值。例如,在B2:B5单元格区域中按 条件求平均值,条件是A列与之相对应的单元格的值大于250000。