EXCELexcel 使用excel的一些小技巧教程

【SUBTOTAL函数】和【OFFSET函数】动态求最值

2019-06-07  本文已影响0人  b04386f0eb2a

OFFSET函数的偏移量出来常量外,还可以是公式生成的数组,从而形成三维引用,最终实现动态统计需求。

我们仍以上篇中的例子为例来演示具体过程。

在单元格B12中输入

“=MAX(SUBTOTAL(1,OFFSET($B$1,ROW($1:$6),0,1,6)))”

思路:

要求出最大的平均销售量,首先要求出平均值的最大值。因此首先要用SUBTOTAL函数取得所有产品的平均销售量,再用MAX函数取得结果

OFFSET函数的偏移量由ROW函数生成的数组{1;2;3;4;5;6}决定

SUBTOTAL函数对OFFSET函数返回的三维引用进行分类计算,分别求出每一种产品的平均销售量

最后由MAX函数取得最大值

这里SUBTOTAL函数的语法结构是:

SUBTOTAL(function_number, value1,value1...)

其中function_number包含11个数字,1表示求平均值

看到这里可能有的朋友会问了,为什么不能使用AVERAGE函数,将公式写成“=MAX(AVERAGE(OFFSET($B$1,ROW($1:$6),0,1,6)))”?

原因就在于:这里OFFSET函数产生了多维引用。 SUBTOTAL函数支持函数返回的三维引用。故能返回正确结果;AVERAGE函数不支持函数返回的三维引用,故不能使用。

-END-

欢迎关注【Excel应用之家】专栏,了解更多的Excel实际应用技能,尽在Excel应用之家!

版权声明:本文归Excel应用之家专栏(微信公众号Excel应用之家)原创撰写,未经允许不得转载。欢迎关注专栏/公众号。

上一篇下一篇

猜你喜欢

热点阅读