引言:本文学习整理自dailydoseofexcel.com,很有意思的一件事。
如何在一列列表中创建包含筛选项目的数组?...如果数组大小合适,如本例所示,OFFSET函数会为原始单元格区域(rng)中的每个单元格返回一个单独的单元格区域。因此,如果使用SUBTOTAL函数操作该数组,则每个单元格区域都会单独计算。...使用3作为SUBTOTAL函数的第一个参数计算可见区域内的项目数。由于每个区域内只有一项,因此答案只能是0或1,如下图1所示。
图1
这样,此公式可以用作数组,指示列表中已过筛选和未筛选的行。...如果要返回一列列表中的项目数组,使用:
=IF(SUBTOTAL(3,OFFSET(rng,ROW(rng)-MIN(ROW(rng)),,1)),rng,"")
又如下图2和图3所示。...图2
图3
在单元格B12中的公式:
=SUM((range1="完美Excel")*(SUBTOTAL(3,OFFSET(range2,ROW(range2)-MIN(ROW(range2)),,1