2007基础:对编辑公式功能的改进Part 3_新增函数
首先,我们把分析工具库函数整合到Excel内置函数库中,使其成为“一等公民”,并取消了原来的加载宏。这些函数对用户十分有价值。从Excel 12起,它们就可以和其它Excel内置函数一样方便地使用。这意味着,用户不需要加载宏,可以直接使用这些函数。它们会出现在Formula AutoComplete功能提供的下拉列表中(见前面的帖子),且和其他内置函数一样也有相应的功能提示。
第三,我们新增了5个在用户提出的需求中具有代表性的函数,作为Excel的内置函数:
IFERROR
AVERAGEIF
AVERAGEIFS
SUMIFS
COUNTIFS
下面是这5个函数的介绍:
我们收到关于函数的最具普遍性的需求,是用户要求简化错误值的处理过程。例如,想要截获VLOOKUP计算结果中的错误值,并将其替换为用户自定义的错误提示,就不得不采用像IF和ISERROR这样的函数组合。
=IF(ISERROR(VLOOKUP("Dave", SalesTable, 3, FALSE)), " Value found", VLOOKUP("Dave", SalesTable, 3, FALSE))
=IFERROR(VLOOKUP(“Bob”, SalesTable, 3, false), “Value not found”)
与之前的公式相比较,该公式书写少了,维护少了,运算速度也更快了。
另一个用户普遍关心的需求是,想要一个条件平均函数作为SUMIF和COUNTIF的补充。相应地,我们新增了AVERAGEIF函数,对在一定范围内满足某条件的数据进行求平均值。例如,在B2:B5单元格区域中按条件求平均值,条件是A列与之相对应的单元格的值大于250000。
=AVERAGEIF(A2:A5, “>250000”, B2:B5)
SUMIFS(sum_range, criteria_range1, criteria1 [,criteria_range2, criteria2…])
COUNTIFS(criteria_range1, criteria1 [,criteria_range2, criteria2…])
AVERAGEIFS(average_range, criteria_range1, criteria1 [,criteria_range2, criteria2…])
第三个非常有代表性的问题是,“如何对一个范围的数据进行多条件的汇总/计数/平均”。 举例,如图所示,怎样对满足Fruit = “Apple” 且 Number= “One”的Value列的数值求和。
在Excel2003中,有许多方法可以做到这点——比如,我们可用数组公式的方式输入下面的公式:
=SUM(IF(C2:C17="Apple", IF(D2:D17="One", B2:B17, 0), 0))
但是,对许多不了解数组公式的用户来说,正确地创建这个公式并不容易。而且,数组公式比较难理解。
Excel 12 中我们仅用SUMIFS一个函数就可方便地做到:
=SUMIFS(B3:B18, C3:C18,"=Apple", D3:D18, "=One")
这个公式书写起来简单,理解起来也容易,而且不必以数组公式的方式输入。
COUNTIFS 和 AVERAGEIFS 也是Excel 12 的新函数,而且也有着一样的好处。
以上是Excel 12所有的新函数。(当然,更多的内容在之后的Analysis Server函数中还会涉及)下期预告: 编辑公式 Part 4:定义名称。