Excel情报局
职场联盟Excel
我们下面来通过几个函数的嵌套说明一下解题思路。
首先我们输入COLUMN函数:
=COLUMN(A:C)-1
COLUMN函数是用来获取所选单元格或区域列号的函数。
COLUMN(A:C)生成一维横向数组{1,2,3},在此基础上减去1,得到新的数组{0,1,2}。
接着向外面嵌套OFFSET函数:
=OFFSET(A2,,COLUMN(A:C)-1,4)
OFFSET函数用于生成数据区域的引用。
OFFSET(基点,偏移的行数,偏移的列数,[新引用的行数],[新引用的列数])
使用OFFSET函数生成以A2为基点,上下不偏移,依次向右偏移0~2列,高度为4个单元格,宽度省略默认为1个单元格的横向三维引用,结果虽然在例子中显示的错误值,但是实质生成了以下3个单元格区域引用构成的数组:
A2:A5、B2:B5、C2:C5。
继续向外嵌套SUBTOTAL函数:
=SUBTOTAL(4,OFFSET(A2,,COLUMN(A:C)-1,4))
SUBTOTAL函数仅对可见单元格汇总计算,计算在筛选状态下的求和。
SUBTOTAL(汇总方式,汇总区域)
SUBTOTAL函数第一参数用于指定汇总方式,可以是1~11的数值,可以实现平均值、求和、最大、最小、计数等多种计算方式。如果第一参数使用101~111,还可以忽略手工隐藏行的数据。
使用SUBTOTAL函数分别统计OFFSET函数返回的各引用区域的最大值,返回各列最大值组成的数组:{6,11,4}。
最后嵌套SUM函数:
=SUM(SUBTOTAL(4,OFFSET(A2,,COLUMN(A:C)-1,4)))
最后使用SUM函数汇总各列的最大值,得到各列最大值之和“21”。
〖往期知识点精彩超链接点击阅读〗