先看看公式中的这部分:
SUMIF(B3:B12,B3:B12,OFFSET(D3,,{0,1,2}))
有效地执行了一系列三个不同的SUMIF计算,使用以下部分生成了参数sum_ranges的三个值:...range的大小和位移,因此Excel扩展了OFFSET函数生成的范围以满足该要求。...因此,虽然在正常情况下,公式中的构造:
OFFSET(D3,,{0,1,2}
会解析为由单个单元格引用组成的数组:
{D3,E3,F3}
但是,在本例中,Excel会接受每个引用并将其扩展为与指定单元格区域...:F12})
而不是通常的:
SUMIF(B3:B12,B3:B12,{D3,E3,F3})
这样,将返回一个10行3列的数组,其每列中的元素等于下面三个公式单独计算的结果:
SUMIF(B3:B12,...注意到,公式中并没有指定区域B3:B12,而是使用了缩小的单元格区域B3:B4,这与前面所讲的OFFSET函数的工作原理相同,Excel将单元格区域B3:B4自动扩展为所需的B3:B12。