当前位置: 欣欣网 > 办公

筛选状态下的计算,还不会请举手

2024-07-17办公

如下图,是某食堂的采购记录,需要计算筛选后的商品总价。

G1单元格输入公式:

=SUMPRODUCT(SUBTOTAL(3,OFFSET(A1,ROW(1:9),0))*C2:C10*D2:D10)

接下来咱们简单说说公式的计算过程:

要计算筛选后的内容,首先需要判断单元格是不是处于显示状态。

先来看 OFFSET的基本用法:

=OFFSET(基点,偏移的行数,偏移的列数,[新引用的行数],[新引用的列数])

公式中的OFFSET ( A1,RO W(1:9),0 )部分 ,OFFSET函数以A1单元格为基点,向下偏移的行数是ROW(1:9)的计算结果,表示依次向下偏移1~9行,最终得到9个引用区域,每个单元格区域由一个单元格构成。

这里涉及到 多维引用的知识点,小伙伴们如果犯迷糊,可以先收藏一下。

接下来使用SUBTOTAL函数对OFFSET函数得到的多个引用区域进行处理,第一参数使用3,表示使用COUNTA函数的计算规则,即依次统计A2~A9这九个单元格区域中的不为空的单元格个数。

如果单元格处于显示状态,则对这个单元格的统计结果为1,否则统计结果为0。

这部分公式得到类似下面的效果:

{0;0;0;0;0;1;1;1;1}

再用SUBTOTAL函数的结果乘以C列的单价和D列的数量,如果单元格处于显示状态,则相当于1*数量*单价,否则相当于0*数量*单价。

最后使用SUMPRODUCT函数对乘积进行求和,得到筛选后的商品总价。

好了,今天的内容就是这些吧,祝各位一天好心情。

图文制作:祝洪忠