然而,OFFSET函数的第二个参数是数组时,例如:
OFFSET(rng,ROW(rng)-MIN(ROW(rng)),,1)
会返回一个单元格区域数组。...如果数组大小合适,如本例所示,OFFSET函数会为原始单元格区域(rng)中的每个单元格返回一个单独的单元格区域。因此,如果使用SUBTOTAL函数操作该数组,则每个单元格区域都会单独计算。...这样,公式:
=SUBTOTAL(3,OFFSET(rng,ROW(rng)-MIN(ROW(rng)),,1))
对于每个可见的单元格计算为1,如果单元格不可见则计算为0。...使用3作为SUBTOTAL函数的第一个参数计算可见区域内的项目数。由于每个区域内只有一项,因此答案只能是0或1,如下图1所示。
图1
这样,此公式可以用作数组,指示列表中已过筛选和未筛选的行。...图2
图3
在单元格B12中的公式:
=SUM((range1="完美Excel")*(SUBTOTAL(3,OFFSET(range2,ROW(range2)-MIN(ROW(range2)),,1